; Automatically generated by map2smt (set-logic HORN) (declare-fun new8 (Int Bool) Bool) (declare-fun new6 (Int Int Int Bool) Bool) (declare-fun new5 (Int Int Int Bool) Bool) (declare-fun new45 (Int Bool Bool) Bool) (declare-fun new4 (Int Int Int Int Bool) Bool) (declare-fun new34 (Int Bool Bool) Bool) (declare-fun new32 (Bool) Bool) (declare-fun new30 (Int Bool) Bool) (declare-fun new3 (Int Int Bool) Bool) (declare-fun new26 (Int Bool) Bool) (declare-fun new23 (Int Bool) Bool) (declare-fun new21 (Int Int Bool) Bool) (declare-fun new20 (Int Bool) Bool) (declare-fun new2 (Int Int Bool) Bool) (declare-fun new16 (Int Int Bool) Bool) (declare-fun new15 (Int Int Bool) Bool) (declare-fun new14 (Int Int Bool) Bool) (declare-fun new12 (Bool) Bool) (declare-fun new10 (Int Bool) Bool) (declare-fun new1 (Int Int Int Int Bool) Bool) (declare-fun diff_new38 (Int Bool Int Int Bool) Bool) (declare-fun diff_new25 (Int Bool Int Int Bool) Bool) (declare-fun not_fun_diff_new38 () Bool) (declare-fun constr (Bool) Bool) (declare-fun not_fun_diff_new25 () Bool) (declare-fun inst_fold () Bool) (declare-fun ff () Bool) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) (G Bool) (H Int) (I Int) (J Bool) ) (=> (and (diff_new38 A B C D E) (diff_new38 F G H I J) (and (and (= A F) (and (= B G) (and (= C H) (= D I)))) (not (= E J))) ) not_fun_diff_new38 ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) (G Bool) (H Int) (I Int) (J Bool) ) (=> (and (diff_new25 A B C D E) (diff_new25 F G H I J) (and (and (= A F) (and (= B G) (and (= C H) (= D I)))) (not (= E J))) ) not_fun_diff_new25 ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B false) inst_fold (new32 C) ) (new45 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (>= (- D A) 1) (new30 D C) ) (new45 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (<= (- D A) (- 1)) (new30 D C) ) (new45 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (new34 A C B) (new45 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= E false) (= B false) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (>= (- F C) 1) (>= (- F A) 1) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (>= (- F A) 1) (<= (- F C) (- 1)) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= B false) (>= (- C A) 1) inst_fold (new32 E) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (>= (- F C) 1) (<= (- F A) (- 1)) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (<= (- F C) (- 1)) (<= (- F A) (- 1)) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= B false) (<= (- C A) (- 1)) inst_fold (new32 E) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= E false) (>= (- A C) 1) (new32 B) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= E false) (<= (- A C) (- 1)) (new32 B) ) (diff_new38 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Bool) ) (=> (new45 C D B) (diff_new38 A B A C D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (and (= B false) inst_fold (new32 C) ) (new34 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (>= (- A D) 1) inst_fold (new32 C) ) (new34 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) ) (=> (and (= B false) (<= (- A D) (- 1)) inst_fold (new32 C) ) (new34 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) ) (=> (new45 A C B) (new34 A B C) ) ) ) (assert (forall ( (A Bool) ) (=> (= A false) (new32 A) ) ) ) (assert (forall ( (A Bool) ) (=> (= A false) (new32 A) ) ) ) (assert (forall ( (A Bool) ) (=> (= A true) (new32 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (>= (- B C) 1) ) (new32 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (<= (- B C) (- 1)) ) (new32 A) ) ) ) (assert (forall ( (A Bool) ) (=> (new32 A) (new32 A) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new30 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- A C) 1) ) (new30 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- A C) (- 1)) ) (new30 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (new32 B) (new30 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (>= A 0) ) (new26 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (>= A 0) (= A 0) (new12 B) ) (new26 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (>= C 0) (>= A 0) (= A (+ 1 C)) (new21 C D B) ) (new26 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= E false) (= B false) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (>= (- C F) 1) (>= (- A F) 1) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (>= (- A F) 1) (<= (- C F) (- 1)) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= B false) (>= (- A C) 1) (new30 D E) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (>= (- C F) 1) (<= (- A F) (- 1)) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) (F Int) ) (=> (and (= E false) (= B false) (<= (- C F) (- 1)) (<= (- A F) (- 1)) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= B false) (<= (- A C) (- 1)) (new30 D E) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= E false) (>= (- C A) 1) (new32 B) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Bool) ) (=> (and (= E false) (<= (- C A) (- 1)) (new32 B) ) (diff_new25 A B C D E) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Bool) ) (=> (new34 C D B) (diff_new25 A B A C D) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (= B false) (new23 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= (- A C) 1) ) (new23 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (- A C) (- 1)) ) (new23 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (new23 A B) (new23 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C false) (>= A 0) ) (new21 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (>= A 0) (= A 0) inst_fold (new32 C) ) (new21 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) (F Bool) (G Int) ) (=> (and (>= D 0) (>= A 0) (= A (+ 1 D)) (diff_new38 E F B G C) (new21 D E F) ) (new21 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (>= A 0) ) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (>= A 0) (= A 0) (new12 B) ) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (>= C 0) (>= A 0) (= A (+ 1 C)) (new15 C D B) ) (new20 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) ) (new16 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= B 0) ) (new16 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (>= B 0) (>= A 0) (= A 0) (new20 B C) ) (new16 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (>= D 0) (>= B 0) (>= A 0) (= B 0) (= A (+ 1 D)) (new21 D E C) ) (new16 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (>= D 0) (>= E 0) (>= B 0) (>= A 0) (= B (+ 1 D)) (= A (+ 1 E)) (new16 E D C) ) (new16 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C false) (>= A 0) ) (new15 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (>= A 0) (= A 0) (new23 B C) ) (new15 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) (F Bool) (G Int) ) (=> (and (>= D 0) (>= A 0) (= A (+ 1 D)) (diff_new25 E F B G C) (new15 D E F) ) (new15 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (= A 0) ) (new14 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (= B 0) (= A 0) ) (new14 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (>= B 0) (= A 0) (new26 B C) ) (new14 A B C) ) ) ) (assert (forall ( (A Bool) ) (=> (= A true) (new12 A) ) ) ) (assert (forall ( (A Bool) ) (=> (new12 A) (new12 A) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (= A 0) ) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= A 0) (new12 B) ) (new10 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (= A 0) ) (new8 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= A 0) (new12 B) ) (new8 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= (- A B) 0) (>= C 0) (>= B 0) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= (- A B) 0) (>= C 0) (>= B 0) (= C 0) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= (- A B) 0) (>= C 0) (>= B 0) (= B 0) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= (- A B) 0) (>= C 0) (>= B 0) (= C 0) (= B 0) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (>= (- A B) 0) (>= C 0) (>= B 0) (= A 0) (new14 B C D) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) (E Int) (F Int) ) (=> (and (>= (- A B) 0) (>= E 0) (>= C 0) (>= B 0) (= C 0) (= B 0) (= A (+ 1 E)) (new15 E F D) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) (E Int) (F Int) ) (=> (and (>= (- A B) 0) (>= E 0) (>= F 0) (>= C 0) (>= B 0) (= C (+ 1 E)) (= B 0) (= A (+ 1 F)) (new16 E F D) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) (E Int) (F Int) ) (=> (and (>= (- A B) 0) (>= E 0) (>= F 0) (>= C 0) (>= B 0) (= B (+ 1 E)) (= A (+ 1 F)) (new6 F E C D) ) (new6 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= C 0) (>= B 0) (<= (- A C) 0) ) (new5 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= C 0) (>= B 0) (<= (- A C) 0) (= B 0) ) (new5 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= C 0) (>= B 0) (<= (- A C) 0) (= C 0) ) (new5 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (= D true) (>= C 0) (>= B 0) (<= (- A C) 0) (= C 0) (= B 0) ) (new5 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) ) (=> (and (>= C 0) (>= B 0) (<= (- A C) 0) (= A 0) (new16 C B D) ) (new5 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Bool) (E Int) (F Int) ) (=> (and (>= E 0) (>= F 0) (>= C 0) (>= B 0) (<= (- A C) 0) (= C (+ 1 E)) (= A (+ 1 F)) (new5 F B E D) ) (new5 A B C D) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= D 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= B 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= D 0) (= B 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= A 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= D 0) (= A 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= B 0) (= A 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (= E true) (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= D 0) (= B 0) (= A 0) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) ) (=> (and (>= (- D A) 0) (>= (- B C) 0) (>= D 0) (>= B 0) (= C 0) (new5 A B D E) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) (F Int) (G Int) ) (=> (and (>= (- D A) 0) (>= (- B C) 0) (>= F 0) (>= G 0) (>= D 0) (>= B 0) (= C (+ 1 F)) (= B (+ 1 G)) (= A 0) (new6 G F D E) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Int) (D Int) (E Bool) (F Int) (G Int) ) (=> (and (>= (- D A) 0) (>= (- B C) 0) (>= F 0) (>= G 0) (>= D 0) (>= B 0) (= C (+ 1 F)) (= A (+ 1 G)) (new4 G B F D E) ) (new4 A B C D E) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= A 0) (= B 0) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= A 0) (= B 0) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (>= A 0) (= B 0) (= A 0) (new8 B C) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (>= D 0) (>= A 0) (= B 0) (= A (+ 1 D)) (new3 D B C) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= A 0) (= B 0) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= A 0) (= B 0) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (>= A 0) (= B 0) (= A 0) (new10 B C) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (>= D 0) (>= A 0) (= B 0) (= A (+ 1 D)) (new2 D B C) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= A 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= B 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= A 0) (= B 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= B 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= A 0) (= B 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= B 0) (= B 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (>= B 0) (>= A 0) (= A 0) (= B 0) (= B 0) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (>= B 0) (>= A 0) (= A 0) (new2 B A C) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (>= D 0) (>= E 0) (>= B 0) (>= A 0) (= A (+ 1 D)) (= B 0) (= A (+ 1 E)) (new3 E B C) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (>= D 0) (>= E 0) (>= B 0) (>= A 0) (= B (+ 1 D)) (= A (+ 1 E)) (new4 E B D A C) ) (new1 A B B A C) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (>= B 0) (>= C 0) (new1 C B B C A) ) ff ) ) ) (assert inst_fold ) (assert (not ff)) (check-sat)