CookBook/Recipes/Oracle.thy
changeset 181 5baaabe1ab92
parent 154 e81ebb37aa83
equal deleted inserted replaced
180:9c25418db6f0 181:5baaabe1ab92
   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