fact: Fixpoint refineFun {fDom : list Type} {fCod : Type} (fSet' fSet : funType fDom fCod) {struct fDom} : Prop := match fDom as fDom' return funType fDom' fCod -> funType fDom' fCod -> Prop with | nil => fun fSet' fSet => refine fSet' fSet | cons T fDom' => fun fSet' fSet => forall (t : T), refineFun (fSet' t) (fSet t) end fSet' fSet.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Sets.Ensembles Coq.ZArith.ZArith Coq.Classes.Morphisms Coq.Classes.SetoidTactics Fiat.Computation Fiat.Computation.SetoidMorphisms Coq.Logic.FunctionalExtensionality