PBES2BES(1)
π pbes2bes(1) π
okay bestie, you found the page for pbes2bes β that's a User Commands manual entry, and she is literally the glow-up machine of the mCRL2 toolset. she takes a PBES and hands you back a BES. no cap, it's giving "transformation era." π¦
β¨ SYNOPSIS β¨
pbes2bes [OPTION]... [INFILE [OUTFILE]]
πΈ DESCRIPTION πΈ
so here's the vibe: she reads the PBES from INFILE and writes an equivalent BES to OUTFILE. that's the whole main character arc. π
and if you're like "bestie what if I don't give her a file" β no worries:
- no INFILE? she reads from
stdin. casual. π - no OUTFILE? she writes to
stdout. iconic.
π OPTIONS π
OPTION can be any of the following, and yes we're going through ALL of them because we don't skip parts in this house:
-eLEVEL,--erase=LEVELβ use remove level LEVEL to remove bes variables. the levels, queen by queen:'none'β never remove a generated bes variable and its equation. sounds chill but lowkey this can lead to excessive memory usage π (this is the default)'some'β remove generated bes variables that do not occur anymore in the generated BES, except if the right hand side of its equation istrueorfalse. the rhss of removed variables must have to be recalculated when this bes variable is encountered again.'all'β remove the equation for bes variables that do not occur anymore in the generated boolean equation system. this is quite memory efficient, but fr fr it can be very time consuming as the rhss of removed bes variables may have to be recalculated quite often. π
-iFORMAT,--in=FORMATβ use input format FORMAT:'pbes'β PBES in internal format (default)'pgsolver'β BES in PGSolver format'text'β PBES in textual (mCRL2) format
-oFORMAT,--out=FORMATβ use output format FORMAT:'bes'β BES in internal format'pbes'β PBES in internal format (default)'pgsolver'β BES in PGSolver format'text'β PBES in textual (mCRL2) format
-QNUM,--qlimit=NUMβ limit enumeration of universal and existential quantifiers in data expressions to NUM iterations (defaultNUM=10, andNUM=0means unlimited β¨)-rNAME,--rewriter=NAMEβ use rewrite strategy NAME:'jitty'β jitty rewriting (default)'jittyc'β compiled jitty rewriting'jittyp'β jitty rewriting with prover
-zSEARCH,--search=SEARCHβ use search strategy SEARCH:'breadth-first'β compute the right hand side of the boolean variables in a first come first served basis. this is comparable with a breadth-first search. this is good for generating counter examples. (default) π«Ά'depth-first'β compute the right hand side of a boolean variables where the last generated variable is investigated first. this corresponds to a depth-first search. this can substantially outperform breadth-first search when the validity of a formula is determined at a larger depth. π₯'b'β shorthand for breadth-first.'d'β shorthand for depth-first.
-sSTRAT,--strategy=STRATβ use substitution strategy STRAT, and bestie there are four of them so buckle up:'0'β compute all boolean equations which can be reached from the initial state, without optimization. this is is the most data efficient option per generated equation. (default)'1'β optimize by immediately substituting the right hand sides for already investigated variables that are true or false when generating an expression. this is as memory efficient as0.'2'β in addition to1, also substitute variables that are true or false into an already generated right hand side. this can mean that certain variables become unreachable (e.g.X0inX0 and X1, whenX1becomes false, assumingX0does not occur elsewhere β and yes it will be maintained which variables have become unreachable as these do not have to be investigated). depending on the PBES, this can reduce the size of the generated BES substantially but requires a larger memory footprint. π§'3'β in addition to2, investigate for generated variables whether they occur on a loop, such that they can be set to true or false, depending on the fixed point symbol. this can increase the time needed to generate an equation substantially. β³
--timings[=FILE]β append timing measurements to FILE. measurements are written to standard error if no FILE is provided.-u,--unused_dataβ do not remove unused parts of the data specification.
β Standard options β
the classics, the essentials, the little icons of the toolset:
-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 π (the secret menu, iykyk)
π AUTHOR π
Written by Jan Friso Groote. we stan. π«Ά
π 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. (yes, all caps, they mean it fr fr π)
π SEE ALSO π
See also the manual at <http://www.mcrl2.org/web/user_manual/tools/release/pbes2bes.html>.
and that's the whole page babes β this was pbes2bes from the mCRL2 toolset 202507...., dated October 2026. go forth, transform your PBES into a BES, and slay π
β¨π
π¦ 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