LEM(1)
π NAME π
so this is lem(1) β a User Commands page, bestie β and it's the tool that merges math and logic for executable definitions. that's the whole personality. math + logic = executable β¨
π DESCRIPTION π
okay so here's the 2026-05-01 example usage, verbatim, because we know how to read:
lem -hol -ocaml test.lem
yeah. one command, two backends, main character energy π
and now literally every single flag, no skips, no "oh you can figure it out":
-ocamlβ generate OCaml-texβ generate LaTeX for each module separately-tex_allβ generate LaTeX in a single file-htmlβ generate Html-holβ generate HOL-isaβ generate Isabelle-coqβ generate Coq-lemβ generate Lem output after simple transformations-identβ generate input onstdout-libβ add a library path, on top of the standard library at/build/lem-3IxgiG/lem-2026-05-01+dfsg/debian/tmp/bin/library. wanna change that one instead? set theLEMLIBenvironment variable, babe. dirs in the library path can optionally be associated with Isabelle session names, e.g.-lib MyLib=path/to/mylib. the standard library is associated with the session nameLEMby default. π¦-no_dep_reorderβ prohibit reordering modules given to lem as explicit arguments in order during dependency resolution-outdirβ the output directory (the default is the dir the files reside in)-iβ treat the file as input only and generate no output for it-only_changed_outputβ generate only output files, whose content really changed compared to the existing file-only_auxiliaryβ generate only auxiliary output files-auxiliary_level {none|auto|all}β generate no (none) auxiliary-information, only auxiliaries that can be handled automatically (auto) or all (all) auxiliary information-debugβ print a backtrace for all errors (heads up: lem needs to be compiled in debug mode for this π)-cerberus_ppβ special case HTML and LaTeX output for Cerberus Ail and Core-print_envβ print the environment signature onstdout-add_loc_annotsβ add location annotations to the output-isa_path_importsβ use paths in Isabelle import statements instead of session-qualified imports-use_datatype_recordβ usedatatype_recordinstead ofrecordin Isabelle output-vβ print version-ident_pat_compileβ activates pattern compilation for the identity backend. this is used for debugging, bestie-ident_dict_passingβ activates dictionary passing transformations for the identity backend. also literally just for debugging-tex_suppress_target_namesβ prints target-specific let-bindings as normal let bindings in the TeX backend-tex_include_librariesβ include libraries in the TeX backend-hol_remove_matchesβ try to remove toplevel matches in HOL4 output-prover_remove_failwithβ remove failwith branches in match statements in the prover backends-suppress_renamingβ suppresses Lem's renaming facilities-tex_all_force_library_outputβ force library output withtex_all-report_default_instance_invocationβ reports the name of any default instance invoked at a given type-no_lifting_toplevel_match_for <type>β Do not move cases over the given type to toplevel function case splits-wl {ign|warn|verb|err}β warning level of all warnings
and then the whole warning-level girl gang, each with its own {ign|warn|verb|err} {ign|warn|verb|err} set:
-wl_gen {ign|warn|verb|err}β warning level of miscellaneous warnings (defaultwarn)-wl_amb_code {ign|warn|verb|err}β warning level of ambiguous code (defaultwarn)-wl_auto_import {ign|warn|verb|err}β warning level of automatically imported modules (defaultign)-wl_comp_message {ign|warn|verb|err}β warning level of compile messages (defaultwarn)-wl_inst_over {ign|warn|verb|err}β warning level of overridden instance declarations (defaultign)-wl_no_dec_eq {ign|warn|verb|err}β warning level of equality of type is undecidable (defaultign)-wl_pat_comp {ign|warn|verb|err}β warning level of pattern compilation (defaultwarn)-wl_pat_exh {ign|warn|verb|err}β warning level of non-exhaustive pattern matches (defaultwarn)-wl_pat_fail {ign|warn|verb|err}β warning level of failed pattern compilation (defaultwarn)-wl_pat_red {ign|warn|verb|err}β warning level of redundant patterns (defaultwarn)-wl_rename {ign|warn|verb|err}β warning level of automatic renamings (defaultwarn)-wl_resort {ign|warn|verb|err}β warning level of resorted record fields and function clauses (defaultwarn)-wl_unused_vars {ign|warn|verb|err}β warning level of unused variables (defaultwarn)-helpβ Display this list of options--helpβ Display this list of options
super important: both help flags exist.-helpand--help. they do the same thing. we support you either way π«Ά
π SEE ALSO π
ngl the full documentation for lem lives in a Texinfo manual, which is very vintage-chic of it. if the info and lem programs are properly installed at your site, then this command:
info lem
should give you access to the complete manual. go get your reading in, bestie πβ¨
lem 2026-05-01+dfsg, fresh out of July 2026 π that's the version, that's the date, that's the whole sign-off. slay, stay executable, bye ππ¦π
π¦ where this page comes from
- ubuntu stonking: lem 2026-05-01+dfsg-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms