adding option smart_depth_limiting to predicate compiler
authorbulwahn
Thu, 21 Oct 2010 19:13:06 +0200
changeset 40048 f3a46d524101
parent 40047 6547d0f079ed
child 40049 75d9f57123d6
adding option smart_depth_limiting to predicate compiler
src/HOL/Tools/Predicate_Compile/predicate_compile.ML
src/HOL/Tools/Predicate_Compile/predicate_compile_aux.ML
--- a/src/HOL/Tools/Predicate_Compile/predicate_compile.ML	Wed Oct 20 21:26:51 2010 -0700
+++ b/src/HOL/Tools/Predicate_Compile/predicate_compile.ML	Thu Oct 21 19:13:06 2010 +0200
@@ -173,6 +173,7 @@
       no_higher_order_predicate = [],
       inductify = chk "inductify",
       detect_switches = chk "detect_switches",
+      smart_depth_limiting = chk "smart_depth_limiting",
       compilation = compilation
     }
   end
--- a/src/HOL/Tools/Predicate_Compile/predicate_compile_aux.ML	Wed Oct 20 21:26:51 2010 -0700
+++ b/src/HOL/Tools/Predicate_Compile/predicate_compile_aux.ML	Thu Oct 21 19:13:06 2010 +0200
@@ -117,6 +117,7 @@
     no_higher_order_predicate : string list,
     inductify : bool,
     detect_switches : bool,
+    smart_depth_limiting : bool,
     compilation : compilation
   };
   val expected_modes : options -> (string * mode list) option
@@ -138,6 +139,7 @@
   val no_higher_order_predicate : options -> string list
   val is_inductify : options -> bool
   val detect_switches : options -> bool
+  val smart_depth_limiting : options -> bool
   val compilation : options -> compilation
   val default_options : options
   val bool_options : string list
@@ -729,6 +731,7 @@
   no_higher_order_predicate : string list,
   inductify : bool,
   detect_switches : bool,
+  smart_depth_limiting : bool,
   compilation : compilation
 };
 
@@ -759,6 +762,8 @@
 
 fun detect_switches (Options opt) = #detect_switches opt
 
+fun smart_depth_limiting (Options opt) = #smart_depth_limiting opt
+
 val default_options = Options {
   expected_modes = NONE,
   proposed_modes = [],
@@ -779,12 +784,14 @@
   no_higher_order_predicate = [],
   inductify = false,
   detect_switches = true,
+  smart_depth_limiting = false,
   compilation = Pred
 }
 
 val bool_options = ["show_steps", "show_intermediate_results", "show_proof_trace", "show_modes",
   "show_mode_inference", "show_compilation", "show_invalid_clauses", "skip_proof", "inductify",
-  "no_function_flattening", "detect_switches", "specialise", "no_topmost_reordering"]
+  "no_function_flattening", "detect_switches", "specialise", "no_topmost_reordering",
+  "smart_depth_limiting"]
 
 fun print_step options s =
   if show_steps options then tracing s else ()