LPSCONFCHECK(1)
π
LPSCONFCHECK(1) β the lpsconfcheck girlies' guide π
okay so bestie, welcome to lpsconfcheck(1) β¨ this is the mCRL2 toolset page for it, and i'm gonna walk you through it like we're texting at 2am π«Ά
πΈ NAME πΈ
lpsconfcheck β mark confluent tau-summands of an LPS π
like, it goes through your LPS and finds the tau-summands that are confluent, and it marks them. that's the whole job. iconic honestly π
β¨ SYNOPSIS β¨
lpsconfcheck [OPTION]... [INFILE [OUTFILE]]
π¦ DESCRIPTION π¦
so here's the vibe: lpsconfcheck checks which tau-summands of the mCRL2 LPS in INFILE are confluent, marks them by renaming them to ctau, and writes the result to OUTFILE. no cap, that's it π
- if INFILE is not present,
stdinis used π - if OUTFILE is not present,
stdoutis used β
like, it just picks up whatever you give it. lowkey flexible of it tbh π
π OPTIONS π
OPTION can be any of the following, and yes bestie we're listing every single one because i would never do you like that π
-a,--check-allβ check the confluence of tau-summands regarding all other summands, instead of continuing with the next tau-summand as soon as a summand is encountered that is not confluent with the current tau-summand. so like, thorough mode. main character energy π-x[CONDITIONS],--conditions[=CONDITIONS]β use the confluence conditions specified by individual characters. here's the cheat sheet:c/C: commutative confluence with / without disjointness checkd: commutative confluence with disjointness check onlyT: triangular confluenceZ: trivial confluence
-c,--counter-exampleβ display a valuation for which the confluence condition does not hold, in case the encountered condition is neither a contradiction nor a tautology. it's giving "here's exactly where it went wrong" π₯-g,--generate-invariantsβ try to prove that the reduced confluence condition is an invariant of the LPS, in case the confluence condition is not a tautology π§-o,--inductionβ apply induction on lists π-iINVFILE,--invariant=INVFILEβ use the boolean formula (an mCRL2 data expression of sortBool) in INVFILE as invariant π-n,--no-checkβ do not check if the invariant holds before checking for confluence. yep, it literally says "for for" in the original and i'm keeping the facts, not fixing the typo, that's not my job π-m,--no-markingβ do not mark the confluent tau-summands; since there are no changes made to the LPS, nothing is written to OUTFILE π like genuinely nothing, don't go looking for output that isn't there-u,--no-sumsβ do not rewrite summands with a sum operator and prove their confluence formula π ββοΈ-pPREFIX,--print-dot=PREFIXβ save a.dotfile of the resulting BDD in case two summands cannot be proven confluent; PREFIX will be used as prefix of the output files π-QNUM,--qlimit=NUMβ limit enumeration of universal and existential quantifiers in data expressions to NUM iterations (defaultNUM=10,NUM=0for unlimited) β-rNAME,--rewriter=NAMEβ use rewrite strategy NAME:'jitty'β jitty rewriting (default)'jittyc'β compiled jitty rewriting
-zSOLVER,--smt-solver=SOLVERβ use SOLVER to remove inconsistent paths from the internally used BDDs (by default, no path elimination is applied):'cvc'β the SMT solver CVC3'z3'β the SMT solver Z3
-sNUM,--summand=NUMβ eliminate or simplify the summand with number NUM only π―-tLIMIT,--time-limit=LIMITβ spend at most LIMIT seconds on proving a single formula β³--timings[=FILE]β append timing measurements to FILE. measurements are written to standard error if no FILE is provided π
π Standard options π
the classics, the essentials, the little black dress of CLI flags π
-q,--quietβ do not display warning messages π€«-v,--verboseβ display short log messages π-d,--debugβ display detailed log messages π--log-level=LEVELβ display log messages up to and including level; eitherwarn,verbose,debugortraceπͺ΅-h,--helpβ display help information π«Ά--versionβ display version information π·οΈ--help-allβ display help information, including hidden and experimental options π iykyk
π AUTHOR π
Written by Luc Engelen. π«‘
π REPORTING BUGS π
Report bugs at <http://www.mcrl2.org/issuetracker> β bestie if it's broken, tell them, not me π
π COPYRIGHT π
Copyright Β© 2025 Technische Universiteit Eindhoven. π
This is free software. You may redistribute copies of it under the terms of the Boost Software License <http://www.boost.org/LICENSE_1_0.txt>. There is NO WARRANTY, to the extent permitted by law. fr fr, no warranty, read the license πΈ
π SEE ALSO π
See also the manual at <http://www.mcrl2.org/web/user_manual/tools/release/lpsconfcheck.html> β¨
and that's the whole page babes π this was lpsconfcheck from the mCRL2 toolset, version 202..., dated October 2026 β go check your confluence, slay, and remember: mark those tau-summands π
ππ¦
π¦ where this page comes from
- nixos 26.05: mcrl2 202507
- nixpkgs unstable: mcrl2 202507
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms