; COMMAND-LINE: --full-saturate-quant ; EXPECT: unsat (set-logic AUFLIA) (set-info :source | Burns mutual exclusion protocol. This is a benchmark of the haRVey theorem prover. It was translated to SMT-LIB by Leonardo de Moura |) (set-info :smt-lib-version 2.0) (set-info :category "industrial") (set-info :status unsat) (declare-fun s_0 (Int) Bool) (declare-fun s_1 (Int) Bool) (declare-fun s_2 (Int) Bool) (declare-fun s_3 (Int) Bool) (declare-fun s_4 (Int) Bool) (declare-fun s_5 (Int) Bool) (declare-fun s (Int Int) Bool) (declare-fun flag (Int) Bool) (declare-fun p () Int) (declare-fun q () Int) (assert (not (=> (and (forall ((?p Int)) (=> (not (flag ?p)) (or (s_0 ?p) (s_1 ?p) (s_2 ?p)))) (forall ((?p Int)) (forall ((?q Int)) (=> (s_2 ?p) (not (s ?p ?q))))) (forall ((?p Int)) (forall ((?q Int)) (=> (and (< ?q ?p) (flag ?q) (or (s_5 ?p) (s_4 ?p) (and (s_3 ?p) (s ?p ?q)))) (and (not (s_5 ?q)) (not (and (s_4 ?q) (s ?q ?p))))))) (forall ((?p Int)) (=> (s_0 ?p) (not (or (s_1 ?p) (s_2 ?p) (s_3 ?p) (s_4 ?p) (s_5 ?p))))) (forall ((?p Int)) (=> (s_1 ?p) (not (or (s_2 ?p) (s_3 ?p) (s_4 ?p) (s_5 ?p))))) (forall ((?p Int)) (=> (s_2 ?p) (not (or (s_3 ?p) (s_4 ?p) (s_5 ?p))))) (forall ((?p Int)) (=> (s_3 ?p) (not (or (s_4 ?p) (s_5 ?p))))) (forall ((?p Int)) (=> (s_4 ?p) (not (s_5 ?p))))) (forall ((?p Int)) (forall ((?q Int)) (=> (not (= ?p ?q)) (or (not (s_5 ?p)) (not (s_5 ?q))))))))) (check-sat) (exit)