proposition: Lemma gpaco1_weaken clo r rg: gpaco1 (gupaco1 clo) r rg <1= gpaco1 clo r rg.
proof: Proof. intros. apply gpaco1_unfold in PR. induction PR. - destruct IN; cycle 1. apply gpaco1_base, H. apply gpaco1_step_gen. eapply gf_mon. apply H. clear x0 H. eapply gpaco1_cofix. intros. apply gpaco1_unfold in PR. induction PR. + destruct IN; cycle 1. apply gpaco1_base, H. apply gpaco1_step. eapply gf_mon. apply H. intros. apply gpaco1_base. apply CIH. eapply gupaco1_mon. apply PR. intros. destruct PR0; apply H0. + apply gpaco1_gupaco. eapply gupaco1_mon. apply IN. apply H. - apply gpaco1_gupaco. eapply gupaco1_mon. apply IN. apply H. Qed.
imports: Program.Basics Paco(paco1 pacotac)