; Automatically generated by map2smt (set-logic HORN) (declare-fun new55 (Int Bool) Bool) (declare-fun new5 (Int Bool) Bool) (declare-fun new46 (Int Bool) Bool) (declare-fun new44 (Int) Bool) (declare-fun new4 (Int Bool) Bool) (declare-fun new38 (Int) Bool) (declare-fun new36 (Bool) Bool) (declare-fun new34 (Bool Int) Bool) (declare-fun new30 (Int) Bool) (declare-fun new3 (Int Int Bool) Bool) (declare-fun new28 (Bool) Bool) (declare-fun new26 (Bool Int) Bool) (declare-fun new2 (Int Int Bool) Bool) (declare-fun new1 (Int Bool Bool Bool) Bool) (declare-fun ff () Bool) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (= A 0) ) (new55 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Int) ) (=> (and (= B true) (= B true) (<= C D) (= E (+ 1 C)) (= A (+ 1 C)) (new34 B D) (new34 B C) ) (new55 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (= A (+ 1 C)) (new44 C) (new36 B) ) (new55 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (= A (+ 1 C)) (new55 C B) ) (new55 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (= B false) (>= C (+ D 1)) (= A (+ 1 C)) (new38 D) (new38 C) ) (new55 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (<= (+ C 1) (+ 1 D)) (= A (+ 1 D)) (new38 D) ) (new55 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (>= C (+ (+ 1 D) 1)) (= A (+ 1 D)) (new38 D) ) (new55 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (= A 0) ) (new46 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) (E Int) ) (=> (and (= B true) (= B true) (<= C D) (= E (+ 1 C)) (= A (+ 1 C)) (new26 B D) (new26 B C) ) (new46 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (= A (+ 1 C)) (new44 C) (new28 B) ) (new46 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (= A (+ 1 C)) (new46 C B) ) (new46 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (= B false) (>= C (+ D 1)) (= A (+ 1 C)) (new30 D) (new30 C) ) (new46 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (<= (+ C 1) (+ 1 D)) (= A (+ 1 D)) (new30 D) ) (new46 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (>= C (+ (+ 1 D) 1)) (= A (+ 1 D)) (new30 D) ) (new46 A B) ) ) ) (assert (forall ( (A Int) ) (=> (= A 0) (new44 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new44 B) ) (new44 A) ) ) ) (assert (forall ( (A Int) ) (=> (= A 0) (new38 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new38 B) ) (new38 A) ) ) ) (assert (forall ( (A Bool) ) (=> (= A true) (new36 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A true) (= A true) (<= B C) (= D (+ 1 B)) (new34 A C) (new34 A B) ) (new36 A) ) ) ) (assert (forall ( (A Bool) ) (=> (and (= A false) (new36 A) ) (new36 A) ) ) ) (assert (forall ( (A Bool) ) (=> (and (= A false) (new36 A) ) (new36 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (= A false) (>= B (+ C 1)) (new38 C) (new38 B) ) (new36 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (<= (+ B 1) (+ 1 C)) (new38 C) ) (new36 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (>= B (+ (+ 1 C) 1)) (new38 C) ) (new36 A) ) ) ) (assert (forall ( (A Bool) (B Int) ) (=> (and (= A true) (= B 0) ) (new34 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) (E Int) ) (=> (and (= A true) (= A true) (<= C D) (= E (+ 1 C)) (= B (+ 1 C)) (new34 A D) (new34 A C) ) (new34 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (= B (+ 1 C)) (new38 C) (new36 A) ) (new34 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (= B (+ 1 C)) (new34 A C) ) (new34 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (= A false) (>= C (+ D 1)) (= B (+ 1 C)) (new38 D) (new38 C) ) (new34 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (<= (+ C 1) (+ 1 D)) (= B (+ 1 D)) (new38 D) ) (new34 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (>= C (+ (+ 1 D) 1)) (= B (+ 1 D)) (new38 D) ) (new34 A B) ) ) ) (assert (forall ( (A Int) ) (=> (= A 0) (new30 A) ) ) ) (assert (forall ( (A Int) (B Int) ) (=> (and (= A (+ 1 B)) (new30 B) ) (new30 A) ) ) ) (assert (forall ( (A Bool) ) (=> (= A true) (new28 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A true) (= A true) (<= B C) (= D (+ 1 B)) (new26 A C) (new26 A B) ) (new28 A) ) ) ) (assert (forall ( (A Bool) ) (=> (and (= A false) (new28 A) ) (new28 A) ) ) ) (assert (forall ( (A Bool) ) (=> (and (= A false) (new28 A) ) (new28 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (= A false) (>= B (+ C 1)) (new30 C) (new30 B) ) (new28 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (<= (+ B 1) (+ 1 C)) (new30 C) ) (new28 A) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (>= B (+ (+ 1 C) 1)) (new30 C) ) (new28 A) ) ) ) (assert (forall ( (A Bool) (B Int) ) (=> (and (= A true) (= B 0) ) (new26 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) (E Int) ) (=> (and (= A true) (= A true) (<= C D) (= E (+ 1 C)) (= B (+ 1 C)) (new26 A D) (new26 A C) ) (new26 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (= B (+ 1 C)) (new30 C) (new28 A) ) (new26 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) ) (=> (and (= A false) (= B (+ 1 C)) (new26 A C) ) (new26 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (= A false) (>= C (+ D 1)) (= B (+ 1 C)) (new30 D) (new30 C) ) (new26 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (<= (+ C 1) (+ 1 D)) (= B (+ 1 D)) (new30 D) ) (new26 A B) ) ) ) (assert (forall ( (A Bool) (B Int) (C Int) (D Int) ) (=> (and (= A false) (>= C (+ (+ 1 D) 1)) (= B (+ 1 D)) (new30 D) ) (new26 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (= A 0) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B true) (= B true) (<= C D) (= A (+ 1 C)) (new26 B D) (new26 B C) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B false) (new28 B) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B false) (new28 B) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (= B false) (>= C (+ D 1)) (new30 D) (new30 C) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (+ A 1) (+ 1 C)) (new30 C) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= A (+ (+ 1 C) 1)) (new30 C) ) (new5 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B true) (= A 0) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B true) (= B true) (<= C D) (= A (+ 1 C)) (new34 B D) (new34 B C) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B false) (new36 B) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) ) (=> (and (= B false) (new36 B) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) (D Int) ) (=> (and (= B false) (= B false) (>= C (+ D 1)) (new38 D) (new38 C) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (<= (+ A 1) (+ 1 C)) (new38 C) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Int) ) (=> (and (= B false) (>= A (+ (+ 1 C) 1)) (new38 C) ) (new4 A B) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (= B 0) (= A 0) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C true) (= C true) (<= D E) (= B (+ 1 D)) (= A (+ 1 D)) (new26 C E) (new26 C D) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (= A (+ 1 D)) (new44 D) (new28 C) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (= A (+ 1 D)) (new46 D C) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C false) (= C false) (>= D (+ E 1)) (= A (+ 1 D)) (new30 E) (new30 D) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (<= (+ B 1) (+ 1 D)) (= A (+ 1 D)) (new30 D) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (>= B (+ (+ 1 D) 1)) (= A (+ 1 D)) (new30 D) ) (new3 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) ) (=> (and (= C true) (= B 0) (= A 0) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C true) (= C true) (<= D E) (= B (+ 1 D)) (= A (+ 1 D)) (new34 C E) (new34 C D) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (= A (+ 1 D)) (new44 D) (new36 C) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (= A (+ 1 D)) (new55 D C) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) (E Int) ) (=> (and (= C false) (= C false) (>= D (+ E 1)) (= A (+ 1 D)) (new38 E) (new38 D) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (<= (+ B 1) (+ 1 D)) (= A (+ 1 D)) (new38 D) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Int) (C Bool) (D Int) ) (=> (and (= C false) (>= B (+ (+ 1 D) 1)) (= A (+ 1 D)) (new38 D) ) (new2 A B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) (E Int) (F Int) (G Int) (H Int) ) (=> (and (= C true) (= B true) (= B true) (<= D E) (<= F G) (= H (+ 1 D)) (= H (+ 1 F)) (new2 E G B) (new3 D F B) ) (new1 A B B B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) (F Int) (G Int) ) (=> (and (= D true) (= B false) (<= E F) (= G (+ 1 E)) (new4 F B) (new5 E C) ) (new1 A B B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) (F Int) (G Int) ) (=> (and (= D true) (= B false) (<= E F) (= G (+ 1 E)) (new4 F C) (new5 E B) ) (new1 A B C B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Bool) (F Int) (G Int) (H Int) (I Int) (J Int) ) (=> (and (= E true) (= B false) (= B false) (>= F (+ G 1)) (<= H I) (= J (+ 1 H)) (new2 G I C) (new3 F H D) ) (new1 A B C D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Bool) (F Int) (G Int) (H Int) (I Int) ) (=> (and (= E true) (= B false) (<= (+ F 1) (+ 1 G)) (<= H I) (= F (+ 1 H)) (new3 G H D) (new4 I C) ) (new1 A B C D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Bool) (F Int) (G Int) (H Int) (I Int) ) (=> (and (= E true) (= B false) (>= F (+ (+ 1 G) 1)) (<= H I) (= F (+ 1 H)) (new3 G H D) (new4 I C) ) (new1 A B C D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Int) (E Int) (F Int) (G Int) (H Int) ) (=> (and (= C false) (= B true) (= B true) (>= D (+ E 1)) (<= F G) (= H (+ 1 F)) (= H (+ 1 E)) (new3 G D B) (new2 F E B) ) (new1 A B B B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) (F Int) (G Int) ) (=> (and (= D false) (= B false) (>= E (+ F 1)) (= G (+ 1 F)) (new5 E B) (new4 F C) ) (new1 A B C B) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Int) (F Int) (G Int) ) (=> (and (= D false) (= B false) (>= E (+ F 1)) (= G (+ 1 F)) (new5 E C) (new4 F B) ) (new1 A B B C) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Bool) (F Int) (G Int) (H Int) (I Int) (J Int) ) (=> (and (= E false) (= B false) (= B false) (>= F (+ G 1)) (>= H (+ I 1)) (= J (+ 1 I)) (new3 G H D) (new2 F I C) ) (new1 A B C D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Bool) (F Int) (G Int) (H Int) (I Int) ) (=> (and (= E false) (= B false) (>= F (+ G 1)) (<= (+ H 1) (+ 1 I)) (= H (+ 1 G)) (new2 I G C) (new5 F D) ) (new1 A B C D) ) ) ) (assert (forall ( (A Int) (B Bool) (C Bool) (D Bool) (E Bool) (F Int) (G Int) (H Int) (I Int) ) (=> (and (= E false) (= B false) (>= F (+ (+ 1 G) 1)) (>= H (+ I 1)) (= F (+ 1 I)) (new2 G I C) (new5 H D) ) (new1 A B C D) ) ) ) (assert (forall ( (A Bool) (B Bool) (C Int) ) (=> (and (= A true) (= B true) (new1 C B A A) ) ff ) ) ) (assert (not ff)) (check-sat)