]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/lib/lambda-delta/syntax/item.ma
- we removed the reduction-related item categorization
[helm.git] / matita / matita / lib / lambda-delta / syntax / item.ma
1 (*
2     ||M||  This file is part of HELM, an Hypertextual, Electronic
3     ||A||  Library of Mathematics, developed at the Computer Science
4     ||T||  Department of the University of Bologna, Italy.
5     ||I||
6     ||T||
7     ||A||  This file is distributed under the terms of the
8     \   /  GNU General Public License Version 2
9      \ /
10       V_______________________________________________________________ *)
11
12 (* THE FORMAL SYSTEM λδ - MATITA SOURCE SCRIPTS 
13  * Specification started: 2011 April 17
14  * - Patience on me so that I gain peace and perfection! -
15  * [ suggested invocation to start formal specifications with ]
16  *)
17
18 include "lambda-delta/ground.ma".
19
20 (* BINARY ITEMS *************************************************************)
21
22 (* binary binding items *)
23 inductive bind2: Type[0] ≝
24 | Abbr: bind2 (* abbreviation *)
25 | Abst: bind2 (* abstraction *)
26 .
27
28 (* binary non-binding items *)
29 inductive flat2: Type[0] ≝
30 | Appl: flat2 (* application *)
31 | Cast: flat2 (* explicit type annotation *)
32 .
33
34 (* binary items *)
35 inductive item2: Type[0] ≝
36 | Bind: bind2 → item2 (* binding item *)
37 | Flat: flat2 → item2 (* non-binding item *)
38 .
39
40 coercion item2_of_bind2: ∀I:bind2.item2 ≝ Bind on _I:bind2 to item2.
41
42 coercion item2_of_flat2: ∀I:flat2.item2 ≝ Flat on _I:flat2 to item2.