A simple case of universe inconsistency
问题 I can define the following inductive type: Inductive T : Type -> Type := | c1 : forall (A : Type), A -> T A | c2 : T unit. But then the command Check (c1 (T nat)) fails with the message: The term T nat has type Type@{max(Set, Top.3+1)} while it is expected to have type Type@{Top.3} (universe inconsistency). How can I tweak the above inductive definition so that c1 (T nat) does not cause a universe inconsistency, and without setting universe polymorphism on? The following works, but I would