1 (* :mode=isabelle-options: *)
3 section "Document Preparation"
5 option browser_info : bool = false
6 -- "generate theory browser information"
8 option document : string = ""
9 -- "build document in given format: pdf, dvi, false"
10 option document_output : string = ""
11 -- "document output directory (default within $ISABELLE_BROWSER_INFO tree)"
12 option document_variants : string = "document"
13 -- "option alternative document variants (separated by colons)"
15 option thy_output_display : bool = false
16 -- "indicate output as multi-line display-style material"
17 option thy_output_break : bool = false
18 -- "control line breaks in non-display material"
19 option thy_output_quotes : bool = false
20 -- "indicate if the output should be enclosed in double quotes"
21 option thy_output_margin : int = 76
22 -- "right margin / page width for printing of display material"
23 option thy_output_indent : int = 0
24 -- "indentation for pretty printing of display material"
25 option thy_output_source : bool = false
26 -- "print original source text rather than internal representation"
27 option thy_output_modes : string = ""
28 -- "additional print modes for document output (separated by commas)"
31 section "Prover Output"
33 option show_types : bool = false
34 -- "show type constraints when printing terms"
35 option show_sorts : bool = false
36 -- "show sort constraints when printing types"
37 option show_brackets : bool = false
38 -- "show extra brackets when printing terms/types"
39 option show_question_marks : bool = true
40 -- "show leading question mark of schematic variables"
42 option show_consts : bool = false
43 -- "show constants with types when printing proof state"
44 option show_main_goal : bool = false
45 -- "show main goal when printing proof state"
46 option goals_limit : int = 10
47 -- "maximum number of subgoals to be printed"
49 option names_long : bool = false
50 -- "show fully qualified names"
51 option names_short : bool = false
52 -- "show base names only"
53 option names_unique : bool = true
54 -- "show partially qualified names, as required for unique name resolution"
56 option eta_contract : bool = true
57 -- "print terms in eta-contracted form"
59 option print_mode : string = ""
60 -- "additional print modes for prover output (separated by commas)"
63 section "Parallel Processing"
65 public option threads : int = 0
66 -- "maximum number of worker threads for prover process (0 = hardware max.)"
67 option threads_trace : int = 0
68 -- "level of tracing information for multithreading"
69 option threads_stack_limit : real = 0.25
70 -- "maximum stack size for worker threads (in giga words, 0 = unlimited)"
72 public option parallel_print : bool = true
73 -- "parallel and asynchronous printing of results"
74 public option parallel_proofs : int = 1
75 -- "level of parallel proof checking: 0, 1, 2"
76 option parallel_subproofs_threshold : real = 0.01
77 -- "lower bound of timing estimate for forked nested proofs (seconds)"
79 option command_timing_threshold : real = 0.1
80 -- "default threshold for persistent command timing (seconds)"
83 section "Detail of Proof Checking"
85 option record_proofs : int = -1
86 -- "set level of proofterm recording: 0, 1, 2, negative means unchanged"
87 option quick_and_dirty : bool = false
88 -- "if true then some tools will OMIT some proofs"
89 option skip_proofs : bool = false
90 -- "skip over proofs (implicit 'sorry')"
93 section "Global Session Parameters"
95 option condition : string = ""
96 -- "required environment variables for subsequent theories (separated by commas)"
98 option timeout : real = 0
99 -- "timeout for session build job (seconds > 0)"
101 option timeout_scale : real = 1.0
102 -- "scale factor for session timeout"
104 option process_output_limit : int = 100
105 -- "build process output limit (in million characters, 0 = unlimited)"
107 option process_output_tail : int = 40
108 -- "build process output tail shown to user (in lines, 0 = unlimited)"
110 option checkpoint : bool = false
111 -- "checkpoint for theories during build process (heap compression)"
113 option profiling : string = ""
114 -- "ML profiling (possible values: time, allocations)"
116 option theory_qualifier : string = ""
117 -- "explicit theory qualifier for special sessions (default: session name)"
122 option ML_print_depth : int = 20
123 -- "ML print depth for toplevel pretty-printing"
125 public option ML_exception_trace : bool = false
126 -- "ML exception trace for toplevel command execution"
128 public option ML_exception_debugger : bool = false
129 -- "ML debugger exception trace for toplevel command execution"
131 public option ML_debugger : bool = false
132 -- "ML debugger instrumentation for newly compiled code"
134 public option ML_statistics : bool = true
135 -- "ML run-time system statistics"
137 public option ML_system_64 : bool = false
138 -- "ML system for 64bit platform is used if possible (change requires restart)"
140 public option ML_process_policy : string = ""
141 -- "ML process command prefix (process policy)"
144 section "Editor Reactivity"
146 public option editor_load_delay : real = 0.5
147 -- "delay for file load operations (new buffers etc.)"
149 public option editor_input_delay : real = 0.3
150 -- "delay for user input (text edits, cursor movement etc.)"
152 public option editor_generated_input_delay : real = 1.0
153 -- "delay for machine-generated input that may outperform user edits"
155 public option editor_output_delay : real = 0.1
156 -- "delay for prover output (markup, common messages etc.)"
158 public option editor_consolidate_delay : real = 1.0
159 -- "delay to consolidate status of command evaluation (execution forks)"
161 public option editor_prune_delay : real = 15
162 -- "delay to prune history (delete old versions)"
164 option editor_prune_size : int = 0
165 -- "retained size of pruned history (delete old versions)"
167 public option editor_update_delay : real = 0.5
168 -- "delay for physical GUI updates"
170 public option editor_reparse_limit : int = 10000
171 -- "maximum amount of reparsed text outside perspective"
173 public option editor_tracing_messages : int = 1000
174 -- "initial number of tracing messages for each command transaction"
176 public option editor_chart_delay : real = 3.0
177 -- "delay for chart repainting"
179 public option editor_continuous_checking : bool = true
180 -- "continuous checking of proof document (visible and required parts)"
182 public option editor_output_state : bool = false
183 -- "implicit output of proof state"
185 option editor_execution_delay : real = 0.02
186 -- "delay for start of execution process after document update (seconds)"
188 option editor_syslog_limit : int = 100
189 -- "maximum amount of buffered syslog messages"
192 section "Miscellaneous Tools"
194 public option find_theorems_limit : int = 40
195 -- "limit of displayed results"
197 public option find_theorems_tactic_limit : int = 5
198 -- "limit of tactic search for 'solves' criterion"
203 public option completion_limit : int = 40
204 -- "limit for completion within the formal context"
206 public option completion_path_ignore : string = "*~:*.marks:*.orig:*.rej:.DS_Store"
207 -- "glob patterns to ignore in file-system path completion (separated by colons)"
210 section "Spell Checker"
212 public option spell_checker : bool = true
213 -- "enable spell-checker for prose words within document text, comments etc."
215 public option spell_checker_dictionary : string = "en"
216 -- "spell-checker dictionary name"
218 public option spell_checker_elements : string = "words,comment,inner_comment,ML_comment,SML_comment"
219 -- "relevant markup elements for spell-checker, separated by commas"
222 section "Secure Shell"
224 option ssh_config_dir : string = "~/.ssh"
225 -- "SSH configuration directory"
227 option ssh_config_file : string = "~/.ssh/config"
228 -- "main SSH configuration file"
230 option ssh_identity_files : string = "~/.ssh/id_dsa:~/.ssh/id_ecdsa:~/.ssh/id_rsa"
231 -- "possible SSH identity files (separated by colons)"
233 option ssh_compression : bool = true
234 -- "enable SSH compression"
236 option ssh_connect_timeout : real = 60
237 -- "SSH connection timeout (seconds)"
239 option ssh_alive_interval : real = 30
240 -- "time interval to keep SSH server connection alive (seconds)"
243 section "Build Log Database"
245 option build_log_database_user : string = ""
246 option build_log_database_password : string = ""
247 option build_log_database_name : string = ""
248 option build_log_database_host : string = ""
249 option build_log_database_port : int = 0
250 option build_log_ssh_host : string = ""
251 option build_log_ssh_user : string = ""
252 option build_log_ssh_port : int = 0
253 option build_log_history : int = 30 -- "length of relevant history (in days)"