src/HOL/Tools/Predicate_Compile/predicate_compile_aux.ML
changeset 39382 c797f3ab2ae1
parent 39312 968c33be5c96
child 39383 ddfafa97da2f
equal deleted inserted replaced
39381:9717ea8d42b3 39382:c797f3ab2ae1
    97   val non_random_compilations : compilation list
    97   val non_random_compilations : compilation list
    98   val random_compilations : compilation list
    98   val random_compilations : compilation list
    99   (* Different options for compiler *)
    99   (* Different options for compiler *)
   100   datatype options = Options of {  
   100   datatype options = Options of {  
   101     expected_modes : (string * mode list) option,
   101     expected_modes : (string * mode list) option,
   102     proposed_modes : (string * mode list) option,
   102     proposed_modes : (string * mode list) list,
   103     proposed_names : ((string * mode) * string) list,
   103     proposed_names : ((string * mode) * string) list,
   104     show_steps : bool,
   104     show_steps : bool,
   105     show_proof_trace : bool,
   105     show_proof_trace : bool,
   106     show_intermediate_results : bool,
   106     show_intermediate_results : bool,
   107     show_mode_inference : bool,
   107     show_mode_inference : bool,
   117     inductify : bool,
   117     inductify : bool,
   118     detect_switches : bool,
   118     detect_switches : bool,
   119     compilation : compilation
   119     compilation : compilation
   120   };
   120   };
   121   val expected_modes : options -> (string * mode list) option
   121   val expected_modes : options -> (string * mode list) option
   122   val proposed_modes : options -> (string * mode list) option
   122   val proposed_modes : options -> string -> mode list option
   123   val proposed_names : options -> string -> mode -> string option
   123   val proposed_names : options -> string -> mode -> string option
   124   val show_steps : options -> bool
   124   val show_steps : options -> bool
   125   val show_proof_trace : options -> bool
   125   val show_proof_trace : options -> bool
   126   val show_intermediate_results : options -> bool
   126   val show_intermediate_results : options -> bool
   127   val show_mode_inference : options -> bool
   127   val show_mode_inference : options -> bool
   701 
   701 
   702 (* Different options for compiler *)
   702 (* Different options for compiler *)
   703 
   703 
   704 datatype options = Options of {  
   704 datatype options = Options of {  
   705   expected_modes : (string * mode list) option,
   705   expected_modes : (string * mode list) option,
   706   proposed_modes : (string * mode list) option,
   706   proposed_modes : (string * mode list) list,
   707   proposed_names : ((string * mode) * string) list,
   707   proposed_names : ((string * mode) * string) list,
   708   show_steps : bool,
   708   show_steps : bool,
   709   show_proof_trace : bool,
   709   show_proof_trace : bool,
   710   show_intermediate_results : bool,
   710   show_intermediate_results : bool,
   711   show_mode_inference : bool,
   711   show_mode_inference : bool,
   722   detect_switches : bool,
   722   detect_switches : bool,
   723   compilation : compilation
   723   compilation : compilation
   724 };
   724 };
   725 
   725 
   726 fun expected_modes (Options opt) = #expected_modes opt
   726 fun expected_modes (Options opt) = #expected_modes opt
   727 fun proposed_modes (Options opt) = #proposed_modes opt
   727 fun proposed_modes (Options opt) = AList.lookup (op =) (#proposed_modes opt)
   728 fun proposed_names (Options opt) name mode = AList.lookup (eq_pair (op =) eq_mode)
   728 fun proposed_names (Options opt) name mode = AList.lookup (eq_pair (op =) eq_mode)
   729   (#proposed_names opt) (name, mode)
   729   (#proposed_names opt) (name, mode)
   730 
   730 
   731 fun show_steps (Options opt) = #show_steps opt
   731 fun show_steps (Options opt) = #show_steps opt
   732 fun show_intermediate_results (Options opt) = #show_intermediate_results opt
   732 fun show_intermediate_results (Options opt) = #show_intermediate_results opt
   750 
   750 
   751 fun detect_switches (Options opt) = #detect_switches opt
   751 fun detect_switches (Options opt) = #detect_switches opt
   752 
   752 
   753 val default_options = Options {
   753 val default_options = Options {
   754   expected_modes = NONE,
   754   expected_modes = NONE,
   755   proposed_modes = NONE,
   755   proposed_modes = [],
   756   proposed_names = [],
   756   proposed_names = [],
   757   show_steps = false,
   757   show_steps = false,
   758   show_intermediate_results = false,
   758   show_intermediate_results = false,
   759   show_proof_trace = false,
   759   show_proof_trace = false,
   760   show_modes = false,
   760   show_modes = false,