SERCOMP(1)

πŸ“¦ version 8.20.0+0.20.0, in debian trixie, ubuntu questing

πŸ‘‘ SERCOMP β€” the manual page, but make it cute

okay bestie, sit down, hydrate, because we're about to talk about sercomp, aka sercomp Coq Compiler β€” the experimental Coq compiler with serialization AND deserialization support. it's giving "compiler but it also keeps receipts" and honestly? iconic. ✨


🌸 SYNOPSIS 🌸

sercomp [OPTION]??? FILE

yeah that's the whole vibe. options, a mystery ???, and a file. periodt.


πŸ’– DESCRIPTION πŸ’–

sercomp is an experimental Coq compiler with serialization and deserialization support. that's it, that's the whole personality. it takes your Coq vernacular, and it can turn it into a serialized form, and it can turn that serialized form back into something real. no cap. πŸ’…


✨ USAGE ✨

okay so here are the canonical little rituals, and you're gonna want to copy these exactly, bestie.

to serialize fs/fun.v with logical path Funs:

sercomp -Q fs,Funs --input=vernac --mode=sexp fs/fun.v > fs/fun.sexp

to deserialize and check fs/fun.sexp with logical path Funs:

sercomp -Q fs,Funs --input=sexp --mode=check fs/fun.sexp

to generate fs/fun.vo from fs/fun.sexp with logical path Funs:

sercomp -Q fs,Funs --input=sexp --mode=vo fs/fun.sexp
πŸ¦‹ see the documentation on the project's webpage for more information. (yes, the webpage. go look. iykyk.)

πŸŽ€ ARGUMENTS πŸŽ€

  • FILE (required) β€” the input file. mandatory. you cannot skip it, she's the main character. πŸ‘‘

πŸ’… OPTIONS πŸ’…

  • --async=COQTOP β€” turn on async support using the Coq binary COQTOP. (experimental!) πŸ”₯
  • --async-workers=VAL (absent=3) β€” max number of async workers. defaults to 3, so three little worker bees by default. 🐝
  • --coqlib=COQPATH (absent=/usr/lib/x86_64-linux-gnu/ocaml/5.3.0/coq) β€” load Coq.Init.Prelude from COQPATH; plugins/ and theories/ should live there. 🏠
  • --debug β€” enable debug mode for Coq. the "turn the lights on" option. πŸ”
  • --disallow-sprop β€” forbid using the proof irrelevant SProp sort. (it's allowed by default, so this is you being strict.)
  • --error-recovery β€” enable Coq's error recovery inside tactics and commands. she gets back up. πŸ’ͺ
  • --exn_on_opaque β€” [debug option] raise an exception on non-serializeble terms. (yes, "serializeble". that's the original spelling. we keep the facts, bestie.) 😭
  • -I DIR, --ml-include-path=DIR β€” include DIR in the default loadpath, for locating ML files. πŸ“
  • --impredicative-set β€” enable the Coq -impredicative-set option (disabled by default).
  • --indices-matter β€” levels of indices (and nonuniform parameters) contribute to the level of inductives (disabled by default).
  • --input=VAL (absent=vernac) β€” either vernac: Coq vernacular, or sexp: serialized Coq vernacular. pick your fighter. πŸ₯Š
  • --mode=VAL (absent=parse) β€” one of:
    • parse: parse the file and remain silent (except for Coq output)
    • stats: output stats on the input file
    • print: output using the Coq pretty printer
    • sexp: output serialized version of the input file
    • check: check proofs in the file and remain silent (except for Coq output)
    • vo: check proofs and output .vo version of the input file
    • kenv: check proofs and output the final kernel enviroment
  • --omit_att β€” [debug option] omit attribute nodes.
  • --omit_env β€” [debug option] turn enviroments into abstract objects.
  • --omit_loc β€” [debug option] shorten location printing.
  • --printer=VAL (absent=sertop) β€” one of:
    • sertop, a custom printer (UTF-8 with emacs-compatible quoting)
    • human, sexplib's human-format printer (recommended for debug sessions)
    • mach, sexplib's machine-format printer
  • -Q DIR,LP, --load-path=DIR,LP β€” bind a logical loadpath LP to a directory DIR. πŸ”—
  • --quick β€” skip checking opaque proofs (very experimental). living dangerously, we love that for you.
  • -R DIR,LP, --rec-load-path=DIR,LP β€” bind a logical loadpath LP to a directory DIR and implicitly open its namespace.

🌈 COMMON OPTIONS 🌈

  • --help[=FMT] (default=auto) β€” show this help in format FMT. the value FMT must be one of auto, pager, groff or plain. with auto, the format is pager or plain whenever the TERM env var is dumb or undefined. 🫢
  • --version β€” show version information. the "who even am i" button. ⭐

πŸ“ EXIT STATUS πŸ“

sercomp exits with:

  • 0 β€” on success. slay. πŸ’–
  • 123 β€” on indiscriminate errors reported on standard error.
  • 124 β€” on command line parsing errors.
  • 125 β€” on unexpected internal errors (bugs). πŸ’€

🧚 SEE ALSO 🧚

the full documentation for sercomp is maintained as a Texinfo manual. if the info and sercomp programs are properly installed at your site, the command

info sercomp

should give you access to the complete manual. go read it, bestie, it's the director's cut. πŸ“–


and that's the whole page! πŸ’œ this one's sercomp, from June 2025, and yes the man page literally just calls itself sercomp for the source/version, no fancy build string, no drama. mwah. πŸ’‹

πŸ“¦ where this page comes from