(* :mode=isabelle-options: *)section "Document Preparation"option browser_info : bool = false for build -- "generate theory browser information"option document : string = "" (standard "true") for build -- "build PDF document (enabled for \"pdf\" or \"true\", disabled for \"\" or \"false\")"option document_output : string = "" (standard "output") for build -- "document output directory"option document_echo : bool = false for build -- "inform about document file names during session presentation"option document_variants : string = "document" for build document -- "alternative document variants (separated by colons)"option document_tags : string = "" for document -- "default command tags (separated by commas)"option document_bibliography : bool = false for document -- "explicitly enable use of bibtex (default: according to presence of root.bib)"option document_build : string = "lualatex" (standard "build") for document -- "document build engine (e.g. build, lualatex, pdflatex)"option document_logo : string = "" (standard "_") for document -- "generate named instance of Isabelle logo (underscore means unnamed variant)"option document_heading_prefix : string = "isamarkup" (standard) for document -- "prefix for LaTeX macros generated from 'chapter', 'section' etc."option document_comment_latex : bool = false for document -- "use regular LaTeX version of comment.sty, instead of historic plain TeX version"option document_cite_commands : string = "cite,nocite,citet,citep" for document -- "antiquotation commands to determine the structure of bibliography"option thy_output_display : bool = false for content -- "indicate output as multi-line display-style material"option thy_output_break : bool = false for content -- "control line breaks in non-display material"option thy_output_cartouche : bool = false for content -- "indicate if the output should be delimited as cartouche"option thy_output_quotes : bool = false for content -- "indicate if the output should be delimited via double quotes"option thy_output_margin : int = 76 for content -- "right margin / page width for printing of display material"option thy_output_indent : int = 0 for content -- "indentation for pretty printing of display material"option thy_output_source : bool = false for content -- "print original source text rather than internal representation"option thy_output_source_cartouche : bool = false for content -- "print original source text rather than internal representation, preserve cartouches"option thy_output_modes : string = "" for content -- "additional print modes for document output (separated by commas)"section "Prover Output"option pide_reports : bool = true for content -- "enable reports of PIDE markup"option show_types : bool = false for content -- "show type constraints when printing terms"option show_sorts : bool = false for content -- "show sort constraints when printing types"option show_brackets : bool = false for content -- "show extra brackets when printing terms/types"option show_question_marks : bool = true for content -- "show leading question mark of schematic variables"option show_consts : bool = false for content -- "show constants with types when printing proof state"option show_main_goal : bool = false for content -- "show main goal when printing proof state"option goals_limit : int = 10 for content -- "maximum number of subgoals to be printed"option show_states : bool = false for content -- "show toplevel states even if outside of interactive mode"option names_long : bool = false for content -- "show fully qualified names"option names_short : bool = false for content -- "show base names only"option names_unique : bool = true for content -- "show partially qualified names, as required for unique name resolution"option eta_contract : bool = true for content -- "print terms in eta-contracted form"option print_mode : string = "" for content -- "additional print modes for prover output (separated by commas)"section "Parallel Processing and Timing"public option threads : int = 0 for build -- "maximum number of worker threads for prover process (0 = hardware max.)"option threads_trace : int = 0 -- "level of tracing information for multithreading"option threads_stack_limit : real = 0.25 -- "maximum stack size for worker threads (in giga words, 0 = unlimited)"public option parallel_limit : int = 0 for build -- "approximative limit for parallel tasks (0 = unlimited)"public option parallel_print : bool = true for build -- "parallel and asynchronous printing of results"public option parallel_proofs : int = 1 for build -- "level of parallel proof checking: 0, 1, 2"option parallel_subproofs_threshold : real = 0.01 for build -- "lower bound of timing estimate for forked nested proofs (seconds)"option command_timing_threshold : real = 0.1 for build -- "default threshold for persistent command timing (seconds)"public option timeout_scale : real = 1.0 for build -- "scale factor for timeout in Isabelle/ML and session build"option context_data_timing : bool = false for build -- "timing for context data operations"option context_theory_tracing : bool = false for build -- "tracing of persistent theory values within ML heap"option context_proof_tracing : bool = false for build -- "tracing of persistent Proof.context values within ML heap"section "Detail of Proof Checking"option record_proofs : int = -1 for content -- "set level of proofterm recording: 0, 1, 2, negative means unchanged"option quick_and_dirty : bool = false for content -- "if true then some tools will OMIT some proofs"option skip_proofs : bool = false for content -- "skip over proofs (implicit 'sorry')"option strict_facts : bool = false for content -- "force lazy facts when defined in context"section "Global Session Parameters"option context : string = "" for content -- "free-form information for session content (to be interpreted in Isabelle/ML)"option condition : string = "" for content -- "required environment variables for subsequent theories (separated by commas)"option timeout : real = 0 for build -- "timeout for session build job (seconds > 0)"option timeout_build : bool = true for build -- "observe timeout for session build"option process_policy : string = "" -- "command prefix for underlying process, notably ML with NUMA policy"option process_output_tail : int = 40 for build -- "build process output tail shown to user (in lines, 0 = unlimited)"option profiling : string = "" (standard "time") for build -- "ML profiling (possible values: time, time_thread, allocations)"option system_log : string = "" (standard "-") for build -- "output for system messages (log file or \"-\" for console progress)"option system_heaps : bool = false for build -- "store session heaps in $ISABELLE_HEAPS_SYSTEM, not $ISABELLE_HEAPS"section "ML System"option ML_print_depth : int = 20 for content -- "ML print depth for toplevel pretty-printing"public option ML_exception_trace : bool = false -- "ML exception trace for toplevel command execution"public option ML_exception_debugger : bool = false -- "ML debugger exception trace for toplevel command execution"public option ML_debugger : bool = false -- "ML debugger instrumentation for newly compiled code"public option ML_system_64 : bool = false for build -- "prefer native 64bit platform (change requires restart)"public option ML_system_apple : bool = true for build -- "prefer native Apple/ARM64 platform (change requires restart)"section "Build Process"option build_thorough : bool = false -- "observe dependencies on options with tag 'content' or 'document'"option build_hostname : string = "" -- "alternative hostname for build process (default $ISABELLE_HOSTNAME)"option build_engine : string = "" -- "alternative session build engine"option build_database : bool = false -- "expose state of build process via central database"option build_database_slice : real = 300 -- "slice size in MiB for ML heap stored within database"option build_delay : real = 0.2 -- "delay build process main loop (local)"option build_cluster_delay : real = 1.0 -- "delay build process main loop (cluster)"option build_cluster_root : string = "$USER_HOME/.isabelle/build_cluster" -- "root directory for remote build cluster sessions"option build_cluster_identifier : string = "build_cluster" -- "ISABELLE_IDENTIFIER for remote build cluster sessions"option build_schedule_outdated_delay : real = 300.0 -- "delay schedule generation loop"option build_schedule_outdated_limit : int = 20 -- "maximum number of sessions for which schedule stays valid"section "Editor Session"public option editor_load_delay : real = 0.5 -- "delay for file load operations (new buffers etc.)"public option editor_input_delay : real = 0.2 -- "delay for user input (text edits, cursor movement etc.)"public option editor_generated_input_delay : real = 1.0 -- "delay for machine-generated input that may outperform user edits"public option editor_output_delay : real = 0.1 -- "delay for prover output (markup, common messages etc.)"public option editor_consolidate_delay : real = 1.0 -- "delay to consolidate status of command evaluation (execution forks)"public option editor_prune_delay : real = 15 -- "delay to prune history (delete old versions)"option editor_prune_size : int = 0 -- "retained size of pruned history (delete old versions)"public option editor_update_delay : real = 0.5 -- "delay for physical GUI updates"public option editor_reparse_limit : int = 10000 -- "maximum amount of reparsed text outside perspective"public option editor_tracing_messages : int = 1000 -- "initial number of tracing messages for each command transaction (0: unbounded)"public option editor_chart_delay : real = 3.0 -- "delay for chart repainting"public option editor_continuous_checking : bool = true -- "continuous checking of proof document (visible and required parts)"public option editor_output_state : bool = false -- "implicit output of proof state"public option editor_document_session : string = "" -- "session for interactive document preparation"public option editor_document_auto : bool = false -- "automatically build document when selected theories are finished"public option editor_document_delay : real = 2.0 -- "delay for document auto build"option editor_execution_delay : real = 0.02 -- "delay for start of execution process after document update (seconds)"option editor_syslog_limit : int = 100 -- "maximum amount of buffered syslog messages"section "Headless Session"option headless_consolidate_delay : real = 2.0 -- "delay to consolidate status of command evaluation (execution forks)"option headless_prune_delay : real = 30 -- "delay to prune history (delete old versions)"option headless_check_delay : real = 0.5 -- "delay for theory status check during PIDE processing (seconds)"option headless_check_limit : int = 0 -- "maximum number of theory status checks (0 = unlimited)"option headless_nodes_status_delay : real = -1 -- "delay for overall nodes status check during PIDE processing (seconds, disabled for < 0)"option headless_watchdog_timeout : real = 600 -- "watchdog timeout for PIDE processing of broken theories (seconds, 0 = disabled)"option headless_commit_cleanup_delay : real = 60 -- "delay for cleanup of already imported theories (seconds, 0 = disabled)"option headless_load_limit : real = 5.0 -- "limit in MiB for loaded theory files (0 = unlimited)"section "Miscellaneous Tools"public option find_theorems_limit : int = 40 -- "limit of displayed results"public option find_theorems_tactic_limit : int = 5 -- "limit of tactic search for 'solves' criterion"section "Completion"public option completion_limit : int = 40 -- "limit for completion within the formal context"public option completion_path_ignore : string = "*~:*.marks:*.orig:*.rej:.DS_Store" -- "glob patterns to ignore in file-system path completion (separated by colons)"section "Spell Checker"public option spell_checker : bool = true -- "enable spell-checker for prose words within document text, comments etc."public option spell_checker_dictionary : string = "en" -- "spell-checker dictionary name"public option spell_checker_include : string = "words,comment,comment1,comment2,comment3,ML_comment,SML_comment" -- "included markup elements for spell-checker (separated by commas)"public option spell_checker_exclude : string = "document_marker,antiquoted,raw_text" -- "excluded markup elements for spell-checker (separated by commas)"section "Secure Shell (OpenSSH)"public option ssh_batch_mode : bool = true -- "enable SSH batch mode (no user interaction)"public option ssh_multiplexing : bool = true -- "enable multiplexing of SSH sessions (ignored on Windows)"public option ssh_compression : bool = true -- "enable SSH compression"public option ssh_alive_interval : real = 30 -- "time interval to keep SSH server connection alive (seconds, ignore value < 0)"public option ssh_alive_count_max : int = 3 -- "maximum number of messages to keep SSH server connection alive (ignore value < 0)"section "Phabricator"option phabricator_version_arcanist : string = "4f70fcffa8a5393e210d64f237ffdaa256256d6a" -- "repository version for arcanist"option phabricator_version_phabricator : string = "193798385bd3a7f72dca255e44f8112f4f8fc155" -- "repository version for phabricator"section "Theory Export"option export_theory : bool = false for content -- "export theory content to Isabelle/Scala"option export_standard_proofs : bool = false for content -- "export standardized proof terms to Isabelle/Scala (not scalable)"option export_proofs : bool = false for content -- "export proof terms to Isabelle/Scala"option prune_proofs : bool = false for content -- "prune proof terms after export (do not store in Isabelle/ML)"section "Theory update"option update_inner_syntax_cartouches : bool = false for content update -- "update inner syntax (types, terms, etc.) to use cartouches"option update_mixfix_cartouches : bool = false for content update -- "update mixfix templates to use cartouches instead of double quotes"option update_control_cartouches : bool = false for content update -- "update antiquotations to use control symbol with cartouche argument"option update_path_cartouches : bool = false for content update -- "update file-system paths to use cartouches"option update_cite : bool = false for content update -- "update cite commands and antiquotations"section "Build Database"option build_database_server : bool = false for connectionoption build_database_user : string = "" for connectionoption build_database_password : string = "" for connectionoption build_database_name : string = "" for connectionoption build_database_host : string = "" for connectionoption build_database_port : int = 0 for connectionoption build_database_ssh_host : string = "" for connectionoption build_database_ssh_user : string = "" for connectionoption build_database_ssh_port : int = 0 for connectionsection "Build Log Database"option build_log_database_user : string = "" for connectionoption build_log_database_password : string = "" for connectionoption build_log_database_name : string = "" for connectionoption build_log_database_host : string = "" for connectionoption build_log_database_port : int = 0 for connectionoption build_log_ssh_host : string = "" for connectionoption build_log_ssh_user : string = "" for connectionoption build_log_ssh_port : int = 0 for connectionoption build_log_history : int = 30 -- "length of relevant history (in days)"section "Isabelle/Scala/ML system channel"option system_channel_address : string = "" for connectionoption system_channel_password : string = "" for connectionsection "Bash process execution server"option bash_process_debugging : bool = false for connectionoption bash_process_address : string = "" for connectionoption bash_process_password : string = "" for connectionsection "Continuous integration"option ci_mail_user : string = "" for connectionoption ci_mail_password : string = "" for connectionoption ci_mail_sender : string = "" for connectionoption ci_mail_smtp_host : string = "" for connectionoption ci_mail_smtp_port : int = 587 for connection