]> matita.cs.unibo.it Git - helm.git/blob - helm/www/matita/docs/manual-0.5.9/command_coercion.html
0.5.9 released
[helm.git] / helm / www / matita / docs / manual-0.5.9 / command_coercion.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>coercion</title><link rel="stylesheet" type="text/css" href="docbook.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="Matita V0.5.9 User Manual (rev. 0.5.9 )" /><link rel="up" href="sec_commands.html" title="Chapter 9. Other commands" /><link rel="prev" href="command_prefer_coercion.html" title="prefer coercion" /><link rel="next" href="command_default.html" title="default" /></head><body><a xmlns="" href="../../../"><div class="matita_logo"><img src="figures/matita.png" alt="Tiny Matita logo" /><span>Matita Home</span></div></a><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">coercion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="command_prefer_coercion.html">Prev</a> </td><th width="60%" align="center">Chapter 9. Other commands</th><td width="20%" align="right"> <a accesskey="n" href="command_default.html">Next</a></td></tr></table><hr /></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="command_coercion"></a>coercion</h2></div></div></div><p><strong class="userinput"><code>coercion u with ariety saturation nocomposites</code></strong></p><p>
3      </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Synopsis:</span></dt><dd><p>
4                          <span class="bold"><strong>coercion</strong></span> 
5                          (<span class="emphasis"><em><a class="link" href="sec_terms.html#grammar.uri">uri</a></em></span> | <span class="emphasis"><em><a class="link" href="sec_terms.html#grammar.term">term</a></em></span> <span class="bold"><strong>with</strong></span>)
6                          [ <span class="emphasis"><em><a class="link" href="sec_terms.html#grammar.nat">nat</a></em></span> [<span class="emphasis"><em><a class="link" href="sec_terms.html#grammar.nat">nat</a></em></span>]] 
7                          [ <span class="bold"><strong>nocomposites</strong></span> ]
8                  </p></dd><dt><span class="term">Action:</span></dt><dd><p>Declares <span class="command"><strong>u</strong></span> as an implicit coercion.
9                  If the type of <span class="command"><strong>u</strong></span> is      
10                  <span class="command"><strong>∀x1:T1. … ∀x(n-1):T(n-1).Tn</strong></span> the coercion target is
11                  <span class="command"><strong>T(n - ariety)</strong></span> while its source is 
12                  <span class="command"><strong>T(n - ariety - saturation - 1)</strong></span>.
13             Every time a term <span class="command"><strong>x</strong></span>
14             of type source is used with expected type target, Matita
15             automatically replaces <span class="command"><strong>x</strong></span> with
16             <span class="command"><strong>(u ? … ? x ? … ?)</strong></span> to avoid a typing error.</p>
17             Note that the number of <span class="command"><strong>?</strong></span> added after 
18             <span class="command"><strong>x</strong></span> is saturation.
19            <p>Implicit coercions are not displayed to the user:
20             <span class="command"><strong>(u ? … ? x)</strong></span> is rendered simply
21             as <span class="command"><strong>x</strong></span>.</p><p>When a coercion <span class="command"><strong>u</strong></span> is declared
22             from source <span class="command"><strong>s</strong></span> to target <span class="command"><strong>t</strong></span>
23             and there is already a coercion <span class="command"><strong>u'</strong></span> of
24             target <span class="command"><strong>s</strong></span> or source <span class="command"><strong>t</strong></span>,
25             a composite implicit coercion is automatically computed
26             by Matita unless <span class="bold"><strong>nocomposites</strong></span> 
27             is specified.</p></dd></dl></div><p>
28    </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="command_prefer_coercion.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="sec_commands.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="command_default.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">prefer coercion </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> default</td></tr></table></div></body></html>