; Automatically generated by map2smt (set-logic HORN) (declare-fun new9 (Int Bool) Bool) (declare-fun new8 (Int Bool) Bool) (declare-fun new4 (Int Bool) Bool) (declare-fun new3 (Int Bool) Bool) (declare-fun new2 (Int Bool Int Bool) Bool) (declare-fun new10 (Int Bool) Bool) (declare-fun new1 (Int Bool Int Bool) Bool) (declare-fun ff () Bool) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new10 A B) ) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new10 A B) ) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new10 A B) ) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (new8 A B) (new9 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new9 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new9 A B) ) (new9 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new9 A B) ) (new9 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new9 A B) ) (new9 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new8 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new8 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new8 A B) ) (new8 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new8 A B) ) (new8 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new8 A B) ) (new8 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new4 A B) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new4 A B) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new4 A B) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new3 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new3 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new3 A B) ) (new3 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new3 A B) ) (new3 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new3 A B) ) (new3 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (new3 A B) (new2 A B A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B true) (new4 A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B true) (new2 A B A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (>= (- D A) 1) (new2 A B A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (<= (- D A) (- 1)) (new2 A B A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C false) (new8 A B) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) (new9 A B) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) (new10 A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) (new1 A B A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C true) (= B false) (>= (- D A) 1) (new1 A B A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C true) (= B false) (<= (- D A) (- 1)) (new1 A B A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C false) (= B true) (>= (- D A) 1) (new1 A B A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C false) (= B false) (>= (- D A) 1) (>= (- D A) 1) (new1 A B A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C false) (= B true) (<= (- D A) (- 1)) (new1 A B A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C false) (= B false) (<= (- D A) (- 1)) (<= (- D A) (- 1)) (new1 A B A C) ) (new1 A B A C) ) ) ) (assert (forall ( (A Bool) (B Bool) (C Int) ) (=> (and (= A true) (= B true) (new1 C B C A) ) ff ) ) ) (assert (forall ( (A Bool) (B Bool) (C Int) ) (=> (and (= A true) (= B true) (new2 C B C A) ) ff ) ) ) (assert (not ff)) (check-sat)