equal
deleted
inserted
replaced
435 DOES NOT work if tactic affects the main goal other than by instantiation.*) |
435 DOES NOT work if tactic affects the main goal other than by instantiation.*) |
436 |
436 |
437 (* (!!x. PROP ?V) ==> PROP ?V ; contains NO TYPE VARIABLES.*) |
437 (* (!!x. PROP ?V) ==> PROP ?V ; contains NO TYPE VARIABLES.*) |
438 val dummy_quant_rl = |
438 val dummy_quant_rl = |
439 standard (forall_elim_var 0 (assume |
439 standard (forall_elim_var 0 (assume |
440 (read_cterm Sign.pure ("!!x::prop. PROP V",propT)))); |
440 (read_cterm Sign.proto_pure ("!!x::prop. PROP V",propT)))); |
441 |
441 |
442 (* Prevent the subgoal's assumptions from becoming additional subgoals in the |
442 (* Prevent the subgoal's assumptions from becoming additional subgoals in the |
443 new proof state by enclosing them by a universal quantification *) |
443 new proof state by enclosing them by a universal quantification *) |
444 fun protect_subgoal state i = |
444 fun protect_subgoal state i = |
445 Sequence.hd (bicompose false (false,dummy_quant_rl,1) i state) |
445 Sequence.hd (bicompose false (false,dummy_quant_rl,1) i state) |