Universes i j. Set Printing Universes. Set Printing All.
Polymorphic Definition lt@{x y} : Type@{y} := Type@{x}. Goal True.
evar (T:Type@{i}). set (Z := nat : Type@{j}). simpl in Z. let Tv:=eval cbv [T] in T in pose (x:=Tv).
revert x.
refine (_ : let x:=Z in True). (** This enforces i <= j *)
Fail pose (lt@{i j}). let Zv:=eval cbv [Z] in Z in let Tv:=eval cbv [T] in T in
constr_eq Zv Tv. exact I. Defined.
Goal True.
evar (T:nat). pose (Z:=0). let Tv:=eval cbv [T] in T in pose (x:=Tv).
revert x.
refine (_ : let x:=Z in True). let Zv:=eval cbv [Z] in Z in let Tv:=eval cbv [T] in T in
constr_eq Zv Tv. Abort.
Goal True.
evar (T:Set). pose (Z:=nat). let Tv:=eval cbv [T] in T in pose (x:=Tv).
revert x.
refine (_ : let x:=Z in True). let Zv:=eval cbv [Z] in Z in let Tv:=eval cbv [T] in T in
constr_eq Zv Tv. Abort.
Goalforall (A:Type)(a:A), True. intros A a.
evar (T:A). pose (Z:=a). let Tv:=eval cbv delta [T] in T in pose (x:=Tv).
revert x.
refine (_ : let x:=Z in True). let Zv:=eval cbv [Z] in Z in let Tv:=eval cbv [T] in T in
constr_eq Zv Tv. Abort.
Goal True.
evar (T:Type). pose (Z:=nat). let Tv:=eval cbv [T] in T in pose (x:=Tv).
revert x.
refine (_ : let x:=Z in True). let Zv:=eval cbv [Z] in Z in let Tv:=eval cbv [T] in T in
constr_eq Zv Tv. Abort.
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
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.