equal
deleted
inserted
replaced
300 in ((th', dyn'), (decls, context')) end); |
300 in ((th', dyn'), (decls, context')) end); |
301 |
301 |
302 in |
302 in |
303 |
303 |
304 fun partial_evaluation ctxt facts = |
304 fun partial_evaluation ctxt facts = |
305 (facts, Context.Proof (Context_Position.set_visible false ctxt)) |-> |
305 (facts, Context.Proof ctxt) |-> |
306 fold_map (fn ((b, more_atts), fact) => fn context => |
306 fold_map (fn ((b, more_atts), fact) => fn context => |
307 let |
307 let |
308 val (fact', (decls, context')) = |
308 val (fact', (decls, context')) = |
309 (fact, ([], context)) |-> fold_map (fn (ths, atts) => fn res1 => |
309 (fact, ([], context)) |-> fold_map (fn (ths, atts) => fn res1 => |
310 (ths, res1) |-> fold_map (fn th => fn res2 => |
310 (ths, res1) |-> fold_map (fn th => fn res2 => |