equal
deleted
inserted
replaced
268 val ccontr = Z3_Proof_Tools.precompose dest_ccontr @{thm ccontr} |
268 val ccontr = Z3_Proof_Tools.precompose dest_ccontr @{thm ccontr} |
269 in |
269 in |
270 fun lemma thm ct = |
270 fun lemma thm ct = |
271 let |
271 let |
272 val cu = Z3_Proof_Literals.negate (Thm.dest_arg ct) |
272 val cu = Z3_Proof_Literals.negate (Thm.dest_arg ct) |
273 val hyps = map_filter (try HOLogic.dest_Trueprop) (#hyps (Thm.rep_thm thm)) |
273 val hyps = map_filter (try HOLogic.dest_Trueprop) (Thm.hyps_of thm) |
274 val th = Z3_Proof_Tools.under_assumption (intro hyps thm) cu |
274 val th = Z3_Proof_Tools.under_assumption (intro hyps thm) cu |
275 in Thm (Z3_Proof_Tools.compose ccontr th) end |
275 in Thm (Z3_Proof_Tools.compose ccontr th) end |
276 end |
276 end |
277 |
277 |
278 |
278 |