proposition: Lemma grespect11_compatible' clo (RES: grespectful11 clo): compatible'11 (rclo11 (clo \12/ cpn11 gf)).
proof: Proof. apply wrespect11_compatible'. econstructor. { red; intros. destruct IN. - left. eapply RES; [apply H|]. apply LE. - right. eapply cpn11_mon; [apply H|]. apply LE. } intros. destruct PR. - eapply RES.(grespect11_respect) in H; [|apply LE|apply GF]. apply (@compat11_compat gf (rclo11 (cpn11 gf))) in H. 2: { apply rclo11_compat; [apply gf_mon|]. apply cpn11_compat. apply gf_mon. } eapply gf_mon; [apply H|]. intros. apply rclo11_clo. right. exists (rclo11 (cpn11 gf)). { apply rclo11_compat; [apply gf_mon|]. apply cpn11_compat. apply gf_mon. } eapply rclo11_mon; [eapply PR|]. intros. eapply rclo11_mon_gen; [eapply PR0|..]. + intros. destruct PR1. * left. apply H0. * right. apply cpn11_gupaco; [apply gf_mon|apply H0]. + intros. apply PR1. - eapply gf_mon. + apply (@compat11_compat gf (rclo11 (cpn11 gf))). { apply rclo11_compat; [apply gf_mon|]. apply cpn11_compat. apply gf_mon. } eapply rclo11_clo_base. eapply cpn11_mon; [apply H|apply GF]. + intros. eapply rclo11_mon_gen; [eapply PR|..]. * intros. right. apply PR0. * intros. apply PR0. Qed.
imports: Program.Basics Paco(paco11 pacotac)