PBESSOLVESYMBOLIC(1)
π pbessolvesymbolic(1) π
okay so bestie, welcome to pbessolvesymbolic, a genuine mCRL2 toolset icon from the User Commands section of the manual, and she is here to solve a PBES for you. no cap.
πΈ NAME πΈ
pbessolvesymbolic β solves a PBES using symbolic data structures. yes queen, that's literally her whole job.
β¨ SYNOPSIS β¨
pbessolvesymbolic [OPTION]... [INFILE [OUTFILE]]
π¦ DESCRIPTION π¦
So. She solves the PBES from INFILE. and like, if INFILE isn't there? she just reads from stdin, nbd, she's flexible like that π«Ά
The way it works is: the PBES gets first instantiated into a parity game, and then that parity game is solved using Zielonka's algorithm. that's the pipeline, that's the lore, that's the whole vibe. π
π OPTIONS π
OPTION can be literally any of the following, and yes there are a lot of them, we're getting through all of them:
--cachedβ use transition group caching to speed up state space exploration. she's caching, she's thriving β¨--chainingβ reduces the amount of breadth-first iterations by applying the transition groups consecutively.--evidence-file=NAMEβ the file that the evidence gets written to. if you don't set it, a default name will be chosen for you. she's got you π-fNAME,--file=NAMEβ the file containing the LPS or LTS that was used to generate the PBES usinglps2pbes -c. if this option is set, a counter example or witness for the encoded property will be generated. the extension of the file should be.lpsin case of an LPS file β in all other cases it is assumed to be an LTS. iykyk π--groups[=GROUPS]β summand grouping, and there are options, so many options:'none'(default) β no summand groups'used'β summands with the same variables are joined'simple'β summands with the same read/write variables are joined- a user defined list of summand groups separated by semicolons, e.g.
'0; 1 3 4; 2 5'
--infoβ print read/write information of the summands. the tea β--lace-dqsize[=NUM]β set length of Lace task queue (default1024*1024*4).--lace-stacksize[=NUM]β set size of program stack in kilobytes (0=default stack size).--max-iterations[=NUM]β limit number of breadth-first iterations to NUM. boundaries, bestie π§-m[NUM],--memory-limit[=NUM]β Sylvan memory limit in gigabytes (default3).--print-exactβ prints the sizes of LDDs exactly when within the representable range, and in scientific notation otherwise.--print-nodesizeβ print the number of LDD nodes in addition to the number of elements, represented as'elements[nodes]'.-QNUM,--qlimit=NUMβ limit enumeration of universal and existential quantifiers in data expressions to NUM iterations (defaultNUM=10, andNUM=0for unlimited).--reorder[=ORDER]β variable reordering, take your pick:'none'(default) β no variable reordering'random'β variables are put in a random order'weighted'β variables are put in an order defined by their connectivity weight- a user defined permutation e.g.
'1 3 2 0 4'
--resetβ set constant values when introducing parameters.-rNAME,--rewriter=NAMEβ use rewrite strategy NAME:'jitty'β jitty rewriting (default)'jittyc'β compiled jitty rewriting'jittyp'β jitty rewriting with prover
--saturationβ reduces the amount of breadth-first iterations by applying the transition groups until fixed point. she's saturating, she's not stopping π₯-sNUM,--solve-strategy=NUMβ use solve strategy NUM. heads up: all strategies except0periodically apply on-the-fly solving, which may lead to early termination.'0'β no on-the-fly solving is applied (default)'1'β detect solitair winning cycles.'2'β detect solitair winning cycles with safe attractors.'3'β detect forced winning cycles.'4'β detect forced winning cycles with safe attractors.'5'β detect fatal attractors.'6'β detect fatal attractors with safe attractors.'7'β solve subgames using a Zielonka solver.
-c,--split-conditionsβ split disjunctive conditions to obtain more summands with potentially less dependencies.--threads=NUMβ run with NUM threads (default=1).
β οΈ with multiple threads the stack size on a Mac is limited, which can lead to bus errors. π mac girlies beware.
--timings[=FILE]β append timing measurements to FILE. measurements are written to standard error if no FILE is provided.-t,--totalβ make the SRF PBES total.
π Standard options π
the everyday essentials, the little black dress of flags:
-q,--quietβ do not display warning messages. blissful silence π-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. the secret menu ππ«Ά
β AUTHOR β
Written by Wieger Wesselink. ty king π«‘
π REPORTING BUGS π
Report bugs at <http://www.mcrl2.org/issuetracker>. please do, she wants to grow π±
π§ 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, none, zero, nada π
π SEE ALSO π
See also the manual at <http://www.mcrl2.org/web/user_manual/tools/release/pbessolvesymbolic.html>.
okay that's the whole page bestie, and for the cute sign-off: this is pbessolvesymbolic from the mCRL2 toolset (the version string got a lil truncated in the footer, we love a mysterious queen), dated October 2026, page PBESSOLVESYMBOLIC(1). slay, go solve some PBES π
β¨π
π¦ 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