; Automatically generated by map2smt (set-logic HORN) (declare-fun new7 (Int Int Int Bool) Bool) (declare-fun new6 (Int Int Int Bool Int) Bool) (declare-fun new5 (Int Int Bool) Bool) (declare-fun new4 (Int) Bool) (declare-fun new3 (Int) Bool) (declare-fun new2 (Int Int Bool) Bool) (declare-fun new1 (Int Int Bool) Bool) (declare-fun ff () Bool) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C false) (= B 0) ) (new7 A B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= B (+ 1 D)) (new5 D E C) ) (new7 A B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D false) (>= A 0) (= B 0) ) (new6 A B C D C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (>= A 0) (= A 0) (new7 C B C D) ) (new6 A B C D C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) (E Int) (F Int) (G Int) ) (=> (and (>= E 0) (>= A 0) (= B (+ 1 F)) (= A (+ 1 E)) (new6 E F G D G) ) (new6 A B C D C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (= A 0) ) (new5 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (= A (+ 1 D)) (new4 D) ) (new5 A B C) ) ) ) (assert (forall ( (A Int) ) (=> (= A 0) (new4 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new4 B) ) (new4 A) ) ) ) (assert (forall ( (A Int) ) (=> (= A 0) (new3 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new3 B) ) (new3 A) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (= B 0) (= A 0) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (= B 0) (= A 0) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C true) (= D 0) (= B 0) (= A (+ 1 D)) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C false) (= D (+ 1 E)) (= B 0) (= A (+ 1 D)) (new3 E) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (= A 0) ) (new1 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (= B 0) (= A 0) ) (new1 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C true) (>= B 0) (= D 0) (= B 0) (= A (+ 1 D)) ) (new1 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C false) (>= D 0) (>= B 0) (= E 0) (= B (+ 1 D)) (= A (+ 1 E)) ) (new1 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C false) (>= D 0) (>= B 0) (= D 0) (= E 0) (= B (+ 1 D)) (= A (+ 1 E)) ) (new1 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C false) (>= B 0) (= D (+ 1 E)) (= B 0) (= A (+ 1 D)) (new4 E) ) (new1 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) (F Int) (G Int) ) (=> (and (>= D 0) (>= B 0) (= D 0) (= E (+ 1 F)) (= B (+ 1 D)) (= A (+ 1 E)) (new5 F G C) ) (new1 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) (F Int) (G Int) (H Int) ) (=> (and (>= D 0) (>= E 0) (>= B 0) (= E (+ 1 D)) (= F (+ 1 G)) (= B (+ 1 E)) (= A (+ 1 F)) (new6 D G H C H) ) (new1 A B C) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (>= B 0) (= B (- C D)) (= D 1) (new1 C B A) ) ff ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (<= B (- C 1)) (= D 0) (= C 1) (new2 B D A) ) ff ) ) ) (assert (not ff)) (check-sat)