theory data merge: prefer left side uniformly;
authorwenzelm
Thu, 26 Aug 2010 17:01:12 +0200
changeset 38761 b32975d3db3e
parent 38760 6f285436e3d6
child 38762 996afaa9254a
theory data merge: prefer left side uniformly;
src/HOL/Tools/Function/function_common.ML
src/HOL/Tools/Function/scnp_reconstruct.ML
src/Pure/Proof/extraction.ML
--- a/src/HOL/Tools/Function/function_common.ML	Thu Aug 26 16:56:45 2010 +0200
+++ b/src/HOL/Tools/Function/function_common.ML	Thu Aug 26 17:01:12 2010 +0200
@@ -175,7 +175,7 @@
   type T = Proof.context -> tactic
   val empty = (fn _ => error "Termination prover not configured")
   val extend = I
-  fun merge (a, b) = b  (* FIXME ? *)
+  fun merge (a, _) = a
 )
 
 val set_termination_prover = TerminationProver.put
--- a/src/HOL/Tools/Function/scnp_reconstruct.ML	Thu Aug 26 16:56:45 2010 +0200
+++ b/src/HOL/Tools/Function/scnp_reconstruct.ML	Thu Aug 26 17:01:12 2010 +0200
@@ -68,7 +68,7 @@
   type T = multiset_setup option
   val empty = NONE
   val extend = I;
-  fun merge (v1, v2) = if is_some v2 then v2 else v1   (* FIXME prefer v1 !?! *)
+  fun merge (v1, v2) = if is_some v1 then v1 else v2
 )
 
 val multiset_setup = Multiset_Setup.put o SOME
--- a/src/Pure/Proof/extraction.ML	Thu Aug 26 16:56:45 2010 +0200
+++ b/src/Pure/Proof/extraction.ML	Thu Aug 26 17:01:12 2010 +0200
@@ -204,7 +204,7 @@
      realizers = Symtab.merge_list (eq_set (op =) o pairself #1) (realizers1, realizers2),
      defs = Library.merge Thm.eq_thm (defs1, defs2),
      expand = Library.merge (op =) (expand1, expand2),
-     prep = (case prep1 of NONE => prep2 | _ => prep1)};
+     prep = if is_some prep1 then prep1 else prep2};
 );
 
 fun read_condeq thy =