X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fhelp%2FC%2Fsec_terms.xml;h=11b06b21cab7269c8bd3bd2867ed8bc48b31f1c5;hb=aebd5af5c7d3e422813159d81fde05b6a9778765;hp=faa4f765fedbac4f32d2cb7007c105db6059c8f3;hpb=097487efb60f77326ea3959db169be9ee6c40da1;p=helm.git
diff --git a/helm/software/matita/help/C/sec_terms.xml b/helm/software/matita/help/C/sec_terms.xml
index faa4f765f..11b06b21c 100644
--- a/helm/software/matita/help/C/sec_terms.xml
+++ b/helm/software/matita/help/C/sec_terms.xml
@@ -5,65 +5,111 @@
Syntax
To describe syntax in this manual we use the following conventions:
- Non terminal symbols are emphasized and have a link to their definition. E.g.: &term;
- Terminal symbols are in bold. E.g.: theorem
- Optional sequences of elements are put in square brackets.
- E.g.: [in &term;]
- Alternatives are put in square brakets and they are separated
- by vertical bars. E.g.: [<|>]
- Repetition of sequences of elements are given by putting the
- first sequence in square brackets, that are followed by three dots.
- E.g.: [and &term;]â¦
+ Non terminal symbols are emphasized and have a link to their
+ definition. E.g.: &term;
+ Terminal symbols are in bold. E.g.:
+ theorem
+ Optional sequences of elements are put in square brackets.
+ E.g.: [in &term;]
+ Alternatives are put in square brakets and they are
+ separated by vertical bars. E.g.: [<|>]
+ Repetitions of a sequence of elements are given by putting the
+ sequence in square brackets, that are followed by three dots. The empty
+ sequence is a valid repetition.
+ E.g.: [and &term;]â¦
+ Characters belonging to a set of characters are given
+ by listing the set elements in square brackets. Hyphens are used to
+ specify ranges of characters in the set.
+ E.g.: [a-zA-Z0-9_-]
Terms & co.
Lexical conventions
-
-
-
-
-
- &id;
- ::=
- â©â©&TODO;âªâª
-
-
-
-
-
-
-
-
-
- &nat;
- ::=
- â©â©&TODO;âªâª
-
-
-
-
-
-
-
-
-
- &uri;
- ::=
- â©â©&TODO;âªâª
-
-
-
-
+
+ id
+
+
+
+ &id;
+ ::=
+ â©â©any sequence of letters, underscores or valid XML digits prefixed by a latin letter ([a-zA-Z]) and post-fixed by a possible empty sequence of decorators ([?'`])âªâª
+
+
+
+
+
+ nat
+
+
+
+ &nat;
+ ::=
+ â©â©any sequence of valid XML digitsâªâª
+
+
+
+
+
+ char
+
+
+
+ &char;
+ ::=
+ [a-zA-Z0-9_-]
+
+
+
+
+
+ uri-step
+
+
+
+ &uri-step;
+ ::=
+ &char;[&char;]â¦
+
+
+
+
+
+ uri
+
+
+
+ &uri;
+ ::=
+ [cic:/|theory:/]&uri-step;[/&uri-step;]â¦.&id;[.&id;]â¦[#xpointer(&nat;/&nat;[/&nat;]â¦)]
+
+
+
+
Terms
-
+
+
+
+
+
+
+ Terms
-
- &term;
+ &term;
::=
&sterm;
simple or delimited term
@@ -107,11 +153,10 @@
|
- let
- [co]rec
- &id; [&id;|(&id;[,&term;]⦠:&term;)]⦠[on &nat;]
- [: &term;]
- â &term;
+
+ let
+ [co]rec
+ &rec_def;
(co)recursive definitions
@@ -119,10 +164,7 @@
- [and
- [&id;|(&id;[,&term;]⦠:&term;)]⦠[on &nat;]
- [: &term;]
- â &term;]â¦
+ [and &rec_def;]â¦
@@ -140,16 +182,34 @@
â¦
user provided notation
+
+ &rec_def;
+ ::=
+
+ &id; [&id;|(&id;[,&term;]⦠:&term;)]â¦
+
+
+
+
+
+
+
+ [on &nat;]
+ [: &term;]
+ â &term;]
+
+
+
-
+
+ Simple terms
-
- &sterm;
+ &sterm;
::=
(&term;)
@@ -218,11 +278,9 @@
[
- &match_pattern; â &term;
- [
- |
- &match_pattern; â &term;
- ]â¦]
+ &match_branch;[|&match_branch;]â¦
+ ]
+
@@ -241,12 +299,12 @@
-
+
+ Arguments
-
- &args;
+ &args;
::=
_[: &term;]
@@ -273,16 +331,8 @@
(&id;[,&id;]â¦[: &term;])
-
-
-
-
-
-
-
-
- &args2;
+ &args2;
::=
&id;
@@ -297,12 +347,18 @@
-
+
+ Pattern matching
-
-
- &match_pattern;
+
+ &match_branch;
+ ::=
+ &match_pattern; â &term;
+
+
+
+ &match_pattern;
::=
&id;
0-ary constructor
@@ -316,6 +372,7 @@
+
@@ -344,7 +401,7 @@
[inductive|coinductive] &id; [&args2;]⦠: &term; â [|] [&id;:&term;] [| &id;:&term;]â¦
-[with &id; : &term; â [|] [&id;:&term;] [| &id;:&term;]â¦]
+[with &id; : &term; â [|] [&id;:&term;] [| &id;:&term;]â¦]â¦
(co)inductive types declaration
inductive i x y z: S â k1:T1 | ⦠| kn:Tn with i' : S' â k1':T1' | ⦠| km':Tm'
@@ -443,5 +500,95 @@
+
+ Tactic arguments
+ This section documents the syntax of some recurring arguments for
+ tactics.
+
+
+ intros-spec
+
+ intros-spec
+
+
+
+ &intros-spec;
+ ::=
+ [&nat;] [([&id;]â¦)]
+
+
+
+
+ The natural number is the number of new hypotheses to be introduced. The list of identifiers gives the name for the first hypotheses.
+
+
+
+ pattern
+
+ pattern
+
+
+
+ &pattern;
+ ::=
+ &TODO;
+
+
+
+
+ &TODO;
+
+
+
+ reduction-kind
+ Reduction kinds are normalization functions that transform a term
+ to a convertible but simpler one. Each reduction kind can be used both
+ as a tactic argument and as a stand-alone tactic.
+
+ reduction-kind
+
+
+
+ &reduction-kind;
+ ::=
+ demodulate
+
+
+
+ |
+ normalize
+ Computes the βδιζ-normal form
+
+
+
+ |
+ reduce
+ Computes the βδιζ-normal form
+
+
+
+ |
+ simplify
+ Computes a form supposed to be simpler
+
+
+
+ |
+ unfold [&sterm;]
+ δ-reduces the constant or variable if specified, or that
+ in head position
+
+
+
+ |
+ whd
+ Computes the βδιζ-weak-head normal form
+
+
+
+
+
+
+