src/Pure/tctical.ML
changeset 922 196ca0973a6d
parent 729 cc4c4eafe628
child 1458 fd510875fb71
equal deleted inserted replaced
921:6bee3815c0bf 922:196ca0973a6d
   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)