- <para>The tactic <command>normalize</command> </para>
- </sect2>
- <sect2 id="tac_paramodulation">
- <title>paramodulation <pattern></title>
- <para>The tactic <command>paramodulation</command> </para>
- </sect2>
- <sect2 id="tac_reduce">
- <title>reduce <pattern></title>
- <para>The tactic <command>reduce</command> </para>
- </sect2>
- <sect2 id="tac_reflexivity">
- <title>reflexivity</title>
- <para>The tactic <command>reflexivity</command> </para>
- </sect2>
- <sect2 id="tac_replace">
- <title>replace <pattern> with <term></title>
- <para>The tactic <command>replace</command> </para>
- </sect2>
- <sect2 id="tac_rewrite">
- <title>rewrite {<|>} <term> <pattern></title>
- <para>The tactic <command>rewrite</command> </para>
- </sect2>
- <sect2 id="tac_right">
- <title>right</title>
- <para>The tactic <command>right</command> </para>
- </sect2>
- <sect2 id="tac_ring">
+ <titleabbrev>normalize</titleabbrev>
+ <para><userinput>normalize patt</userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para>none.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>it replaces all the terms matched by <command>patt</command>
+ with their βδιζ-normal form.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>none.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_paramodulation">
+ <title>paramodulation <pattern></title>
+ <titleabbrev>paramodulation</titleabbrev>
+ <para><userinput>paramodulation patt</userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para>TODO.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>TODO.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>TODO.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_reduce">
+ <title>reduce <pattern></title>
+ <titleabbrev>reduce</titleabbrev>
+ <para><userinput>reduce patt</userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para>none.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>it replaces all the terms matched by <command>patt</command>
+ with their βδιζ-normal form.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>none.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_reflexivity">
+ <title>reflexivity</title>
+ <titleabbrev>reflexivity</titleabbrev>
+ <para><userinput>reflexivity </userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para>the conclusion of the current sequent must be
+ <command>t=t</command> for some term <command>t</command></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>it closes the current sequent by reflexivity
+ of equality.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>none.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_replace">
+ <title>replace <pattern> with <term></title>
+ <titleabbrev>change</titleabbrev>
+ <para><userinput>change patt with t</userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para>none.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>it replaces the subterms of the current sequent matched by
+ <command>patt</command> with the new term <command>t</command>.
+ For each subterm matched by the pattern, <command>t</command> is
+ disambiguated in the context of the subterm.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>for each matched term <command>t'</command> it opens
+ a new sequent to prove whose conclusion is
+ <command>t'=t</command>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_rewrite">
+ <title>rewrite {<|>} <term> <pattern></title>
+ <titleabbrev>rewrite</titleabbrev>
+ <para><userinput>rewrite dir p patt</userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para><command>p</command> must be the proof of an equality,
+ possibly under some hypotheses.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>it looks in every term matched by <command>patt</command>
+ for all the occurrences of the
+ left hand side of the equality that <command>p</command> proves
+ (resp. the right hand side if <command>dir</command> is
+ <command><</command>). Every occurence found is replaced with
+ the opposite side of the equality.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>it opens one new sequent for each hypothesis of the
+ equality proved by <command>p</command> that is not closed
+ by unification.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_right">
+ <title>right</title>
+ <titleabbrev>right</titleabbrev>
+ <para><userinput>right </userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para>the conclusion of the current sequent must be
+ an inductive type or the application of an inductive type with
+ at least two constructors.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>equivalent to <command>constructor 2</command>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>it opens a new sequent for each premise of the second
+ constructor of the inductive type that is the conclusion of the
+ current sequent. For more details, see the <command>constructor</command> tactic.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_ring">