X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Falpha_1%2Fsyntax%2Fterm.ma;h=697150232a623f8601c761b1e54a81580ee284de;hp=4334a09188fdc805314f2bcec4f1e1e944c64250;hb=caf822cbe34e204e6d1b72e272373b561c1a565a;hpb=dfa1cda217f6b9a871ecbdd9bc54920f4a78d301 diff --git a/matita/matita/contribs/lambdadelta/alpha_1/syntax/term.ma b/matita/matita/contribs/lambdadelta/alpha_1/syntax/term.ma index 4334a0918..697150232 100644 --- a/matita/matita/contribs/lambdadelta/alpha_1/syntax/term.ma +++ b/matita/matita/contribs/lambdadelta/alpha_1/syntax/term.ma @@ -12,69 +12,46 @@ (* *) (**************************************************************************) -include "static_2/notation/functions/snitem2_3.ma". -include "static_2/notation/functions/star_0.ma". -include "static_2/notation/functions/snabstpos_2.ma". -include "static_2/notation/functions/snabbr_3.ma". -include "static_2/notation/functions/snabbrpos_2.ma". -include "static_2/notation/functions/snabbrneg_2.ma". -include "alpha_1/notation/functions/snitem1_2.ma". -include "alpha_1/notation/functions/snstar_2.ma". -include "alpha_1/notation/functions/snlref_2.ma". -include "alpha_1/notation/functions/sngref_2.ma". -include "alpha_1/notation/functions/snabstneg_1.ma". -include "alpha_1/notation/functions/snproj_3.ma". -include "alpha_1/notation/functions/snprojpos_2.ma". -include "alpha_1/notation/functions/snprojneg_2.ma". -include "alpha_1/syntax/item.ma". +(* THE FORMAL SYSTEM λα: MATITA SOURCE FILES + * Initial invocation: - Patience on me to gain peace and perfection! - + * Conceived since: 2014 July 25 + * Developed since: 2021 June 17 + *) + +include "ground/arith/nat.ma". +include "static_2/notation/functions/star_1.ma". +include "static_2/notation/functions/gref_1.ma". +include "static_2/notation/functions/snappl_2.ma". +include "static_2/notation/functions/snabbr_2.ma". +include "alpha_1/notation/functions/snabst_1.ma". (* TERMS ********************************************************************) (* terms *) inductive term: Type[0] ≝ - | TAtom: term (* atomic item construction *) - | TUnit: item1 → term → term (* unary item construction *) - | TPair: item2 → term → term → term (* binary item construction *) + | TChar: nat → term (* character: starts at 0 *) + | TGRef: nat → term (* reference by level: starts at 0 *) + | TAbst: term → term (* abstraction: scope *) + | TAbbr: term → term → term (* abbreviation: definition, scope *) + | TCons: term → term → term (* group: body, tail *) . -interpretation "top (term)" - 'Star = TAtom. +interpretation + "character (terms)" + 'Star c = (TChar c). -interpretation "term construction (unary)" - 'SnItem1 I T = (TUnit I T). +interpretation + "reference (terms)" + 'GRef l = (TGRef l). -interpretation "term construction (binary)" - 'SnItem2 I T1 T2 = (TPair I T1 T2). +interpretation + "group (terms)" + 'SnAppl T1 T2 = (TCons T1 T2). -interpretation "character (term)" - 'SnStar s T = (TUnit (Char s) T). +interpretation + "abbreviation (terms)" + 'SnAbbr T1 T2 = (TAbbr T1 T2). -interpretation "local reference (term)" - 'SnLRef i T = (TUnit (LRef i) T). - -interpretation "global reference (term)" - 'SnGRef l T = (TUnit (GRef l) T). - -interpretation "negative abbreviation (term)" - 'SnAbbrNeg T = (TUnit Decl T). - -interpretation "positive abstraction (term)" - 'SnAbstPos T1 T2 = (TPair Abst T1 T2). - -interpretation "abbreviation (term)" - 'SnAbbr p T1 T2 = (TPair (Abbr p) T1 T2). - -interpretation "positive abbreviation (term)" - 'SnAbbrPos T1 T2 = (TPair (Abbr true) T1 T2). - -interpretation "negative abbreviation (term)" - 'SnAbbrNeg T1 T2 = (TPair (Abbr false) T1 T2). - -interpretation "projection (term)" - 'SnProj p T1 T2 = (TPair (Proj p) T1 T2). - -interpretation "positive projection (term)" - 'SnProjPos T1 T2 = (TPair (Proj true) T1 T2). - -interpretation "negative projection (term)" - 'SnProjNeg T1 T2 = (TPair (Proj false) T1 T2). +interpretation + "abstraction (terms)" + 'SnAbst T = (TAbst T).