differ: compare actual props only (hyps may changed due to trivial steps involving assumptions);
--- a/src/Pure/Isar/calculation.ML Tue Sep 21 17:06:49 1999 +0200
+++ b/src/Pure/Isar/calculation.ML Tue Sep 21 17:07:28 1999 +0200
@@ -125,7 +125,8 @@
val facts = Proof.the_facts state;
val rules = Seq.of_list (if_none opt_rules [] @ get_local_rules state);
- fun differ thms thms' = not (Library.equal_lists Thm.eq_thm (thms, thms'));
+ val eq_prop = op aconv o pairself (#prop o Thm.rep_thm);
+ fun differ thms thms' = not (Library.equal_lists eq_prop (thms, thms'));
fun combine thms =
Seq.map Library.single (Seq.flat (Seq.map (Method.multi_resolve (thms @ facts)) rules));