; Automatically generated by map2smt (set-logic HORN) (declare-fun new9 (Int Bool) Bool) (declare-fun new5 (Int Bool) Bool) (declare-fun new4 (Int Bool) Bool) (declare-fun new3 (Int Bool Int Bool) Bool) (declare-fun new22 (Int Bool) Bool) (declare-fun new21 (Int Bool Int Bool) Bool) (declare-fun new20 (Int Bool) Bool) (declare-fun new2 (Int Bool Int Bool) Bool) (declare-fun new19 (Int Bool) Bool) (declare-fun new11 (Int Bool) Bool) (declare-fun new10 (Int Bool) Bool) (declare-fun new1 (Int Bool Int Bool Int Bool) Bool) (declare-fun ff () Bool) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new22 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new22 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new22 A B) ) (new22 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new22 A B) ) (new22 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new22 A B) ) (new22 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (new19 A B) (new21 A B A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B true) (new20 A C) ) (new21 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B true) (new21 A B A C) ) (new21 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (>= (- D A) 1) (new21 A B A C) ) (new21 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (<= (- D A) (- 1)) (new21 A B A C) ) (new21 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new20 A B) ) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new20 A B) ) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new20 A B) ) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new19 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new19 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new19 A B) ) (new19 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new19 A B) ) (new19 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new19 A B) ) (new19 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new11 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new11 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new11 A B) ) (new11 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new11 A B) ) (new11 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new11 A B) ) (new11 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (new9 A B) (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) ) (=> (= B false) (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) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B true) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (new5 A B) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- C A) 1) (new5 A B) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- C A) (- 1)) (new5 A B) ) (new5 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) ) (=> (new4 A B) (new3 A B A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B true) (new5 A C) ) (new3 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B true) (new3 A B A C) ) (new3 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (>= (- D A) 1) (new3 A B A C) ) (new3 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (<= (- D A) (- 1)) (new3 A B A C) ) (new3 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C false) (new9 A B) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) (new10 A B) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) (new11 A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C true) (= B true) (new2 A B A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C true) (= 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 (= C true) (= 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 (= C false) (= B true) (>= (- D A) 1) (new2 A B A C) ) (new2 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) (new2 A B A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= C false) (= B true) (<= (- D A) (- 1)) (new2 A B A C) ) (new2 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)) (new2 A B A C) ) (new2 A B A C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= C false) (new19 A B) ) (new1 A B A C A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) ) (=> (and (= C true) (= B true) (new20 A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) ) (=> (and (= C true) (= B true) (new21 A B A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) ) (=> (and (= C true) (= B true) (new22 A C) (new20 A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) ) (=> (and (= C true) (= B true) (new1 A B A C A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) ) (=> (and (= C true) (= B false) (>= (- E A) 1) (new1 A B A C A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) ) (=> (and (= C true) (= B false) (<= (- E A) (- 1)) (new1 A B A C A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) ) (=> (and (= C false) (= B true) (>= (- E A) 1) (new1 A B A C A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) ) (=> (and (= C false) (= B false) (>= (- E A) 1) (>= (- E A) 1) (new1 A B A C A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) ) (=> (and (= C false) (= B true) (<= (- E A) (- 1)) (new1 A B A C A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) ) (=> (and (= C false) (= B false) (<= (- E A) (- 1)) (<= (- E A) (- 1)) (new1 A B A C A D) ) (new1 A B A C A D) ) ) ) (assert (forall ( (A Bool) (B Bool) (C Bool) (D Int) ) (=> (and (= A false) (= B false) (= C false) (new1 D A D B D C) ) ff ) ) ) (assert (forall ( (A Bool) (B Bool) (C Int) ) (=> (and (= A true) (= B true) (new2 C A C B) ) ff ) ) ) (assert (forall ( (A Bool) (B Bool) (C Int) ) (=> (and (= A true) (= B true) (new3 C A C B) ) ff ) ) ) (assert (not ff)) (check-sat)