1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* A SYSTEM OF λ-CALCULUS WITH DELAYED UPDATING
16 * Initial invocation: - Patience on me to gain peace and perfection! -
19 include "ground/arith/nat.ma".
20 include "delayed_updating/notation/functions/nodelabel_d_1.ma".
21 include "delayed_updating/notation/functions/nodelabel_d_2.ma".
22 include "delayed_updating/notation/functions/nodelabel_m_0.ma".
23 include "delayed_updating/notation/functions/edgelabel_l_0.ma".
24 include "delayed_updating/notation/functions/edgelabel_a_0.ma".
25 include "delayed_updating/notation/functions/edgelabel_s_0.ma".
27 (* LABEL ********************************************************************)
29 inductive label: Type[0] ≝
30 | label_d : pnat → label
31 | label_d2: pnat → nat → label
39 "variable reference by depth (label)"
40 'NodeLabelD k = (label_d k).
43 "variable reference by depth with offset (label)"
44 'NodeLabelD k d = (label_d2 k d).
48 'NodeLabelM = (label_m).
51 "name-free functional abstruction (label)"
52 'EdgeLabelL = (label_L).
56 'EdgeLabelA = (label_A).
60 'EdgeLabelS = (label_S).