diff -r 4f169d2cf6f3 -r 782f0b662cae src/Doc/Isar_Ref/ML_Tactic.thy --- a/src/Doc/Isar_Ref/ML_Tactic.thy Tue Oct 07 21:28:24 2014 +0200 +++ b/src/Doc/Isar_Ref/ML_Tactic.thy Tue Oct 07 21:29:59 2014 +0200 @@ -2,9 +2,9 @@ imports Base Main begin -chapter {* ML tactic expressions *} +chapter \ML tactic expressions\ -text {* +text \ Isar Proof methods closely resemble traditional tactics, when used in unstructured sequences of @{command "apply"} commands. Isabelle/Isar provides emulations for all major ML tactics of @@ -22,12 +22,12 @@ asm_simp_tac}~/ @{ML full_simp_tac}~/ @{ML asm_full_simp_tac}, there is also concrete syntax for augmenting the Simplifier context (the current ``simpset'') in a convenient way. -*} +\ -section {* Resolution tactics *} +section \Resolution tactics\ -text {* +text \ Classic Isabelle provides several variant forms of tactics for single-step rule applications (based on higher-order resolution). The space of resolution tactics has the following main dimensions. @@ -75,12 +75,12 @@ Note that explicit goal addressing may be usually avoided by changing the order of subgoals with @{command "defer"} or @{command "prefer"} (see \secref{sec:tactic-commands}). -*} +\ -section {* Simplifier tactics *} +section \Simplifier tactics\ -text {* The main Simplifier tactics @{ML simp_tac} and variants are +text \The main Simplifier tactics @{ML simp_tac} and variants are all covered by the @{method simp} and @{method simp_all} methods (see \secref{sec:simplifier}). Note that there is no individual goal addressing available, simplification acts either on the first @@ -96,21 +96,21 @@ @{ML asm_lr_simp_tac}~@{text "@{context} 1"} & & @{method simp}~@{text "(asm_lr)"} \\ \end{tabular} \medskip -*} +\ -section {* Classical Reasoner tactics *} +section \Classical Reasoner tactics\ -text {* The Classical Reasoner provides a rather large number of +text \The Classical Reasoner provides a rather large number of variations of automated tactics, such as @{ML blast_tac}, @{ML fast_tac}, @{ML clarify_tac} etc. The corresponding Isar methods usually share the same base name, such as @{method blast}, @{method - fast}, @{method clarify} etc.\ (see \secref{sec:classical}). *} + fast}, @{method clarify} etc.\ (see \secref{sec:classical}).\ -section {* Miscellaneous tactics *} +section \Miscellaneous tactics\ -text {* +text \ There are a few additional tactics defined in various theories of Isabelle/HOL, some of these also in Isabelle/FOL or Isabelle/ZF. The most common ones of these may be ported to Isar as follows. @@ -123,12 +123,12 @@ & @{text "\"} & @{text "simp only: split_tupled_all"} \\ & @{text "\"} & @{text "clarify"} \\ \end{tabular} -*} +\ -section {* Tacticals *} +section \Tacticals\ -text {* +text \ Classic Isabelle provides a huge amount of tacticals for combination and modification of existing tactics. This has been greatly reduced in Isar, providing the bare minimum of combinators only: ``@{text @@ -172,6 +172,6 @@ @{ML_text "REPEAT (FIRSTGOAL (resolve_tac ...))"}, is usually better expressed using the @{method intro} and @{method elim} methods of Isar (see \secref{sec:classical}). -*} +\ end