(*Lemma Rec_sub {A} {NA: NatDed A}{IA: Indir A}{RA: RecIndir A} : forall G (F   : A -> A -> A) (HF1 : forall X, contractive (F X)) (HF2 : forall R P Q, P >=> Q |-- F P R >=> F Q R) (HF3 : forall P Q X, |>(P >=> Q) |-- F X P >=> F X Q), forall P Q, G |-- P >=> Q -> G |-- Rec (F P) >=> Rec (F Q). *)

(* Specifications: *)
Lemma HORec_sub {A}  {NA: NatDed A}{IA: Indir A}{RA: RecIndir A} : forall G B
(F : A -> (B -> A) -> B -> A)
(HF1 : forall X, HOcontractive (F X))
(HF2 : forall R a (P Q: A), P >=> Q |-- F P R a >=> F Q R a)
(HF3 : forall (P Q: B -> A) X, ALL b:B, |>(P b >=> Q b) |-- ALL b:B, F X P b >=> F X Q b),
forall P Q : A,
G |-- P >=> Q ->
G |-- ALL b:B, HORec (F P) b >=> HORec (F Q) b.