etc/options
author paulson <lp15@cam.ac.uk>
Wed, 24 Apr 2024 09:21:44 +0100
changeset 80148 b156869b826a
parent 79948 8fe1ed4b5705
permissions -rw-r--r--
Another Nominal example

(* :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 = guess from hardware)"
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 build_sync
  -- "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 build_sync
  -- "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 = "" for build_sync
  -- "alternative session build engine"

option build_database : bool = false for build_sync
  -- "expose state of build process via central database"

option build_database_slice : real = 300 for build_sync
  -- "slice size in MiB for ML heap stored within database"

option build_delay : real = 0.2
  -- "delay build process main loop (local)"

option build_delay_master : real = 1.0
  -- "delay build process main loop (cluster master)"

option build_delay_worker : real = 0.5
  -- "delay build process main loop (cluster worker)"

option build_cluster_expire : int = 50
  -- "enforce database synchronization after given number of delay loops"

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_benchmark_session : string = "FOLP-ex"
  -- "representative benchmark session with short build time and requirements"

option build_schedule : string = ""
  -- "path to pre-computed schedule"

option build_schedule_initial : string = ""
  -- "path to initial pre-computed schedule (may be overwritten during build)"

option build_schedule_outdated_delay : real = 300.0
  -- "delay schedule generation loop"


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 = "e46025f7a9146f9918bab9d6fbdf6ed1816db5b5"
  -- "repository version for arcanist"

option phabricator_version_phabricator : string = "2ba2cbaf9bbf8f88e910d3da0a3cd643e4879e8a"
  -- "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 connection build_sync
option build_database_user : string = "" for connection
option build_database_password : string = "" for connection
option build_database_name : string = "" for connection
option build_database_host : string = "" for connection
option build_database_port : int = 0 for connection
option build_database_ssh_host : string = "" for connection
option build_database_ssh_user : string = "" for connection
option build_database_ssh_port : int = 0 for connection


section "Build Log Database"

option build_log_database_user : string = "" for connection
option build_log_database_password : string = "" for connection
option build_log_database_name : string = "" for connection
option build_log_database_host : string = "" for connection
option build_log_database_port : int = 0 for connection
option build_log_ssh_host : string = "" for connection
option build_log_ssh_user : string = "" for connection
option build_log_ssh_port : int = 0 for connection

option build_log_history : int = 30
  -- "length of relevant history (in days)"

option build_log_verbose : bool = false for build_sync
  -- "extra verbosity for build log database"


section "Isabelle/Scala/ML system channel"

option system_channel_address : string = "" for connection
option system_channel_password : string = "" for connection


section "Bash process execution server"

option bash_process_debugging : bool = false for connection
option bash_process_address : string = "" for connection
option bash_process_password : string = "" for connection


section "Continuous integration"

option ci_mail_user : string = "" for connection
option ci_mail_password : string = "" for connection
option ci_mail_sender : string = "" for connection
option ci_mail_smtp_host : string = "" for connection
option ci_mail_smtp_port : int = 587 for connection