PBESINST(1)
π PBESINST(1) π
okay bestie, sit down, we're doing the pbesinst page from the User Commands manual and honestly? it's giving main character energy for a tool that just... converts one file into another file. but it's SO good at it. let's go π«Ά
β¨ NAME β¨
pbesinst β compute a BES out of a PBES
like, it takes your parameterised thing and gives you a non-parameterised thing. the way that it just does that. π₯
πΈ SYNOPSIS πΈ
pbesinst [OPTION]... [INFILE [OUTFILE]]
π¦ DESCRIPTION π¦
So here's the vibe: it transforms the PBES from INFILE into an equivalent BES and writes it to OUTFILE. That's the whole job. And it ate. π
- If INFILE isn't there β standard input is used.
- If OUTFILE isn't there β standard output is used.
ngl the format of OUTFILE is determined by its extension (unless you specify it with an option, obviously). the supported formats are:
'pbes'for the mCRL2 PBES format'bes'for the mCRL2 BES format
π OPTIONS π
OPTION can be any of the following, and yes, we're listing every single one, because leaving stuff out is not the vibe:
-iFORMAT,--in=FORMATβ use input format FORMAT:'pbes'β PBES in internal format (this is the default, bestie)'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 energy β¨)'pgsolver'β BES in PGSolver format'text'β PBES in textual (mCRL2) format
-QNUM,--qlimit=NUMβ limit the enumeration of universal and existential quantifiers in data expressions to NUM iterations (default NUM=10, and NUM=0 means unlimited, so go off king π).-e,--remove-equationsβ remove redundant equations. decluttering era π§Ή-rNAME,--rewriter=NAMEβ use rewrite strategy NAME:'jitty'β jitty rewriting (default)'jittyc'β compiled jitty rewriting'jittyp'β jitty rewriting with prover
-zNAME,--search=NAMEβ search the state space using strategy NAME:'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.
-f[PARAMS],--select[=PARAMS]β select finite parameters that need to be expanded. Examples:--select=X1(b:Bool,c:Bool);X2(b:Bool)or--select=*(*:Bool).
ngl this option only has effect when used together with --strategy=finite. like, it literally will not do anything otherwise. iykyk π
-sNAME,--strategy=NAMEβ compute the BES using strategy NAME:'lazy'β for computing only boolean equations which can be reached from the initial state'alternative-lazy'β an alternative version of the lazy strategy that supports more options (default)'finite'β for computing all possible boolean equations
--timings[=FILE]β append timing measurements to FILE. Measurements are written to standard error if no FILE is provided. clock it β±οΈ-ONAME,--transformation=NAMEβ optimize the BES using strategy NAME:'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 as 0.'2'β in addition to 1, 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.X0inX0andX1, whenX1becomes false, assumingX0does not occur elsewhere). 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 to 2, 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.
β Standard options β
the classics, the icons, the ones you actually use every day:
-q,--quietβ do not display warning messages. silence is golden π-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, lowkey π
π AUTHOR π
Written by Wieger Wesselink; Alexander van Dam and Tim Willemse. legends, fr fr π
π REPORTING BUGS π
Report bugs at <http://www.mcrl2.org/issuetracker>.
bestie if it's broken, TELL THEM. do not suffer in silence π
πΈ 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. nada. π«Ά
π SEE ALSO π
See also the manual at <http://www.mcrl2.org/web/user_manual/tools/release/pbesinst.html>.
and that's the page!! mwah π this was pbesinst from the mCRL2 toolset version 202507...., dated October 2026 β yeah the version string really does end in four dots, we don't make the rules, we just think it's iconic πβ¨π
π¦ 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