doc-src/IsarRef/Thy/ML_Tactic.thy
changeset 27208 5fe899199f85
parent 26852 a31203f58b20
child 27239 f2f42f9fa09d
equal deleted inserted replaced
27207:548e2d3105b9 27208:5fe899199f85
    39   \item The ``mode'' of resolution: intro, elim, destruct, or forward
    39   \item The ``mode'' of resolution: intro, elim, destruct, or forward
    40   (e.g.\ @{ML resolve_tac}, @{ML eresolve_tac}, @{ML dresolve_tac},
    40   (e.g.\ @{ML resolve_tac}, @{ML eresolve_tac}, @{ML dresolve_tac},
    41   @{ML forward_tac}).
    41   @{ML forward_tac}).
    42 
    42 
    43   \item Optional explicit instantiation (e.g.\ @{ML resolve_tac} vs.\
    43   \item Optional explicit instantiation (e.g.\ @{ML resolve_tac} vs.\
    44   @{ML res_inst_tac}).
    44   @{ML RuleInsts.res_inst_tac}).
    45 
    45 
    46   \item Abbreviations for singleton arguments (e.g.\ @{ML resolve_tac}
    46   \item Abbreviations for singleton arguments (e.g.\ @{ML resolve_tac}
    47   vs.\ @{ML rtac}).
    47   vs.\ @{ML rtac}).
    48 
    48 
    49   \end{enumerate}
    49   \end{enumerate}
    64 
    64 
    65   \medskip
    65   \medskip
    66   \begin{tabular}{lll}
    66   \begin{tabular}{lll}
    67     @{ML rtac}~@{text "a 1"} & & @{text "rule a"} \\
    67     @{ML rtac}~@{text "a 1"} & & @{text "rule a"} \\
    68     @{ML resolve_tac}~@{text "[a\<^sub>1, \<dots>] 1"} & & @{text "rule a\<^sub>1 \<dots>"} \\
    68     @{ML resolve_tac}~@{text "[a\<^sub>1, \<dots>] 1"} & & @{text "rule a\<^sub>1 \<dots>"} \\
    69     @{ML res_inst_tac}~@{text "[(x\<^sub>1, t\<^sub>1), \<dots>] a 1"} & &
    69     @{ML RuleInsts.res_inst_tac}~@{text "ctxt [(x\<^sub>1, t\<^sub>1), \<dots>] a 1"} & &
    70     @{text "rule_tac x\<^sub>1 = t\<^sub>1 \<AND> \<dots> \<IN> a"} \\[0.5ex]
    70     @{text "rule_tac x\<^sub>1 = t\<^sub>1 \<AND> \<dots> \<IN> a"} \\[0.5ex]
    71     @{ML rtac}~@{text "a i"} & & @{text "rule_tac [i] a"} \\
    71     @{ML rtac}~@{text "a i"} & & @{text "rule_tac [i] a"} \\
    72     @{ML resolve_tac}~@{text "[a\<^sub>1, \<dots>] i"} & & @{text "rule_tac [i] a\<^sub>1 \<dots>"} \\
    72     @{ML resolve_tac}~@{text "[a\<^sub>1, \<dots>] i"} & & @{text "rule_tac [i] a\<^sub>1 \<dots>"} \\
    73     @{ML res_inst_tac}~@{text "[(x\<^sub>1, t\<^sub>1), \<dots>] a i"} & &
    73     @{ML RuleInsts.res_inst_tac}~@{text "ctxt [(x\<^sub>1, t\<^sub>1), \<dots>] a i"} & &
    74     @{text "rule_tac [i] x\<^sub>1 = t\<^sub>1 \<AND> \<dots> \<IN> a"} \\
    74     @{text "rule_tac [i] x\<^sub>1 = t\<^sub>1 \<AND> \<dots> \<IN> a"} \\
    75   \end{tabular}
    75   \end{tabular}
    76   \medskip
    76   \medskip
    77 
    77 
    78   Note that explicit goal addressing may be usually avoided by
    78   Note that explicit goal addressing may be usually avoided by