more accurate resolution of hybrid facts, which actually changes the sort order of results;
authorwenzelm
Fri, 14 Mar 2014 14:59:43 +0100
changeset 56143 ed2b660a52a1
parent 56142 8bb21318e10b
child 56144 27167f903c6d
more accurate resolution of hybrid facts, which actually changes the sort order of results;
src/Pure/Isar/proof_context.ML
src/Pure/Tools/find_theorems.ML
--- a/src/Pure/Isar/proof_context.ML	Fri Mar 14 14:29:33 2014 +0100
+++ b/src/Pure/Isar/proof_context.ML	Fri Mar 14 14:59:43 2014 +0100
@@ -346,7 +346,7 @@
     val local_facts = facts_of ctxt;
     val global_facts = Global_Theory.facts_of (theory_of ctxt);
   in
-    if is_some (Facts.lookup (Context.Proof ctxt) local_facts name)
+    if Facts.defined local_facts name
     then local_facts else global_facts
   end;
 
--- a/src/Pure/Tools/find_theorems.ML	Fri Mar 14 14:29:33 2014 +0100
+++ b/src/Pure/Tools/find_theorems.ML	Fri Mar 14 14:59:43 2014 +0100
@@ -354,8 +354,9 @@
 
 fun nicer_shortest ctxt =
   let
-    val space = Facts.space_of (Proof_Context.facts_of ctxt);
-    val extern_shortest = Name_Space.extern_shortest ctxt space;
+    fun extern_shortest name =
+      Name_Space.extern_shortest ctxt
+        (Facts.space_of (Proof_Context.facts_of_fact ctxt name)) name;
 
     fun nicer (Facts.Named ((x, _), i)) (Facts.Named ((y, _), j)) =
           nicer_name (extern_shortest x, i) (extern_shortest y, j)