; Automatically generated by map2smt (set-logic HORN) (declare-fun new9 (Int Int) Bool) (declare-fun new6 (Int Int Int) Bool) (declare-fun new3 (Int Int Int) Bool) (declare-fun new2 (Int Int Int Int) Bool) (declare-fun new13 (Int Int) Bool) (declare-fun new1 (Int Int Int Int) Bool) (declare-fun diff_new8 (Int Int Int) Bool) (declare-fun diff_new5 (Int Int Int) Bool) (declare-fun diff_new15 () Bool) (declare-fun diff_new11 () Bool) (declare-fun ff () Bool) (assert diff_new15 ) (assert (forall ( (A Int) ) (new13 A A) ) ) (assert diff_new11 ) (assert (forall ( (A Int) ) (new9 A A) ) ) (assert (forall ( (A Int) (B Int) (C Int) ) (=> (new9 A C) (diff_new8 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and diff_new11 (diff_new8 A D C) ) (diff_new8 A B C) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (= A 0) (new6 A B B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) ) (=> (and (= A (+ 1 D)) (new6 D E C) ) (new6 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) ) (=> (new13 A C) (diff_new5 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and diff_new15 (diff_new5 A D C) ) (diff_new5 A B C) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (= A 0) (new3 A B B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) ) (=> (and (= A (+ 1 D)) (new3 D E C) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) ) (=> (and (>= B 0) (= B 0) (= A (+ 1 D)) (new3 D E C) ) (new2 A B C C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) (F Int) (G Int) (H Int) ) (=> (and (>= E 0) (>= B 0) (= B (+ 1 E)) (= A (+ 1 F)) (diff_new5 G H D) (new2 F E C G) ) (new2 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) ) (=> (and (>= B 0) (= B 0) (= A (+ 1 D)) (new6 D E C) ) (new1 A B C C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) (F Int) (G Int) (H Int) ) (=> (and (>= E 0) (>= B 0) (= B (+ 1 E)) (= A (+ 1 F)) (diff_new8 G H D) (new1 F E C G) ) (new1 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (>= (- A B) 1) (>= C 0) (<= C (- D 1)) (new1 D C A B) ) ff ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (>= A 0) (<= (- B C) (- 1)) (<= A (- D 1)) (new2 D A B C) ) ff ) ) ) (assert (not ff)) (check-sat)