fact: Record SharpenedUnderDelegates (Sig : ADTSig) : Type := Build_SharpenedUnderDelegates { Sharpened_DelegateIDs : nat; Sharpened_DelegateSigs : Fin.t Sharpened_DelegateIDs -> ADTSig; Sharpened_Implementation : forall (DelegateReps : Fin.t Sharpened_DelegateIDs -> Type) (DelegateImpls : forall idx, pcADT (Sharpened_DelegateSigs idx) (DelegateReps idx)), cADT Sig; Sharpened_DelegateSpecs : forall idx, ADT (Sharpened_DelegateSigs idx) }.
imports: Coq.Lists.List Coq.Strings.String Fiat.Common Fiat.Common.ilist Fiat.Common.BoundedLookup Fiat.ADT.Core Fiat.ADT.ComputationalADT Fiat.ADTRefinement.Core Fiat.ADTRefinement.SetoidMorphisms