equal
deleted
inserted
replaced
3308 |
3308 |
3309 lemma meta_eqE: "x \<equiv> a \<Longrightarrow> \<lbrakk> x = a \<Longrightarrow> P\<rbrakk> \<Longrightarrow> P" |
3309 lemma meta_eqE: "x \<equiv> a \<Longrightarrow> \<lbrakk> x = a \<Longrightarrow> P\<rbrakk> \<Longrightarrow> P" |
3310 by auto |
3310 by auto |
3311 |
3311 |
3312 method_setup approximation = {* |
3312 method_setup approximation = {* |
3313 Scan.lift (OuterParse.nat) |
3313 Scan.lift Parse.nat |
3314 -- |
3314 -- |
3315 Scan.optional (Scan.lift (Args.$$$ "splitting" |-- Args.colon) |
3315 Scan.optional (Scan.lift (Args.$$$ "splitting" |-- Args.colon) |
3316 |-- OuterParse.and_list' (free --| Scan.lift (Args.$$$ "=") -- Scan.lift OuterParse.nat)) [] |
3316 |-- Parse.and_list' (free --| Scan.lift (Args.$$$ "=") -- Scan.lift Parse.nat)) [] |
3317 -- |
3317 -- |
3318 Scan.option (Scan.lift (Args.$$$ "taylor" |-- Args.colon) |
3318 Scan.option (Scan.lift (Args.$$$ "taylor" |-- Args.colon) |
3319 |-- (free |-- Scan.lift (Args.$$$ "=") |-- Scan.lift OuterParse.nat)) |
3319 |-- (free |-- Scan.lift (Args.$$$ "=") |-- Scan.lift Parse.nat)) |
3320 >> |
3320 >> |
3321 (fn ((prec, splitting), taylor) => fn ctxt => |
3321 (fn ((prec, splitting), taylor) => fn ctxt => |
3322 SIMPLE_METHOD' (fn i => |
3322 SIMPLE_METHOD' (fn i => |
3323 REPEAT (FIRST' [etac @{thm intervalE}, |
3323 REPEAT (FIRST' [etac @{thm intervalE}, |
3324 etac @{thm meta_eqE}, |
3324 etac @{thm meta_eqE}, |