ZENON(1)

πŸ“¦ version 0.8.5, in fedora 43, fedora 44

πŸ’– ZENON(1) β€” like, the manual page for zenon, bestie πŸ’–

okay so picture this: it's ZENON(1), a User Commands page, and it's here to tell you about zenon, the automated theorem prover that is genuinely the moment. pull up a chair, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

zenon β€” automated theorem prover for first-order classical logic. no cap, that's literally the whole vibe. πŸ’…


🌸 SYNOPSIS 🌸

zenon [OPTIONS] FILE

that's it. that's the whole summoning ritual. options first, then your file, slay. πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so Zenon is an automated theorem prover for first order classical logic with equality, based on the tableau method. it's giving rigorous. it's giving methodical. πŸ”₯

here's the tea on what it can read β€” Zenon can read input files in:

  • TPTP
  • Coq
  • Focal
  • and its own Zenon format πŸ‘‘

and it doesn't just read β€” Zenon can directly generate Coq proofs (proof scripts or proof terms), which can be reinserted into Coq specifications. reinserted!! into the specs!! iconic behavior fr fr. πŸ’–

also it can be extended, so go off, customize it, make it yours. ✨


πŸ’… OPTIONS πŸ’…

first things first, and this is important: if file is -, it will read input from stdin. yes, the dash. the classic. the icon. 🫢

  • -context β€” provide context for checking the proof independently
  • -d β€” debug mode πŸ›
  • -errmsg <message> β€” prefix warnings and errors with <message>
  • -help, --help β€” print this option list and exit
  • -I <dir> β€” add <dir> to the include path (for TPTP input format)
  • -icoq β€” read input file in Coq format
  • -ifocal β€” read input file in Focal format
  • -itptp β€” read input file in TPTP format
  • -iz β€” read input file in Zenon format (default) β€” this is the home-team default πŸ’œ
  • -loadpath β€” path to Zenon's coq libraries (default /usr/share/zenon)
  • -max <s>[kMGT]/<i>[kMGT]/<t>[smhd] β€” set size, step, and time limits ⏱️
  • -max-size <s>[kMGT] β€” limit heap size to <s> kilo/mega/giga/tera word (default 100M)
  • -max-step <i>[kMGT] β€” limit number of steps to <s> kilo/mega/giga/tera (default 10k)
  • -max-time <t>[smhd] β€” limit CPU time to <t> second/minute/hour/day (default 5m)
  • -ocoq β€” print the proof in Coq script format
  • -ocoqterm β€” print the proof in Coq term format
  • -oh <n> β€” print the proof in high-level format up to depth <n>
  • -ol β€” print the proof in low-level format
  • -olx β€” print the proof in raw low-level format
  • -om β€” print the proof in middle-level format
  • -onone β€” do not print the proof (default)
  • -opt0 β€” do not optimise the proof
  • -opt1 β€” do peephole optimisation of the proof (default) πŸ‘€
  • -p0 β€” turn off progress bar and progress messages
  • -p1 β€” display progress bar (default)
  • -p2 β€” display progress messages
  • -q β€” (quiet) suppress proof-found/no-proof/begin-proof/end-proof 🀫
  • -rename β€” prefix all input symbols to avoid clashes
  • -rnd <seed> β€” randomize proof search 🎲
  • -stats β€” print statistics πŸ“Š
  • -short β€” output a less detailed proof
  • -v β€” print version string and exit
  • -versions β€” print CVS version strings and exit
  • -w β€” suppress warnings
  • -where β€” print the location of the zenon library and exit
  • -wout <file> β€” output errors and warnings to <file> instead of stderr
  • -x <ext> β€” activate extension <ext>

🌈 EXAMPLE 🌈

okay bestie, here's the whole thing in action. the command:

zenon -itptp -ocoq /usr/share/zenon*/examples/tptp-COM003+2.p

will take the input file "tptp-COM003+2.p" in TPTP format (-itptp), search for a proof, and produce any proof output in Coq format (-ocoq). the way that tptp-COM003+2.p is literally a TPTP representation of the halting problem 😭 and Zenon can prove this. it can prove the halting problem representation. main character energy fr fr. πŸ‘‘

and it will print out:

(* PROOF-FOUND *)
(* BEGIN-PROOF *)
... details of proof in Coq format
(* END-PROOF *)

(* PROOF-FOUND *) β€” the moment. the reveal. the slay. ✨


🧚 SEE ALSO 🧚

zenon-format(5) β€” go read it, it's the companion piece, iykyk πŸ’œ


πŸŽ€ AUTHOR πŸŽ€

This man page was written by David A. Wheeler. thank you for your service 🫢


Zenon is released under the revised BSD license. This man page is released under both the revised BSD and MIT licenses (your choice). pick your fighter, both are valid. πŸ’–


and that's the whole page, bestie!! this was David A. Wheeler's work from 2008-07, and it's the ZENON(1) page from the User Commands corner of the manual, so go forth and prove some theorems. literally obsessed with you for reading all the way down here. πŸŒΈπŸ’…βœ¨

πŸ“¦ where this page comes from