; COMMAND-LINE: --finite-model-find ; EXPECT: sat (set-option :incremental false) (set-info :status sat) (set-logic AUFLIA) (declare-sort S1 0) (declare-sort S2 0) (declare-sort S3 0) (declare-sort S4 0) (declare-sort S5 0) (declare-sort S6 0) (declare-sort S7 0) (declare-sort S8 0) (declare-sort S9 0) (declare-sort S10 0) (declare-sort S11 0) (declare-fun f1 () S1) (declare-fun f2 () S1) (declare-fun f3 (S3 S2) S1) (declare-fun f4 (S4 S2) S3) (declare-fun f5 () S4) (declare-fun f6 (S5 S5) S1) (declare-fun f7 () S5) (declare-fun f8 (S6 S5) S5) (declare-fun f9 (S7) S6) (declare-fun f10 (S8 S4) S7) (declare-fun f11 (S9 S10) S8) (declare-fun f12 (S11 S4) S9) (declare-fun f13 () S11) (declare-fun f14 () S4) (declare-fun f15 () S10) (declare-fun f16 () S4) (declare-fun f17 (S10) S4) (declare-fun f18 (S5 S5) S1) (assert (not (= f1 f2))) (assert (forall ((?v0 S2) (?v1 S2)) (= (= (f3 (f4 f5 ?v0) ?v1) f1) (= ?v0 ?v1)) )) (assert (not (= (f6 f7 (f8 (f9 (f10 (f11 (f12 f13 f14) f15) f16)) f7)) f1))) (assert (= (f6 f7 (f8 (f9 (f10 (f11 (f12 f13 f5) f15) (f17 f15))) f7)) f1)) (assert (= (f18 f7 (f8 (f9 (f10 (f11 (f12 f13 f14) f15) f16)) f7)) f1)) (assert (forall ((?v0 S5)) (= (f6 ?v0 f7) f1) )) (assert (forall ((?v0 S4) (?v1 S10) (?v2 S4) (?v3 S4) (?v4 S10) (?v5 S4)) (= (= (f10 (f11 (f12 f13 ?v0) ?v1) ?v2) (f10 (f11 (f12 f13 ?v3) ?v4) ?v5)) (and (= ?v0 ?v3) (and (= ?v1 ?v4) (= ?v2 ?v5)))) )) (assert (forall ((?v0 S5) (?v1 S5)) (=> (= (f6 ?v0 ?v1) f1) (= (f18 ?v0 ?v1) f1)) )) (assert (forall ((?v0 S5) (?v1 S5) (?v2 S5)) (=> (= (f6 ?v0 ?v1) f1) (=> (= (f6 ?v2 ?v0) f1) (= (f6 ?v2 ?v1) f1))) )) (assert (forall ((?v0 S5) (?v1 S7) (?v2 S5)) (let ((_let_0 (f9 ?v1))) (=> (= (f6 ?v0 (f8 _let_0 f7)) f1) (=> (= (f6 ?v0 ?v2) f1) (= (f6 ?v0 (f8 _let_0 ?v2)) f1)))) )) (assert (forall ((?v0 S5) (?v1 S7) (?v2 S5)) (let ((_let_0 (f9 ?v1))) (=> (= (f6 ?v0 (f8 _let_0 ?v2)) f1) (and (= (f6 ?v0 (f8 _let_0 f7)) f1) (= (f6 ?v0 ?v2) f1)))) )) (assert (forall ((?v0 S5) (?v1 S4) (?v2 S10) (?v3 S4) (?v4 S4)) (let ((_let_0 (f11 (f12 f13 ?v1) ?v2))) (=> (= (f6 ?v0 (f8 (f9 (f10 _let_0 ?v3)) f7)) f1) (=> (forall ((?v5 S2) (?v6 S2)) (=> (= (f3 (f4 ?v3 ?v5) ?v6) f1) (= (f3 (f4 ?v4 ?v5) ?v6) f1)) ) (= (f6 ?v0 (f8 (f9 (f10 _let_0 ?v4)) f7)) f1)))) )) (assert (forall ((?v0 S5) (?v1 S4) (?v2 S10) (?v3 S4) (?v4 S4)) (=> (= (f6 ?v0 (f8 (f9 (f10 (f11 (f12 f13 ?v1) ?v2) ?v3)) f7)) f1) (=> (forall ((?v5 S2) (?v6 S2)) (=> (= (f3 (f4 ?v4 ?v5) ?v6) f1) (= (f3 (f4 ?v1 ?v5) ?v6) f1)) ) (= (f6 ?v0 (f8 (f9 (f10 (f11 (f12 f13 ?v4) ?v2) ?v3)) f7)) f1))) )) (check-sat-assuming ( true ))