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

Require Import Why.

(* Why obligation from file ".", line 0, characters 0-0: *)
(*Why goal*) Lemma p_po_1 : 
  forall (result: bool),
  forall (x: Z),
  forall (HW_1: x = 0 /\ ((if result then x = 0 else x <> 0))),
  (if result then 1 = 1 else 2 = 1).
Proof.
destruct result; intuition.
Save.


(* Why obligation from file ".", line 0, characters 0-0: *)
(*Why goal*) Lemma p2_po_1 : 
  forall (y: Z),
  forall (HW_1: y >= 0),
  forall (y0: Z),
  forall (HW_2: y0 >= 0),
  forall (result: bool),
  forall (x: Z),
  forall (HW_3: x = y0 /\ ((if result then x <> 0 else x = 0))),
  (if result then (forall (y:Z), (y = (y0 - 1) -> y >= 0 /\ (Zwf 0 y y0)))
   else y0 = 0).
Proof.
destruct result; intuition.
Save.

(* Why obligation from file ".", line 0, characters 0-0: *)
(*Why goal*) Lemma p3_po_1 : 
  forall (y: Z),
  forall (HW_1: y >= 0),
  forall (y0: Z),
  forall (HW_2: y0 >= 0),
  forall (result: bool),
  forall (x: Z),
  forall (HW_3: x = y0 /\ ((if result then x <> 0 else x = 0))),
  (if result then (forall (y:Z), (y = (y0 - 1) -> y >= 0 /\ (Zwf 0 y y0)))
   else y0 = 0).
Proof.
destruct result; intuition.
Save.

(* Why obligation from file ".", line 0, characters 0-0: *)
(*Why goal*) Lemma p4_po_1 : 
  forall (y: Z),
  forall (HW_1: y >= 1),
  forall (y0: Z),
  forall (HW_2: y0 >= 1),
  forall (y1: Z),
  forall (HW_3: y1 = (y0 - 1)),
  forall (result: bool),
  forall (x: Z),
  forall (HW_4: x = y1 /\ ((if result then x <> 0 else x = 0))),
  (if result then y1 >= 1 /\ (Zwf 0 y1 y0) else y1 = 0).
Proof.
destruct result; intuition.
Save.
