equal
deleted
inserted
replaced
200 val neq_simproc = Simplifier.simproc thy "neq_simproc" ["x = y"] neq_prover; |
200 val neq_simproc = Simplifier.simproc thy "neq_simproc" ["x = y"] neq_prover; |
201 |
201 |
202 end; (*local*) |
202 end; (*local*) |
203 |
203 |
204 |
204 |
205 (* Simproc for Let *) |
205 (* simproc for Let *) |
206 |
206 |
207 val use_let_simproc = ref true; |
207 val use_let_simproc = ref true; |
208 |
208 |
209 local |
209 local |
210 val thy = the_context (); |
210 val thy = the_context (); |
259 | _ => NONE) |
259 | _ => NONE) |
260 end) |
260 end) |
261 |
261 |
262 end; (*local*) |
262 end; (*local*) |
263 |
263 |
264 (* A general refutation procedure *) |
264 (* generic refutation procedure *) |
265 |
265 |
266 (* Parameters: |
266 (* parameters: |
267 |
267 |
268 test: term -> bool |
268 test: term -> bool |
269 tests if a term is at all relevant to the refutation proof; |
269 tests if a term is at all relevant to the refutation proof; |
270 if not, then it can be discarded. Can improve performance, |
270 if not, then it can be discarded. Can improve performance, |
271 esp. if disjunctions can be discarded (no case distinction needed!). |
271 esp. if disjunctions can be discarded (no case distinction needed!). |