fact: Definition BuildADTSig {n n'} (consSigs : Vector.t consSig n) (methSigs : Vector.t methSig n') : DecoratedADTSig := {| DecADTSig := {| ConstructorIndex := Fin.t n; MethodIndex := Fin.t n'; ConstructorDom idx := consDom (Vector.nth consSigs idx); MethodDomCod idx := let domcod := (Vector.nth methSigs idx) in (methDom domcod, methCod domcod) |}; NumConstructors := n; NumMethods := n'; ConstructorNames := Vector.map consID consSigs; MethodNames := Vector.map methID methSigs |}.
imports: Fiat.Common.ilist Fiat.Common.BoundedLookup Fiat.ADT.ADTSig Coq.Lists.List Coq.Strings.String