fact: Definition DFModuleEquiv av (env : Env av) {n n'} {consSigs : Vector.t consSig n} {methSigs : Vector.t methSig n'} (adt : DecoratedADT (BuildADTSig consSigs methSigs)) (P : Core.Rep adt -> Prop) (module : DFModule av) (consWrapper' : forall midx, CodWrapperT av (methCod (Vector.nth methSigs midx))) (domWrapper : forall midx, DomWrapperT av (methDom (Vector.nth methSigs midx))) (DecomposeRep : Core.Rep adt -> _) (DecomposeRepCount : nat) : Prop := forall midx : Fin.t n', let meth := Vector.nth methSigs midx in exists Fun, Fun.(Core).(RetVar) = "ret" /\ Fun.(Core).(ArgVars) = BuildArgNames (List.length (methDom meth)) DecomposeRepCount /\ LiftMethod env P DecomposeRep (consWrapper' midx) (domWrapper midx) (Body (Core Fun)) (Methods adt midx) /\ (StringMap.MapsTo (methID meth) Fun module.(Funs)).
imports: Fiat.Common.Coq__8_4__8_5__Compat Fiat.ADT.Core Bedrock.Platform.Facade.DFModule Fiat.ADTNotation Bedrock.Platform.Facade.CompileUnit2 Fiat.Common.i3list Fiat.Common.ilist3 CertifiedExtraction.Core CertifiedExtraction.FacadeUtils CertifiedExtraction.StringMapUtils CertifiedExtraction.Extraction.Internal CertifiedExtraction.Extraction.Extraction