WIP coq: debruijn terms
This commit is contained in:
parent
d1742c51d5
commit
2d557e51e4
1 changed files with 27 additions and 1 deletions
28
coq/terms.v
28
coq/terms.v
|
@ -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.
|
||||||
|
|
Loading…
Reference in a new issue