proposition: Lemma gpaco1_dist_reverse clo r rg: (paco1 gf (rclo1 clo (rg \1/ r)) \1/ rclo1 clo r) <1= gpaco1 gf clo r rg.
proof: Proof. intros. destruct PR; cycle 1. - eapply gpaco1_rclo. apply H. - econstructor. apply rclo1_base. left. revert x0 H. pcofix CIH; intros. _punfold H0; [|apply gf_mon]. pstep. eapply gf_mon. apply H0. intros. destruct PR. + apply rclo1_base. right. apply CIH, H. + eapply rclo1_mon. apply H. intros. right. apply CIH0. apply PR. Qed.
imports: Program.Basics Paco(paco1 pacotac)