fact: Fixpoint flattenT_unapply {t : Telescope} {X : Type} : (flattenT_sig t -> X) -> flattenT t X := match t return (flattenT_sig t -> X) -> flattenT t X with | bottom => fun f => f tt | tele A B => fun f x => flattenT_unapply (fun p => f (existT (fun x' => flattenT_sig (B x')) x p)) end.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Relations.Relation_Definitions Coq.Classes.Morphisms