equal
deleted
inserted
replaced
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 |