src/Pure/goals.ML
changeset 1565 70dd38777109
parent 1500 b2de3b3277b8
child 1580 e3fd931e6095
equal deleted inserted replaced
1564:822575c737bd 1565:70dd38777109
   127 	 error msg)
   127 	 error msg)
   128       (*discharges assumptions from state in the order they appear in goal;
   128       (*discharges assumptions from state in the order they appear in goal;
   129 	checks (if requested) that resulting theorem is equivalent to goal. *)
   129 	checks (if requested) that resulting theorem is equivalent to goal. *)
   130       fun mkresult (check,state) =
   130       fun mkresult (check,state) =
   131         let val state = Sequence.hd (flexflex_rule state)
   131         let val state = Sequence.hd (flexflex_rule state)
   132 	    		handle _ => state   (*smash flexflex pairs*)
   132 	    		handle THM _ => state   (*smash flexflex pairs*)
   133 	    val ngoals = nprems_of state
   133 	    val ngoals = nprems_of state
   134             val th = strip_shyps (implies_intr_list cAs state)
   134             val th = strip_shyps (implies_intr_list cAs state)
   135             val {hyps,prop,sign=sign',...} = rep_thm th
   135             val {hyps,prop,sign=sign',...} = rep_thm th
   136             val xshyps = extra_shyps th;
   136             val xshyps = extra_shyps th;
   137         in  if not check then standard th
   137         in  if not check then standard th