(* This file was originally generated by why.
   It can be modified; only the generated parts will be overwritten. *)
Require Export Why.

(* Why obligation from file "booleans.mlw", line 12, characters 4-14: *)
(*Why goal*) Lemma test_and_1_po_1 : 
  forall (x0: Z),
  forall (x: Z),
  forall (HW_1: x = (x0 + 1)),
  forall (result: Z),
  forall (HW_2: result = x),
  forall (HW_3: x > 0 /\ result = 1),
  x = 1.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 12, characters 4-14: *)
(*Why goal*) Lemma test_and_1_po_2 : 
  forall (x0: Z),
  forall (x: Z),
  forall (HW_1: x = (x0 + 1)),
  forall (result: Z),
  forall (HW_2: result = x),
  forall (HW_4: x <= 0 \/ x > 0 /\ result <> 1),
  (0 + 1) = 1.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 17, characters 4-14: *)
(*Why goal*) Lemma test_and_2_po_1 : 
  forall (x: Z),
  forall (HW_2: x <> 0),
  forall (result: Z),
  forall (HW_3: result = x),
  forall (HW_4: result >= 1 /\ x <= 1),
  x = 1.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 17, characters 4-14: *)
(*Why goal*) Lemma test_and_2_po_2 : 
  forall (x: Z),
  forall (HW_2: x <> 0),
  forall (result: Z),
  forall (HW_3: result = x),
  forall (HW_5: result < 1 \/ result >= 1 /\ x > 1),
  (0 + 1) = 1.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 21, characters 4-24: *)
(*Why goal*) Lemma test_or_1_po_1 : 
  forall (x0: Z),
  forall (x: Z),
  forall (HW_1: x = (x0 + 1)),
  forall (HW_2: x > 0 \/ x <= 0 /\ x < 0),
  forall (HW_3: 1 = 1),
  x <> 0.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 21, characters 4-24: *)
(*Why goal*) Lemma test_or_1_po_2 : 
  forall (x0: Z),
  forall (x: Z),
  forall (HW_1: x = (x0 + 1)),
  forall (HW_4: x <= 0 /\ x >= 0),
  forall (HW_5: 2 = 1),
  x <> 0.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 25, characters 4-20: *)
(*Why goal*) Lemma test_or_2_po_1 : 
  forall (x: Z),
  forall (HW_1: x = 0 \/ x <> 0 /\ x = 1),
  (0 <= x /\ x <= 1).
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 25, characters 4-20: *)
(*Why goal*) Lemma test_or_2_po_2 : 
  forall (x: Z),
  forall (HW_2: x <> 0 /\ x <> 1),
  (0 <= 1 /\ 1 <= 1).
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 29, characters 4-9: *)
(*Why goal*) Lemma test_not_1_po_1 : 
  forall (x: Z),
  forall (HW_1: x <> 0),
  forall (x0: Z),
  forall (HW_2: x0 = 0),
  x0 = 0.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 33, characters 36-42: *)
(*Why goal*) Lemma test_not_2_po_1 : 
  forall (x: Z),
  forall (HW_1: x <= 0),
  forall (x0: Z),
  forall (HW_2: x0 <= 0),
  forall (HW_3: x0 <> 0),
  forall (x1: Z),
  forall (HW_4: x1 = (x0 + 1)),
  x1 <= 0.
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 38, characters 4-24: *)
(*Why goal*) Lemma test_all_1_po_1 : 
  forall (x: Z),
  ((x >= 0 /\ x <> 0 \/ (x < 0 \/ x >= 0 /\ x = 0) /\ x >= 1 <-> x >= 1)).
Proof.
intuition.
Save.

(*Why logic*) Definition D : Z.
Admitted.

(* Why obligation from file "booleans.mlw", line 51, characters 3-28: *)
(*Why goal*) Lemma test_cd3d_po_1 : 
  forall (vx: Z),
  forall (vy: Z),
  forall (result: Z),
  forall (HW_1: result = (vx * vx)),
  forall (result0: Z),
  forall (HW_2: result0 = (vy * vy)),
  forall (result1: Z),
  forall (HW_3: result1 = (D * D)),
  forall (HW_4: vx = 0 /\ vy = 0 /\ (result + result0) < result1),
  forall (HW_5: 1 = 1),
  (vx = 0 /\ vy = 0).
Proof.
intuition.
Save.

(* Why obligation from file "booleans.mlw", line 51, characters 3-28: *)
(*Why goal*) Lemma test_cd3d_po_2 : 
  forall (vx: Z),
  forall (vy: Z),
  forall (result: Z),
  forall (HW_1: result = (vx * vx)),
  forall (result0: Z),
  forall (HW_2: result0 = (vy * vy)),
  forall (result1: Z),
  forall (HW_3: result1 = (D * D)),
  forall (HW_6: vx <> 0 \/ vx = 0 /\ (vy <> 0 \/ vy = 0 /\
                (result + result0) >= result1)),
  forall (HW_7: 2 = 1),
  (vx = 0 /\ vy = 0).
Proof.
intuition.
Save.

