equal
deleted
inserted
replaced
373 fun map_simpset1 f = map_simpset (fn Simpset (ss1, ss2) => Simpset (map_ss1 f ss1, ss2)); |
373 fun map_simpset1 f = map_simpset (fn Simpset (ss1, ss2) => Simpset (map_ss1 f ss1, ss2)); |
374 fun map_simpset2 f = map_simpset (fn Simpset (ss1, ss2) => Simpset (ss1, map_ss2 f ss2)); |
374 fun map_simpset2 f = map_simpset (fn Simpset (ss1, ss2) => Simpset (ss1, map_ss2 f ss2)); |
375 |
375 |
376 fun simpset_map ctxt f ss = ctxt |> map_simpset (K ss) |> f |> Context.Proof |> Simpset.get; |
376 fun simpset_map ctxt f ss = ctxt |> map_simpset (K ss) |> f |> Context.Proof |> Simpset.get; |
377 |
377 |
378 fun put_simpset ss = map_simpset (fn context_ss => |
378 fun put_simpset ss = map_simpset (K ss); |
379 let |
|
380 val Simpset ({rules, prems, ...}, ss2) = ss; (* FIXME prems from context (!?) *) |
|
381 val Simpset ({depth, ...}, _) = context_ss; |
|
382 in Simpset (make_ss1 (rules, prems, depth), ss2) end); |
|
383 |
379 |
384 val empty_simpset = put_simpset empty_ss; |
380 val empty_simpset = put_simpset empty_ss; |
385 |
381 |
386 fun map_theory_simpset f thy = |
382 fun map_theory_simpset f thy = |
387 let |
383 let |