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