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 (* THE FORMAL SYSTEM λα: MATITA SOURCE FILES
16 * Initial invocation: - Patience on me to gain peace and perfection! -
17 * Conceived since: 2014 July 25
18 * Developed since: 2021 June 17
21 include "ground/arith/nat.ma".
22 include "static_2/notation/functions/star_1.ma".
23 include "static_2/notation/functions/gref_1.ma".
24 include "static_2/notation/functions/snappl_2.ma".
25 include "static_2/notation/functions/snabbr_2.ma".
26 include "alpha_1/notation/functions/snabst_1.ma".
28 (* TERMS ********************************************************************)
31 inductive term: Type[0] ≝
32 | TChar: nat → term (* character: starts at 0 *)
33 | TGRef: nat → term (* reference by level: starts at 0 *)
34 | TAbst: term → term (* abstraction: scope *)
35 | TAbbr: term → term → term (* abbreviation: definition, scope *)
36 | TCons: term → term → term (* group: body, tail *)
49 'SnAppl T1 T2 = (TCons T1 T2).
52 "abbreviation (terms)"
53 'SnAbbr T1 T2 = (TAbbr T1 T2).
57 'SnAbst T = (TAbst T).