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