SetImplicitArguments. Set Universe Polymorphism. Set Printing Universes.
Inductive type_paths (A : Type) : Type -> Prop
:= idtypepath : type_paths A A.
Monomorphic Definition comp_type_paths := Evalcompute in type_paths@{TypeType}. Check comp_type_paths. (* comp_type_paths
: Type (* Top.12 *) (* This is terrible. *)
Inductive type_paths' (A : Type) : Type -> Prop
:= idtypepath' : type_paths' A A
| other_type_path : False -> forall B : Type, type_paths' A B.
Monomorphic Definition comp_type_paths' := Evalcompute in type_paths'. Check comp_type_paths'. (* comp_type_paths'
: Type (* Top.24 *) (* Ok, then ... *)
(** Fail if it's [U0 -> U0 -> _], but not on [U0 -> U1 -> _]. *) GoalType. Proof. matchtype of comp_type_paths' with
| ?U0 -> ?U1 -> ?R
=> exact (@comp_type_paths' nat U0) end. Defined.
GoalType. Proof. matchtype of comp_type_paths with
| ?U0 -> ?U1 -> ?R
=> exact (@comp_type_paths nat U0) end. (* Toplevel input, characters 110-112: Error:
The term "Type (* Top.51 *)
while it is expected to have type"Type (* Top.51 *)"
(Universe inconsistency: Cannot enforce Top.51 < Top.51 because Top.51
= Top.51)). *)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.