LPSREACH(1)
π LPSREACH(1) π
okay bestie, welcome to lpsreach from the User Commands girlies β this is the manual page, and yes it's giving "I'm a tool that does symbolic reachability on an LPS" β¨
π NAME π
lpsreach β bestie, it applies a symbolic reachability algorithm to an LPS. that's the whole vibe. no cap. π
β¨ SYNOPSIS β¨
lpsreach [OPTION]... [INFILE [OUTFILE]]
π¦ DESCRIPTION π¦
So here's the tea, fr fr: it reads an LPS from INFILE and writes a symbolic labelled transition system to OUTFILE. πΈ
- if OUTFILE isn't there? no symbolic LTS gets written, periodt. it's giving "no output, no problem."
- if INFILE isn't there? bestie it just uses
stdin. iconic. π«Ά
π OPTIONS π
OPTION can be literally any of the following, iykyk:
--cachedβ uses transition group caching to speed up state space exploration. it's lowkey a glow-up for your runtime β¨--chainingβ reduces the amount of breadth-first iterations by applying the transition groups consecutively. fewer laps, same destination πββοΈπ¨--deadlockβ reports the number of deadlocks (i.e. states with no outgoing transitions). π and yes that's exactly what it sounds like--groups[=GROUPS]β summand grouping time, bestie! the drama ofGROUPS:'none'(default) β no summand groups. we're all individuals here π'used'β summands with the same variables are joined. matching outfits = matching groups π'simple'β summands with the same read/write variables are joined. the read/write equivalent of matching outfits π¦- a user defined list of summand groups separated by semicolons, e.g.
'0; 1 3 4; 2 5'β YOU pick the friend groups, main character energy fr
--infoβ prints read/write information of the summands. receipts on what each summand reads and writes π§Ύ--initial-ratio[=NUM]β power-of-two ratio of initial and maximum table size (default16). bigger ratio, bigger table, bigger blahaj energy π¦--lace-dqsize[=NUM]β sets the length of the Lace task queue (default1024*1024*4). that's the queue, not the vibe check--lace-stacksize[=NUM]β sets the size of the program stack in kilobytes (0= default stack size). 0 means "whatever the default is," not "zero kilobytes," don't come for me π--max-iterations[=NUM]β limits the number of breadth-first iterations to NUM. it's giving "we're stopping here whether you like it or not"-m[NUM],--memory-limit[=NUM]β Sylvan memory limit in gigabytes (default3). girlies, don't go overboard, RAM isn't free π--print-exactβ prints the sizes of LDDs exactly when within the representable range, and in scientific notation otherwise. exact when it can be, fancy1.2e+07core when it can't π₯--print-nodesizeβ prints the number of LDD nodes in addition to the number of elements represented as'elements[nodes]'. two numbers, one flex π-QNUM,--qlimit=NUMβ limits enumeration of universal and existential quantifiers in data expressions to NUM iterations (default NUM=10, NUM=0for unlimited). so-Q0= no limits, live your truth β--reorder[=ORDER]β variable reordering, and the options are very choose-your-own-adventure:'none'(default) β no variable reordering. chaotic neutral β¨'random'β variables are put in a random order. audacious. respect. π²'weighted'β variables are put in an order defined by their connectivity weight. meritocracy arc π- a user defined permutation, e.g.
'1 3 2 0 4'β you're the director of this lineup π¬
--replace-dont-careβ replaces parameters assignments to don't care variables by assignments to the parameter itself. "don't care" gets promoted to main character π«Ά-rNAME,--rewriter=NAMEβ uses rewrite strategy NAME:'jitty'β jitty rewriting (default) π'jittyc'β compiled jitty rewriting β‘'jittyp'β jitty rewriting with prover. she brought backup π
--saturationβ reduces the amount of breadth-first iterations required by applying the transition groups until a fixed point is reached. we go till it stops changing, periodt β»οΈ--table-ratio[=NUM]β power-of-two ratio of node table and cache table (default1). one for one, balanced queen π§--threads=NUMβ runs with NUM threads (default=1). > β οΈ heads up bestie: with multiple threads the stack size on a Mac is limited, which can lead to bus errors. it's giving "we don't do that here" on Mac with threads ππ--timings[=FILE]β appends timing measurements to FILE. measurements are written to standard error if no FILE is provided. receipts, but make them timed β±οΈ
π Standard options π
-q,--quietβ do not display warning messages. ignorance is bliss bestie π-v,--verboseβ display short log messages. snack-sized info π-d,--debugβ display detailed log messages. the full meal deal π--log-level=LEVELβ display log messages up to and including level; eitherwarn,verbose,debugortrace. pick your volume level π’-h,--helpβ display help information. bestie asks and bestie receives π--versionβ display version information. the "who is she" option π--help-allβ display help information, including hidden and experimental options. the VIP backstage pass πβ¨
πΈ AUTHOR πΈ
Written by Wieger Wesselink. we stan a legend π«Ά
π REPORTING BUGS π
Report bugs at <http://www.mcrl2.org/issuetracker>. please do, the girlies want the tool to slay ππ«
π 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. like, none. zero. ngl if it breaks, that's on the universe π
π§ SEE ALSO π§
See also the manual at <http://www.mcrl2.org/web/user_manual/tools/release/lpsreach.html>. that's the deep lore, go read it π
okay that's the whole page bestie, ily, go reach some states π¦β¨
β lpsreach mCRL2 toolset 202507.... October 2026 π
and that's the sign-off, mwah π«Ά
π¦ 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