X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fhelp%2FC%2Fsec_terms.xml;h=3cae2f84c1866ad13d858e14eb32953176c38c13;hb=f2e7cb9757a151382ed3a70d1a610e8f729a6597;hp=a44131ebdf37b30775f53979244fafb42fa2502d;hpb=f90f8c9a11c19b882a8fbe4aea6bf46f7751c2f1;p=helm.git diff --git a/matita/help/C/sec_terms.xml b/matita/help/C/sec_terms.xml index a44131ebd..3cae2f84c 100644 --- a/matita/help/C/sec_terms.xml +++ b/matita/help/C/sec_terms.xml @@ -27,13 +27,13 @@ Lexical conventions - string + qstring - &string; + &qstring; ::= - 〈〈any sequence of characters excluded "〉〉 + "〈〈any sequence of characters excluded "〉〉" @@ -198,7 +198,7 @@ &rec_def;::= - &id; [&id;|(&id;[,&term;]… :&term;)]… + &id; [&id;|_|(&id;[,&id;]… :&term;)]… @@ -206,7 +206,7 @@ - [on &nat;] + [on &id;] [: &term;] ≝ &term;] @@ -285,7 +285,7 @@ | match &term; - [ in &term; ] + [ in &id; ] [ return &term; ] with @@ -387,6 +387,18 @@ (&id; &id; [&id;]…) n-ary constructor (binds the n arguments) + + + | + &id; &id; [&id;]… + n-ary constructor (binds the n arguments) + + + + | + _ + any remaining constructor (ignoring its arguments) +
@@ -417,6 +429,11 @@ f must be defined by means of tactics. Notice that the command is equivalent to theorem f: T ≝ t.
+ + <emphasis role="bold">letrec</emphasis> &TODO; + &TODO; + &TODO; + [<emphasis role="bold">inductive</emphasis>|<emphasis role="bold">coinductive</emphasis>] &id; [&args2;]… <emphasis role="bold">:</emphasis> &term; <emphasis role="bold">≝</emphasis> [<emphasis role="bold">|</emphasis>] [&id;<emphasis role="bold">:</emphasis>&term;] [<emphasis role="bold">|</emphasis> &id;<emphasis role="bold">:</emphasis>&term;]… [<emphasis role="bold">with</emphasis> &id; <emphasis role="bold">:</emphasis> &term; <emphasis role="bold">≝</emphasis> [<emphasis role="bold">|</emphasis>] [&id;<emphasis role="bold">:</emphasis>&term;] [<emphasis role="bold">|</emphasis> &id;<emphasis role="bold">:</emphasis>&term;]…]… @@ -557,7 +574,7 @@ <row> <entry/> <entry>|</entry> - <entry><emphasis role="bold">in match</emphasis> &term; + <entry><emphasis role="bold">in match</emphasis> &path; [<emphasis role="bold">in</emphasis> [&id;[<emphasis role="bold">:</emphasis> &path;]]… [<emphasis role="bold">⊢</emphasis> &path;]]</entry> @@ -573,7 +590,7 @@ <row> <entry id="grammar.path">&path;</entry> <entry>::=</entry> - <entry><emphasis>〈〈any &sterm; whithout occurrences of <emphasis role="bold">Set</emphasis>, <emphasis role="bold">Prop</emphasis>, <emphasis role="bold">CProp</emphasis>, <emphasis role="bold">Type</emphasis>, &id;, &uri; and user provided notation; however, <emphasis role="bold">%</emphasis> is now an additional production for &sterm;〉〉</emphasis></entry> + <entry><emphasis>〈〈any &sterm; without occurrences of <emphasis role="bold">Set</emphasis>, <emphasis role="bold">Prop</emphasis>, <emphasis role="bold">CProp</emphasis>, <emphasis role="bold">Type</emphasis>, &id;, &uri; and user provided notation; however, <emphasis role="bold">%</emphasis> is now an additional production for &sterm;〉〉</emphasis></entry> </row> </tbody> </tgroup> @@ -586,6 +603,26 @@ that can be represented by <emphasis role="bold">?</emphasis>. </para></listitem> </orderedlist> + <para>Warning: the format for a path for a <emphasis role="bold">match</emphasis> … <emphasis role="bold">with</emphasis> + expression is restricted to: <emphasis role="bold">match</emphasis> &path; + <emphasis role="bold">with</emphasis> + <emphasis role="bold">[</emphasis> + <emphasis role="bold">_</emphasis> + <emphasis role="bold">⇒</emphasis> + &path; + <emphasis role="bold">|</emphasis> … + <emphasis role="bold">|</emphasis> + <emphasis role="bold">_</emphasis> + <emphasis role="bold">⇒</emphasis> + &path; + <emphasis role="bold">]</emphasis> + Its semantics is the following: the n-th + "<emphasis role="bold">_</emphasis> + <emphasis role="bold">⇒</emphasis> + &path;" branch is matched against the n-th constructor of the + inductive data type. The head λ-abstractions of &path; are matched + against the corresponding constructor arguments. + </para> <para>For instance, the path <userinput>∀_,_:?.(? ? % ?)→(? ? ? %)</userinput> locates at once the subterms @@ -687,6 +724,36 @@ </tgroup> </table> </sect2> + + <sect2 id="auto-params"> + <title>auto-params + &TODO; + + reduction-kind + + + + &autoparams; + ::= + depth=&nat; + &TODO; + + + + | + width=&nat; + &TODO; + + + + | + &TODO; + &TODO; + + + +
+