proposition: Lemma gpaco3_mon_gen (gf' clo clo': rel -> rel) x0 x1 x2 r r' rg rg' (IN: @gpaco3 gf clo r rg x0 x1 x2) (gf_mon: monotone3 gf) (LEgf: gf <4= gf') (LEclo: clo <4= clo') (LEr: r <3= r') (LErg: rg <3= rg') : @gpaco3 gf' clo' r' rg' x0 x1 x2.
proof: Proof. eapply gpaco3_mon; [|apply LEr|apply LErg]. destruct IN. econstructor. eapply rclo3_mon_gen. apply IN. apply LEclo. intros. destruct PR; [| right; apply H]. left. eapply paco3_mon_gen. apply H. - intros. eapply LEgf. eapply gf_mon. apply PR. intros. eapply rclo3_mon_gen. apply PR0. apply LEclo. intros; apply PR1. - intros. apply PR. Qed.
imports: Program.Basics Paco(paco3 pacotac)