X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fhelp%2FC%2Fsec_terms.xml;h=3cae2f84c1866ad13d858e14eb32953176c38c13;hb=a5bfa65b18a876fca982270f673c686a7d124f65;hp=2e5f406c9252f0a6719aa322e0906a112e48cdac;hpb=20b60553cce4dc729f58a078619207d82e94192f;p=helm.git diff --git a/matita/help/C/sec_terms.xml b/matita/help/C/sec_terms.xml index 2e5f406c9..3cae2f84c 100644 --- a/matita/help/C/sec_terms.xml +++ b/matita/help/C/sec_terms.xml @@ -285,7 +285,7 @@ | match &term; - [ in &term; ] + [ in &id; ] [ return &term; ] with @@ -393,6 +393,12 @@ &id; &id; [&id;]… n-ary constructor (binds the n arguments) + + + | + _ + any remaining constructor (ignoring its arguments) + @@ -426,7 +432,7 @@ <emphasis role="bold">letrec</emphasis> &TODO; &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;]… @@ -568,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> @@ -584,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> @@ -597,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