proposition: Lemma gpaco2_weaken clo r rg: gpaco2 (gupaco2 clo) r rg <2= gpaco2 clo r rg.
proof: Proof. intros. apply gpaco2_unfold in PR. induction PR. - destruct IN; cycle 1. apply gpaco2_base, H. apply gpaco2_step_gen. eapply gf_mon. apply H. clear x0 x1 H. eapply gpaco2_cofix. intros. apply gpaco2_unfold in PR. induction PR. + destruct IN; cycle 1. apply gpaco2_base, H. apply gpaco2_step. eapply gf_mon. apply H. intros. apply gpaco2_base. apply CIH. eapply gupaco2_mon. apply PR. intros. destruct PR0; apply H0. + apply gpaco2_gupaco. eapply gupaco2_mon. apply IN. apply H. - apply gpaco2_gupaco. eapply gupaco2_mon. apply IN. apply H. Qed.
imports: Program.Basics Paco(paco2 pacotac)