WIP coq: debruijn terms

This commit is contained in:
Michael Sippel 2024-09-04 12:47:03 +02:00
parent d1742c51d5
commit 2d557e51e4
Signed by: senvas
GPG key ID: F96CF119C34B64A6

View file

@ -30,6 +30,33 @@ Inductive expr_term : Type :=
| expr_descend : type_term -> expr_term -> expr_term | expr_descend : type_term -> expr_term -> expr_term
. .
(* TODO
Inductive type_DeBruijn : Type :=
| id : nat -> type_DeBruijn
| var : nat -> type_DeBruijn
| fun : type_DeBruijn -> type_DeBruijn -> type_DeBruijn
| univ : type_DeBruijn -> type_DeBruijn
| spec : type_DeBruijn -> type_DeBruijn -> type_DeBruijn
| morph : type_DeBruijn -> type_DeBruijn -> type_DeBruijn
| ladder : type_DeBruijn -> type_DeBruijn -> type_DeBruijn
Inductive expr_DeBruijn : Type :=
| var : nat -> expr_DeBruijn
| ty_abs : expr_DeBruijn -> expr_DeBruijn
| ty_app : expr_DeBruijn -> type_DeBruijn -> expr_Debruijn
| abs : type_DeBruijn -> expr_DeBruijn -> expr_DeBruijn
| morph : type_DeBruijn -> expr_DeBruijn -> expr_Debruijn
| app : expr_DeBruijn -> expr_DeBruijn -> expr_Debruijn
| let : type_DeBruijn -> expr_DeBruijn -> expr_Debruijn -> expr_Debruijn
| ascend : type_DeBruijn -> expr_DeBruijn -> expr_DeBruijn
| descend : type_DeBruijn -> expr_DeBruijn -> expr_DeBruijn
.
*)
(* values *) (* values *)
Inductive is_value : expr_term -> Prop := Inductive is_value : expr_term -> Prop :=
| V_Abs : forall x τ e, | V_Abs : forall x τ e,
@ -44,7 +71,6 @@ Inductive is_value : expr_term -> Prop :=
. .
Declare Scope ladder_type_scope. Declare Scope ladder_type_scope.
Declare Scope ladder_expr_scope. Declare Scope ladder_expr_scope.
Declare Custom Entry ladder_type. Declare Custom Entry ladder_type.