Section WhileInduction.
Variable (sig : finType) (n : nat) (F : finType).
Variable R1 : pRel sig (option F) n.
Variable R2 : pRel sig F n.

Lemma WhileInduction :
(forall tin yout tout (HLastStep: R1 tin (Some yout, tout)), R2 tin (yout, tout)) ->
(forall tin tmid tout yout
(HStar : R1 tin (None, tmid)) (HLastStep : R2 tmid (yout, tout)), R2 tin (yout, tout)) ->
While_Rel R1 <<=2 R2.