fact: Record DelegationADT (Sig : ADTSig) : Type := Build_SharpenedUnderDelegates { DelegateeIDs : nat; DelegateeSigs : Fin.t DelegateeIDs -> ADTSig; DelegatedImplementation : forall (DelegateeReps : Fin.t DelegateeIDs -> Type) (DelegateeConsImpls : forall idx (cidx : ConstructorIndex (DelegateeSigs idx)), constructorType (DelegateeReps idx) (ConstructorDom _ cidx)) (DelegateMethImpls : forall idx (midx : MethodIndex (DelegateeSigs idx)), methodType (DelegateeReps idx) (fst (MethodDomCod _ midx)) (snd (MethodDomCod _ midx))), ADT Sig; DelegateeSpecs : forall idx, ADT (DelegateeSigs idx) }.
imports: Fiat.QueryStructure.Automation.MasterPlan Bedrock.Memory