fact: Definition well_founded_compose : well_founded compose := (fun t => (@Fix _ R well_founded_R (fun x => forall y, f y = x -> Acc compose y) (fun x recur y pf => @Acc_intro _ compose y (fun y' (pf' : R (f y') (f y)) => recur _ match pf in _ = t return R (f y') t with | eq_refl => pf' end _ eq_refl)) (f t) t eq_refl)).
imports: Coq.Classes.RelationClasses