<!-- ============ Tactics ====================== -->
<chapter id="sec_tactics">
- <title>Tactics</title>
+ <title>Tactics</title>
+
+ <sect1 id="tactics_quickref">
+ <title>Quick reference card</title>
+ <para>
+ &tacticref;
+ </para>
+ </sect1>
<sect1 id="tac_absurd">
- <title>absurd &sterm;</title>
+ <title>absurd</title>
<titleabbrev>absurd</titleabbrev>
<para><userinput>absurd P</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">absurd</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_apply">
- <title>apply &sterm;</title>
+ <title>apply</title>
<titleabbrev>apply</titleabbrev>
<para><userinput>apply t</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">apply</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>assumption </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">assumption</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_auto">
- <title>auto [depth=&nat;] [width=&nat;] [paramodulation] [full]</title>
+ <title>auto</title>
<titleabbrev>auto</titleabbrev>
<para><userinput>auto depth=d width=w paramodulation full</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">auto</emphasis> [<emphasis role="bold">depth=</emphasis>&nat;] [<emphasis role="bold">width=</emphasis>&nat;] [<emphasis role="bold">paramodulation</emphasis>] [<emphasis role="bold">full</emphasis>]</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_clear">
- <title>clear &id;</title>
+ <title>clear</title>
<titleabbrev>clear</titleabbrev>
- <para><userinput>clear H</userinput></para>
+ <para><userinput>
+ clear H<subscript>1</subscript> ... H<subscript>m</subscript>
+ </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para>
+ <emphasis role="bold">clear</emphasis>
+ &id; [&id;…]
+ </para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
- <para><command>H</command> must be an hypothesis of the
- current sequent to prove.</para>
+ <para>
+ <command>
+ H<subscript>1</subscript> ... H<subscript>m</subscript>
+ </command> must be hypotheses of the
+ current sequent to prove.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Action:</term>
<listitem>
- <para>It hides the hypothesis <command>H</command> from the
- current sequent.</para>
+ <para>
+ It hides the hypotheses
+ <command>
+ H<subscript>1</subscript> ... H<subscript>m</subscript>
+ </command> from the current sequent.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
</para>
</sect1>
<sect1 id="tac_clearbody">
- <title>clearbody &id;</title>
+ <title>clearbody</title>
<titleabbrev>clearbody</titleabbrev>
<para><userinput>clearbody H</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">clearbody</emphasis> &id;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_change">
- <title>change <pattern> with &sterm;</title>
+ <title>change</title>
<titleabbrev>change</titleabbrev>
<para><userinput>change patt with t</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">change</emphasis> &pattern; <emphasis role="bold">with</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_constructor">
- <title>constructor &nat;</title>
+ <title>constructor</title>
<titleabbrev>constructor</titleabbrev>
<para><userinput>constructor n</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">constructor</emphasis> &nat;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>contradiction </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">contradiction</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_cut">
- <title>cut &sterm; [as &id;]</title>
+ <title>cut</title>
<titleabbrev>cut</titleabbrev>
<para><userinput>cut P as H</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">cut</emphasis> &sterm; [<emphasis role="bold">as</emphasis> &id;]</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_decompose">
- <title>decompose &id; [&id;]… [<intros_spec>]</title>
+ <title>decompose</title>
<titleabbrev>decompose</titleabbrev>
- <para><userinput>decompose ???</userinput></para>
+ <para><userinput>
+ decompose (T<subscript>1</subscript> ... T<subscript>n</subscript>)
+ H as H<subscript>1</subscript> ... H<subscript>m</subscript>
+ </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para>
+ <emphasis role="bold">decompose</emphasis>
+ [<emphasis role="bold">(</emphasis>
+ &id;…
+ <emphasis role="bold">)</emphasis>]
+ [&id;]
+ [<emphasis role="bold">as</emphasis> &id;…]
+ </para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ <command>H</command> must inhabit one inductive type among
+ <command>
+ T<subscript>1</subscript> ... T<subscript>n</subscript>
+ </command>
+ and the types of a predefined list.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Action:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ Runs <command>
+ elim H H<subscript>1</subscript> ... H<subscript>m</subscript>
+ </command>, clears <command>H</command> and tries to run itself
+ recursively on each new identifier introduced by
+ <command>elim</command> in the opened sequents.
+ If <command>H</command> is not provided tries this operation on
+ each premise in the current context.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>New sequents to prove:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ The ones generated by all the <command>elim</command> tactics run.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect1>
+ <sect1 id="tac_demodulate">
+ <title>demodulate</title>
+ <titleabbrev>demodulate</titleabbrev>
+ <para><userinput>demodulate</userinput></para>
+ <para>
+ <variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">demodulate</emphasis></para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Pre-conditions:</term>
+ <listitem>
+ <para>None.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Action:</term>
+ <listitem>
+ <para>&TODO;</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>New sequents to prove:</term>
+ <listitem>
+ <para>None.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1 id="tac_discriminate">
- <title>discriminate &sterm;</title>
+ <title>discriminate</title>
<titleabbrev>discriminate</titleabbrev>
<para><userinput>discriminate p</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">discriminate</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_elim">
- <title>elim &sterm; [using &sterm;] [<intros_spec>]</title>
+ <title>elim</title>
<titleabbrev>elim</titleabbrev>
<para><userinput>elim t using th hyps</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">elim</emphasis> &sterm; [<emphasis role="bold">using</emphasis> &sterm;] &intros-spec;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_elimType">
- <title>elimType &sterm; [using &sterm;] [<intros_spec>]</title>
+ <title>elimType</title>
<titleabbrev>elimType</titleabbrev>
<para><userinput>elimType T using th hyps</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">elimType</emphasis> &sterm; [<emphasis role="bold">using</emphasis> &sterm;] &intros-spec;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_exact">
- <title>exact &sterm;</title>
+ <title>exact</title>
<titleabbrev>exact</titleabbrev>
<para><userinput>exact p</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">exact</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>exists </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">exists</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_fail">
- <title>fail </title>
- <titleabbrev>failt</titleabbrev>
+ <title>fail</title>
+ <titleabbrev>fail</titleabbrev>
<para><userinput>fail</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">fail</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_fold">
- <title>fold <reduction_kind> &sterm; <pattern></title>
+ <title>fold</title>
<titleabbrev>fold</titleabbrev>
<para><userinput>fold red t patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">fold</emphasis> &reduction-kind; &sterm; &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>fourier </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">fourier</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_fwd">
- <title>fwd &id; [<ident list>]</title>
+ <title>fwd</title>
<titleabbrev>fwd</titleabbrev>
- <para><userinput>fwd ...TODO</userinput></para>
+ <para><userinput>fwd H as H<subscript>0</subscript> ... H<subscript>n</subscript></userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">fwd</emphasis> &id; [<emphasis role="bold">as</emphasis> &id; [&id;]…]</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ The type of <command>H</command> must be the premise of a
+ forward simplification theorem.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Action:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ This tactic is under development.
+ It simplifies the current context by removing
+ <command>H</command> using the following methods:
+ forward application (by <command>lapply</command>) of a suitable
+ simplification theorem, chosen automatically, of which the type
+ of <command>H</command> is a premise,
+ decomposition (by <command>decompose</command>),
+ rewriting (by <command>rewrite</command>).
+ <command>H<subscript>0</subscript> ... H<subscript>n</subscript></command>
+ are passed to the tactics <command>fwd</command> invokes, as
+ names for the premise they introduce.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>New sequents to prove:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ The ones opened by the tactics <command>fwd</command> invokes.
+ </para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1 id="tac_generalize">
- <title>generalize <pattern> [as &id;]</title>
+ <title>generalize</title>
<titleabbrev>generalize</titleabbrev>
<para><userinput>generalize patt as H</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">generalize</emphasis> &pattern; [<emphasis role="bold">as</emphasis> &id;]</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>id </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">id</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_injection">
- <title>injection &sterm;</title>
+ <title>injection</title>
<titleabbrev>injection</titleabbrev>
<para><userinput>injection p</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">injection</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_intro">
- <title>intro [&id;]</title>
+ <title>intro</title>
<titleabbrev>intro</titleabbrev>
<para><userinput>intro H</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">intro</emphasis> [&id;]</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_intros">
- <title>intros <intros_spec></title>
+ <title>intros</title>
<titleabbrev>intros</titleabbrev>
<para><userinput>intros hyps</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">intros</emphasis> &intros-spec;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_inversion">
- <title>inversion &sterm;</title>
+ <title>inversion</title>
<titleabbrev>inversion</titleabbrev>
<para><userinput>inversion t</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">inversion</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_lapply">
- <title>lapply [depth=&nat;] &sterm; [to <term list>] [using &id;]</title>
+ <title>lapply</title>
<titleabbrev>lapply</titleabbrev>
- <para><userinput>lapply ???</userinput></para>
+ <para><userinput>
+ lapply linear depth=d t
+ to t<subscript>1</subscript>, ..., t<subscript>n</subscript> as H
+ </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para>
+ <emphasis role="bold">lapply</emphasis>
+ [<emphasis role="bold">linear</emphasis>]
+ [<emphasis role="bold">depth=</emphasis>&nat;]
+ &sterm;
+ [<emphasis role="bold">to</emphasis>
+ &sterm;
+ [<emphasis role="bold">,</emphasis>&sterm;…]
+ ]
+ [<emphasis role="bold">as</emphasis> &id;]
+ </para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ <command>t</command> must have at least <command>d</command>
+ independent premises and <command>n</command> must not be
+ greater than <command>d</command>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Action:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ Invokes <command>letin H ≝ (t ? ... ?)</command>
+ with enough <command>?</command>'s to reach the
+ <command>d</command>-th independent premise of
+ <command>t</command>
+ (<command>d</command> is maximum if unspecified).
+ Then istantiates (by <command>apply</command>) with
+ t<subscript>1</subscript>, ..., t<subscript>n</subscript>
+ the <command>?</command>'s corresponding to the first
+ <command>n</command> independent premises of
+ <command>t</command>.
+ Usually the other <command>?</command>'s preceding the
+ <command>n</command>-th independent premise of
+ <command>t</command> are istantiated as a consequence.
+ If the <command>linear</command> flag is specified and if
+ <command>t, t<subscript>1</subscript>, ..., t<subscript>n</subscript></command>
+ are (applications of) premises in the current context, they are
+ <command>clear</command>ed.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>New sequents to prove:</term>
<listitem>
- <para>TODO.</para>
+ <para>
+ The ones opened by the tactics <command>lapply</command> invokes.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<para><userinput>left </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">left</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_letin">
- <title>letin &id; ≝ &sterm;</title>
+ <title>letin</title>
<titleabbrev>letin</titleabbrev>
<para><userinput>letin x ≝ t</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">letin</emphasis> &id; <emphasis role="bold">≝</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_normalize">
- <title>normalize <pattern></title>
+ <title>normalize</title>
<titleabbrev>normalize</titleabbrev>
<para><userinput>normalize patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">normalize</emphasis> &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_paramodulation">
- <title>paramodulation <pattern></title>
+ <title>paramodulation</title>
<titleabbrev>paramodulation</titleabbrev>
<para><userinput>paramodulation patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">paramodulation</emphasis> &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_reduce">
- <title>reduce <pattern></title>
+ <title>reduce</title>
<titleabbrev>reduce</titleabbrev>
<para><userinput>reduce patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">reduce</emphasis> &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>reflexivity </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">reflexivity</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_replace">
- <title>replace <pattern> with &sterm;</title>
+ <title>replace</title>
<titleabbrev>change</titleabbrev>
<para><userinput>change patt with t</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">replace</emphasis> &pattern; <emphasis role="bold">with</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_rewrite">
- <title>rewrite [<|>] &sterm; <pattern></title>
+ <title>rewrite</title>
<titleabbrev>rewrite</titleabbrev>
<para><userinput>rewrite dir p patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">rewrite</emphasis> [<emphasis role="bold"><</emphasis>|<emphasis role="bold">></emphasis>] &sterm; &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>right </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">right</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>ring </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">ring</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_simplify">
- <title>simplify <pattern></title>
+ <title>simplify</title>
<titleabbrev>simplify</titleabbrev>
<para><userinput>simplify patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">simplify</emphasis> &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>split </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">split</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
<para><userinput>symmetry </userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">symmetry</emphasis></para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_transitivity">
- <title>transitivity &sterm;</title>
+ <title>transitivity</title>
<titleabbrev>transitivity</titleabbrev>
<para><userinput>transitivity t</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">transitivity</emphasis> &sterm;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_unfold">
- <title>unfold [&sterm;] <pattern></title>
+ <title>unfold</title>
<titleabbrev>unfold</titleabbrev>
<para><userinput>unfold t patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">unfold</emphasis> [&sterm;] &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>
</para>
</sect1>
<sect1 id="tac_whd">
- <title>whd <pattern></title>
+ <title>whd</title>
<titleabbrev>whd</titleabbrev>
<para><userinput>whd patt</userinput></para>
<para>
<variablelist>
+ <varlistentry role="tactic.synopsis">
+ <term>Synopsis:</term>
+ <listitem>
+ <para><emphasis role="bold">whd</emphasis> &pattern;</para>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term>Pre-conditions:</term>
<listitem>