fact: Definition refine_Methods_invert {n'} methSigs methDefs refined_methDefs (refine_meths : @refine_Methods n' methSigs methDefs refined_methDefs) : match methSigs in Vector.t _ n' return forall methDefs refined_methDefs (refine_meths : @refine_Methods n' methSigs methDefs refined_methDefs), Prop with | Vector.nil => fun _ _ _ => True | Vector.cons methSig _ methSigs' => fun methDefs refined_methDefs refine_meths => refineMethod AbsR (ilist_hd methDefs) (ilist_hd refined_methDefs) /\ refine_Methods (ilist_tl methDefs) (ilist_tl refined_methDefs) end methDefs refined_methDefs refine_meths.
imports: Coq.Lists.List Fiat.Common Fiat.Common.ilist Fiat.Common.BoundedLookup Fiat.Common.IterateBoundedIndex Fiat.ADT.ADTSig Fiat.ADT.Core Fiat.ADTNotation.BuildADTSig Fiat.ADTNotation.BuildADT Fiat.ADTRefinement.Core Fiat.ADTRefinement.SetoidMorphisms Fiat.ADTRefinement.GeneralRefinements Fiat.ADTRefinement.GeneralBuildADTRefinements Fiat.ADTRefinement.Refinements.HoneRepresentation Fiat.ADTRefinement.BuildADTSetoidMorphisms