; Automatically generated by map2smt (set-logic HORN) (declare-fun new7 (Int Int) Bool) (declare-fun new6 (Int Int) Bool) (declare-fun new5 (Int Int) Bool) (declare-fun new4 (Int Int) Bool) (declare-fun new3 (Int Int) Bool) (declare-fun new2 (Int Int) Bool) (declare-fun new18 (Int) Bool) (declare-fun new16 (Int) Bool) (declare-fun new13 (Int) Bool) (declare-fun new10 (Int Int) Bool) (declare-fun new1 (Int Int) Bool) (declare-fun diff_new9 (Int Int Int) Bool) (declare-fun diff_new12 (Int Int Int) Bool) (declare-fun ff () Bool) (assert (forall ( (A Int) ) (=> (= A 0) (new18 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new18 B) ) (new18 A) ) ) ) (assert (forall ( (A Int) ) (=> (new18 A) (new16 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new16 B) ) (new16 A) ) ) ) (assert (forall ( (A Int) ) (=> (= A 0) (new13 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new13 B) ) (new13 A) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) ) (=> (and (= C (+ 1 A)) (new13 A) ) (diff_new12 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) ) (=> (and (= C (+ 1 D)) (= A (+ 1 E)) (diff_new12 E B D) ) (diff_new12 A B C) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= B 0) (= A 0) ) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= B (+ 1 C)) (= A (+ 1 D)) (new10 D C) ) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) ) (=> (and (= B (+ 1 C)) (new16 C) ) (diff_new9 A B C) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= B 0) (= A 0) ) (new7 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= B (+ 1 C)) (= A (+ 1 D)) (new7 D C) ) (new7 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 1) (= A (* 2 D)) (= A (* 2 B)) ) (new6 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 0) (= (- A 1) (* 2 B)) (= A (+ (* 2 D) 1)) ) (new6 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 1) (= A (* 2 D)) (= A (* 2 B)) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 0) (= (- A 1) (* 2 B)) (= A (+ (* 2 D) 1)) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (new7 A B) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) ) (=> (and (= A (+ 1 C)) (diff_new9 D E C) (new4 E B) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 1) (= A (* 2 D)) (= A (* 2 B)) ) (new3 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 0) (= (- A 1) (* 2 B)) (= A (+ (* 2 D) 1)) ) (new3 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 1) (= A (* 2 D)) (= A (* 2 B)) ) (new2 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (= C 0) (= (- A 1) (* 2 B)) (= A (+ (* 2 D) 1)) ) (new2 A B) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (new10 A B) (new1 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Int) ) (=> (and (= A (+ 1 C)) (diff_new12 D E B) (new1 C D) ) (new1 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (>= (- A B) 1) (new1 C D) (new2 C B) (new3 D A) ) ff ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) ) (=> (and (<= (- A B) (- 1)) (new4 C D) (new5 C B) (new6 D A) ) ff ) ) ) (assert (not ff)) (check-sat)