proposition: Lemma gpaco3_weaken clo r rg: gpaco3 (gupaco3 clo) r rg <3= gpaco3 clo r rg.
proof: Proof. intros. apply gpaco3_unfold in PR. induction PR. - destruct IN; cycle 1. apply gpaco3_base, H. apply gpaco3_step_gen. eapply gf_mon. apply H. clear x0 x1 x2 H. eapply gpaco3_cofix. intros. apply gpaco3_unfold in PR. induction PR. + destruct IN; cycle 1. apply gpaco3_base, H. apply gpaco3_step. eapply gf_mon. apply H. intros. apply gpaco3_base. apply CIH. eapply gupaco3_mon. apply PR. intros. destruct PR0; apply H0. + apply gpaco3_gupaco. eapply gupaco3_mon. apply IN. apply H. - apply gpaco3_gupaco. eapply gupaco3_mon. apply IN. apply H. Qed.
imports: Program.Basics Paco(paco3 pacotac)