2 <!-- ============ Tactics ====================== -->
3 <sect1 id="sec_tactics">
6 <sect2 id="tac_absurd">
7 <title>absurd <term></title>
8 <para><userinput>absurd P</userinput></para>
11 <term>Pre-conditions:</term>
13 <para><command>P</command> must have type <command>Type</command>.</para>
20 <para>it closes the current goal by eliminating an
25 <term>New sequents to prove:</term>
27 <para>it opens two new sequents of conclusion <command>P</command>
28 and <command>¬P</command>.</para>
34 <sect2 id="tac_apply">
35 <title>apply <term></title>
36 <para><userinput>apply t</userinput></para>
40 <term>Pre-conditions:</term>
42 <para><command>t</command> must have type
43 <command>T<subscript>1</subscript> → ... →
44 T<subscript>n</subscript> → G</command>
45 where <command>G</command> can be unified with the conclusion
46 of the current sequent.</para>
52 <para>it closes the current goal by applying <command>t</command>.</para>
56 <term>New sequents to prove:</term>
58 <para>it opens a new goal for each premise
59 <command>T<subscript>i</subscript></command> that is not
60 instantiated by unification.</para>
66 <sect2 id="tac_assumption">
67 <title>assumption</title>
68 <para>The tactic <command>assumption</command> </para>
71 <title>auto [depth=<int>] [width=<int>] [paramodulation] [full]</title>
72 <para>The tactic <command>auto</command> </para>
74 <sect2 id="tac_clear">
75 <title>clear <id></title>
76 <para>The tactic <command>clear</command> </para>
78 <sect2 id="tac_clearbody">
79 <title>clearbody <id></title>
80 <para>The tactic <command>clearbody</command> </para>
82 <sect2 id="tac_change">
83 <title>change <pattern> with <term></title>
84 <para>The tactic <command>change</command> </para>
86 <sect2 id="tac_compare">
87 <title>compare <term></title>
88 <para>The tactic <command>compare</command> </para>
90 <sect2 id="tac_constructor">
91 <title>constructor <int></title>
92 <para>The tactic <command>constructor</command> </para>
94 <sect2 id="tac_contradiction">
95 <title>contradiction</title>
96 <para>The tactic <command>contradiction</command> </para>
99 <title>cut <term> [as <id>]</title>
100 <para>The tactic <command>cut</command> </para>
102 <sect2 id="tac_decide_equality">
103 <title>decide</title>
104 <para>The tactic <command>decide equality</command> </para>
106 <sect2 id="tac_decompose">
107 <title>decompose [<ident list>] <ident> [<intros_spec>]</title>
108 <para>The tactic <command>decompose</command> </para>
110 <sect2 id="tac_discriminate">
111 <title>discriminate <term></title>
112 <para>The tactic <command>discriminate</command> </para>
114 <sect2 id="tac_elim">
115 <title>elim <term> [using <term>] [<intros_spec>]</title>
116 <para>The tactic <command>elim</command> </para>
118 <sect2 id="tac_elimType">
119 <title>elimType <term> [using <term>]</title>
120 <para>The tactic <command>elimType</command> </para>
122 <sect2 id="tac_exact">
123 <title>exact <term></title>
124 <para>The tactic <command>exact</command> </para>
126 <sect2 id="tac_exists">
127 <title>exists</title>
128 <para>The tactic <command>exists</command> </para>
130 <sect2 id="tac_fail">
132 <para>The tactic <command>fail</command> </para>
134 <sect2 id="tac_fold">
135 <title>fold <reduction_kind> <term> <pattern></title>
136 <para>The tactic <command>fold</command> </para>
138 <sect2 id="tac_fourier">
139 <title>fourier</title>
140 <para>The tactic <command>fourier</command> </para>
143 <title>fwd <ident> [<ident list>]</title>
144 <para>The tactic <command>fwd</command> </para>
146 <sect2 id="tac_generalize">
147 <title>generalize <pattern> [as <id>]</title>
148 <para>The tactic <command>generalize</command> </para>
152 <para>The tactic <command>id</command> </para>
154 <sect2 id="tac_injection">
155 <title>injection <term></title>
156 <para>The tactic <command>injection</command> </para>
158 <sect2 id="tac_intro">
159 <title>intro [<ident>]</title>
160 <para>The tactic <command>intro</command> </para>
162 <sect2 id="tac_intros">
163 <title>intros <intros_spec></title>
164 <para>The tactic <command>intros</command> </para>
166 <sect2 id="tac_inversion">
167 <title>intros <term></title>
168 <para>The tactic <command>intros</command> </para>
170 <sect2 id="tac_lapply">
171 <title>lapply [depth=<int>] <term> [to <term list] [using <ident>]</title>
172 <para>The tactic <command>lapply</command> </para>
174 <sect2 id="tac_left">
176 <para>The tactic <command>left</command> </para>
178 <sect2 id="tac_letin">
179 <title>letin <ident> ≝ <term></title>
180 <para>The tactic <command>letin</command> </para>
182 <sect2 id="tac_normalize">
183 <title>normalize <pattern></title>
184 <para>The tactic <command>normalize</command> </para>
186 <sect2 id="tac_paramodulation">
187 <title>paramodulation <pattern></title>
188 <para>The tactic <command>paramodulation</command> </para>
190 <sect2 id="tac_reduce">
191 <title>reduce <pattern></title>
192 <para>The tactic <command>reduce</command> </para>
194 <sect2 id="tac_reflexivity">
195 <title>reflexivity</title>
196 <para>The tactic <command>reflexivity</command> </para>
198 <sect2 id="tac_replace">
199 <title>replace <pattern> with <term></title>
200 <para>The tactic <command>replace</command> </para>
202 <sect2 id="tac_rewrite">
203 <title>rewrite {<|>} <term> <pattern></title>
204 <para>The tactic <command>rewrite</command> </para>
206 <sect2 id="tac_right">
208 <para>The tactic <command>right</command> </para>
210 <sect2 id="tac_ring">
212 <para>The tactic <command>ring</command> </para>
214 <sect2 id="tac_simplify">
215 <title>simplify <pattern></title>
216 <para>The tactic <command>simplify</command> </para>
218 <sect2 id="tac_split">
220 <para>The tactic <command>split</command> </para>
222 <sect2 id="tac_symmetry">
223 <title>symmetry</title>
224 <para>The tactic <command>symmetry</command> </para>
226 <sect2 id="tac_transitivity">
227 <title>transitivity <term></title>
228 <para>The tactic <command>transitivity</command> </para>
230 <sect2 id="tac_unfold">
231 <title>unfold [<term>] <pattern></title>
232 <para>The tactic <command>unfold</command> </para>
235 <title>whd <pattern></title>
236 <para>The tactic <command>whd</command> </para>