equal
deleted
inserted
replaced
459 (case split_pat eta_term_pat 1 t of |
459 (case split_pat eta_term_pat 1 t of |
460 SOME (_,ft) => SOME (metaeq ss s (let val (f $ arg) = ft in f end)) |
460 SOME (_,ft) => SOME (metaeq ss s (let val (f $ arg) = ft in f end)) |
461 | NONE => NONE) |
461 | NONE => NONE) |
462 | eta_proc _ _ = NONE; |
462 | eta_proc _ _ = NONE; |
463 in |
463 in |
464 val split_beta_proc = Simplifier.simproc @{theory} "split_beta" ["split f z"] (K beta_proc); |
464 val split_beta_proc = Simplifier.simproc (the_context ()) "split_beta" ["split f z"] (K beta_proc); |
465 val split_eta_proc = Simplifier.simproc @{theory} "split_eta" ["split f"] (K eta_proc); |
465 val split_eta_proc = Simplifier.simproc (the_context ()) "split_eta" ["split f"] (K eta_proc); |
466 end; |
466 end; |
467 |
467 |
468 Addsimprocs [split_beta_proc, split_eta_proc]; |
468 Addsimprocs [split_beta_proc, split_eta_proc]; |
469 *} |
469 *} |
470 |
470 |