Appearance
Configuration
Fault reads configuration from ~/.faultrc at startup. You can manage this file with the fault config command or edit it directly — it's a simple key=value format with # comments.
Using fault config
bash
# View current configuration
fault config
# Set solver options
fault config --solvercmd=z3 --solverarg=-in
# Set the base directory for relative file paths
fault config --fault-host=/home/user/modelsRunning fault config with no arguments prints the current configuration.
Configuration Reference
SOLVERCMD
The command used to invoke the SMT solver.
SOLVERCMD=z3Required for model checking. If unset, fault returns an error when run in model mode. See Custom Solvers for other solver options.
SOLVERARG
The argument passed to the solver to make it read SMT from stdin.
SOLVERARG=-inRequired alongside SOLVERCMD.
FAULT_HOST
The base directory that Fault uses to resolve file paths. When set, it affects three cases:
- Relative paths — any path that doesn't start with
/or~/is resolved relative toFAULT_HOST ..segments — each..walks up fromFAULT_HOST, not from the current working directory~within a path — a~that appears mid-path (not at the start) is resolved relative toFAULT_HOSTrather than your home directory
# FAULT_HOST=This setting is commented out by default. Set it if your models live in a central directory and you want to reference them with short relative paths:
bash
fault config --fault-host=/home/user/modelsLeading ~/ at the start of a file path is always expanded to your home directory, regardless of FAULT_HOST.
Environment Variables
All ~/.faultrc settings can be overridden by environment variables of the same name. Environment variables take precedence over the config file.
bash
export SOLVERCMD="z3"
export SOLVERARG="-in"This is useful for CI environments or when you need per-project solver settings without modifying your global config.