Thiserrormessageremindsusthattheuniversevariablefor[T]stillexists,eventhoughitisusuallyhidden.Toapply[id]toitself,thatvariablewouldneedtobelessthanitselfinthetypehierarchy.Universeinconsistencyerrormessagesannouncecaseslikethisonewhereatermcouldonlytype-checkbyviolatinganimpliedconstraintoveruniversevariables.Sucherrorsdemonstratethat[Type]is%\textit{%#<i>#predicative#</i>#%}%,wherethiswordhasaCICmeaningcloselyrelatedtoitsusualmathematicalmeaning.Apredicativesystemenforcestheconstraintthat,foranyobjectofquantifiedtype,noneofthosequantifiersmayneverbeinstantiatedwiththeobjectitself.Impredicativityisassociatedwithpopularparadoxesinsettheory,involvinginconsistentconstructionslike"the set of all sets that do not contain themselves."SimilarparadoxesresultfromuncontrolledimpredicativityinCoq.*)
Thiserrormessageremindsusthattheuniversevariablefor[T]stillexists,eventhoughitisusuallyhidden.Toapply[id]toitself,thatvariablewouldneedtobelessthanitselfinthetypehierarchy.Universeinconsistencyerrormessagesannouncecaseslikethisonewhereatermcouldonlytype-checkbyviolatinganimpliedconstraintoveruniversevariables.Sucherrorsdemonstratethat[Type]is%\textit{%#<i>#predicative#</i>#%}%,wherethiswordhasaCICmeaningcloselyrelatedtoitsusualmathematicalmeaning.Apredicativesystemenforcestheconstraintthat,foranyobjectofquantifiedtype,noneofthosequantifiersmayeverbeinstantiatedwiththeobjectitself.Impredicativityisassociatedwithpopularparadoxesinsettheory,involvinginconsistentconstructionslike"the set of all sets that do not contain themselves."SimilarparadoxesresultfromuncontrolledimpredicativityinCoq.*)
(****InductiveDefinitions*)
...
...
@@ -189,7 +189,9 @@ Inductive exp : Type -> Type :=