equal
deleted
inserted
replaced
234 val hyps0 = map Data.dest_Trueprop (Logic.strip_assums_hyp Bi) |
234 val hyps0 = map Data.dest_Trueprop (Logic.strip_assums_hyp Bi) |
235 (*omit selected equality, returning other hyps*) |
235 (*omit selected equality, returning other hyps*) |
236 val hyps = List.take(hyps0, k) @ List.drop(hyps0, k+1) |
236 val hyps = List.take(hyps0, k) @ List.drop(hyps0, k+1) |
237 val n = length hyps |
237 val n = length hyps |
238 in |
238 in |
239 if !trace then writeln "Substituting an equality" else (); |
239 if !trace then tracing "Substituting an equality" else (); |
240 DETERM |
240 DETERM |
241 (EVERY [REPEAT_DETERM_N k (etac Data.rev_mp i), |
241 (EVERY [REPEAT_DETERM_N k (etac Data.rev_mp i), |
242 rotate_tac 1 i, |
242 rotate_tac 1 i, |
243 REPEAT_DETERM_N (n-k) (etac Data.rev_mp i), |
243 REPEAT_DETERM_N (n-k) (etac Data.rev_mp i), |
244 etac (if symopt then ssubst else Data.subst) i, |
244 etac (if symopt then ssubst else Data.subst) i, |