fact: Definition Implement_Abstract_Operation (AbstractRep : Type) (numDelegateConstructors : nat) (DelegateConstructorSigs : Vector.t consSig numDelegateConstructors) (numDelegateMethods : nat) (DelegateMethodSigs : Vector.t methSig numDelegateMethods) (DelegateSigs := BuildADTSig DelegateConstructorSigs DelegateMethodSigs) (DelegateConstructorSpecs : ilist (B := @consDef AbstractRep) DelegateConstructorSigs) (DelegateMethodSpecs : ilist (B := methDef (Rep := AbstractRep)) DelegateMethodSigs) (DelegateSpecs := BuildADT DelegateConstructorSpecs DelegateMethodSpecs) (ConcreteRep : Type) (DelegateImpl : ADT DelegateSigs) (ValidImpl : refineADT DelegateSpecs DelegateImpl) : forall midx (c : methodType (AbstractRep) (fst (MethodDomCod DelegateSigs midx)) (snd (MethodDomCod DelegateSigs midx))), c = (Methods DelegateSpecs midx) -> refineMethod (AbsR ValidImpl) c (Methods DelegateImpl midx).
imports: Fiat.QueryStructure.Automation.MasterPlan Bedrock.Memory