Z3(1)

πŸ’– Z3 β€” like, the Satisfiability Modulo Theories (SMT) solver πŸ’–

okay bestie, sit down, hydrate, because this is the manual page for Z3(1) and she is that girl. 🫢


✨ NAME ✨

Z3 β€” Satisfiability Modulo Theories (SMT) solver. yeah. that's the whole name. iconic behavior. πŸ‘‘


🌸 SYNOPSIS 🌸

z3 [options] [-file:]file

πŸ’… DESCRIPTION πŸ’…

Z3 [version 4.16.0 - 64 bit]. (C) Copyright 2006-2016 Microsoft Corp.

that's her. that's the girl. 64 bit and thriving. ✨

πŸ¦‹ Input format πŸ¦‹

pick your parser, bestie, they're all valid:

  • -smt2 β€” use parser for SMT 2 input format.
  • -dl β€” use parser for Datalog input format.
  • -dimacs β€” use parser for DIMACS input format.
  • -wcnf β€” use parser for Weighted CNF DIMACS input format.
  • -opb β€” use parser for PB optimization input format.
  • -lp β€” use parser for a modest subset of CPLEX LP input format. (modest. she's humble. we love that for her πŸ’œ)
  • -log β€” use parser for Z3 log input format.
  • -in β€” read formula from standard input.
  • -model β€” display model for satisfiable SMT.

πŸŽ€ Miscellaneous πŸŽ€

the little extras. the garnish. the sprinkles on the algorithm. πŸ“

  • -h, -? β€” prints this message.
  • -version β€” prints version number of Z3.
  • -v:level β€” be verbose, where level is the verbosity level. (yes she can be more verbose. she contains multitudes.)
  • -nw β€” disable warning messages.
  • -p β€” display Z3 global (and module) parameters.
  • -pd β€” display Z3 global (and module) parameter descriptions.
  • -pm:name β€” display Z3 module (name) parameters.
  • -pmmd:name β€” display Z3 module (name) parameters in Markdown format. (markdown girlies rise up πŸ“)
  • -pp:name β€” display Z3 parameter description, if name is not provided, then all module names are listed.
  • -tactics[:name] β€” display built-in tactics or if argument is given, display detailed information on tactic.
  • -simplifiers[:name] β€” display built-in simplifiers or if argument is given, display detailed information on simplifier.
  • -probes β€” display avilable probes.
  • -- β€” all remaining arguments are assumed to be part of the input file name. This option allows Z3 to read files with strange names such as: -foo.smt2.
not the strange filenames πŸ’€ she said "I will handle -foo.smt2 and I will not complain about it." queen.

🌈 Resources 🌈

setting boundaries. very healthy. very main character. 🧚

  • -T:timeout β€” set the timeout (in seconds).
  • -t:timeout β€” set the soft timeout (in milli seconds). It only kills the current query.
  • -memory:Megabytes β€” set a limit for virtual memory consumption.

⭐ Output ⭐

  • -st β€” display statistics.

πŸ’œ Parameter setting πŸ’œ

Global and module parameters can be set in the command line. yes. directly. in the command line. slay.

  • param_name=value β€” for setting global parameters.
  • module_name.param_name=value β€” for setting module parameters.

Use z3 -p for the complete list of global and module parameters.


fr fr, if you're ever lost: run z3 -p and let the parameter list be your guiding light. πŸ”₯

and that's the whole page, bestie!! this was Z3 version 4.16.0 - 64 bit, dated March 2026, and it ate. absolutely no crumbs left. periodt. πŸ’…βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from