equal
deleted
inserted
replaced
131 text {* |
131 text {* |
132 and create a new method solely based on this tactic: |
132 and create a new method solely based on this tactic: |
133 *} |
133 *} |
134 |
134 |
135 method_setup iff_oracle = {* |
135 method_setup iff_oracle = {* |
136 Method.no_args (Method.SIMPLE_METHOD' iff_oracle_tac) |
136 Scan.succeed (K (Method.SIMPLE_METHOD' iff_oracle_tac)) |
137 *} "Oracle-based decision procedure for chains of equivalences" |
137 *} "Oracle-based decision procedure for chains of equivalences" |
138 |
138 |
139 text {* |
139 text {* |
140 (FIXME: what does @{ML "Method.SIMPLE_METHOD'"} do? ... what do you mean?) |
|
141 |
|
142 Finally, we can test our oracle to prove some theorems: |
140 Finally, we can test our oracle to prove some theorems: |
143 *} |
141 *} |
144 |
142 |
145 lemma "p = (p::bool)" |
143 lemma "p = (p::bool)" |
146 by iff_oracle |
144 by iff_oracle |