Zetav is a tool for verification of systems specified in RT-Logic language.
Verif is a tool for verification and computation trace analysis of systems described using the Modechart formalism. It can also generate a set of restricted RT-Logic formulae from a Modechart specification which can be used in Zetav.
With default configuration file write the system specification (SP) to the sp-formulas.in file and the checked property (security assertion, SA) to the sa-formulas.in file. Launch zetav-verifier.exe to begin the verification.
With the default configuration example files and outputs are load/stored to archive root directory. But using file-browser you are free to select any needed location. To begin launch run.bat (windows) or run.sh (linux / unix). Select Modechart designer and create Modechart model or load it from file.
Similarly, Episode 9, The Scoop , follows a reporter investigating the burned-out shell of the Pokéathlon Dome in Johto. She finds a diary describing how the Kimono Girls’ ritual went wrong—how the beasts Entei, Raikou, and Suicune were created from the ashes of a burning tower. The episode never shows the fire. It only shows the aftermath: charred Poké Balls, a child’s drawing of a Flareon, and the sound of wind through broken glass. It is the most haunting three minutes in Pokémon history. One of the greatest narrative limitations of the games is the silent player character. Generations weaponizes this. In Episode 1, The Adventure , we see Blue (the rival) defeat the Elite Four seconds before Red arrives. Blue is crowing, celebrating—and then he looks up. Red says nothing. He simply walks past Blue to face his grandfather. The camera zooms in on Blue’s face: a slow deflation of arrogance into quiet humiliation. No dialogue is needed. The weight of silence becomes the punchline.
Across 18 short episodes (each roughly three to five minutes long), Generations did not retell the game plots. Instead, it deconstructed them. It pried open the margins of the game’s rulebook, peered into the psychological toll of being a Champion, and dared to ask: What does it actually feel like to live in a world where gods can be captured in palm-sized spheres? Unlike the more famous Pokemon Origins (which recreated the Kanto journey beat-for-beat) or Pokemon Evolutions (which focused on each game generation’s legendary lore), Generations is structured as a scar chart. It moves chronologically through the mainline game regions—from the Looker Bureau’s cold case files in Kanto to the existential crisis of AZ’s Floette in Kalos. Each episode is a vignette, not a chapter. Pokemon Generations
Because what the games cannot say, the margins can. The games cannot show a Poké Ball cracking open on a stone floor. They cannot show a villain weeping. They cannot show the moment a legendary Pokémon, freed from its master’s control, simply leaves —not attacking, not roaring, just walking away into a forest, indifferent to the human screaming its name. Similarly, Episode 9, The Scoop , follows a
Watch Episode 10, The Olden Days , which depicts the original dragon of Unova splitting into Reshiram, Zekrom, and Kyurem. The dragon is drawn not as a monster but as a crack in reality . When it screams, the screen inverts colors. When the brothers who control it argue, their faces are obscured by shadow. The episode ends on a stained-glass window in Opelucid City, showing the dragon splitting. A priest whispers: "History is just the argument that won." It only shows the aftermath: charred Poké Balls,
Pokemon Generations shows all of this. And in doing so, it proves that the Pokémon world is not a utopia of friendship and badges. It is a world of loss, bureaucracy, silent understanding, and the terrible weight of carrying six gods in your backpack.
And that is far more interesting.
In the sprawling multimedia empire of Pokémon, most side projects fall into predictable categories: the cheerful, slow-burn adventure of the main anime (Ash’s eternal quest), the tactical depth of Pokemon Adventures manga, or the disposable spectacle of a holiday special. But in 2016, The Pokémon Company quietly released something different. Pokemon Generations , a web-exclusive anthology series, was not for children learning what a Poké Ball is. It was for the veterans—the players who had spent decades in Kanto, Johto, Hoenn, and beyond.
The Zetav verifier expects the input RRTL formulae to be in the following form:
<rrtlformula> : <formula> [ CONNECTIVE <formula> ] ... <formula> : <predicate> | NOT <formula> | <quantifiedvars> <formula> | ( <formula> ) <predicate> : <function> PRED_SYMB <function> <function> : <function> FUNC_SYMB <function> | @( ACTION_TYPE ACTION , term ) | CONSTANT <quantifiedvars> : QUANTIFIER VARIABLE [ QUANTIFIER VARIABLE ] ...Where predicate symbols (PRED_SYMB) could be inequality operators <, =<, =, >=, >, function symbols (FUNC_SYMB) could be basic + and - operators, action type (ACTION_TYPE) could be starting action (^), stop action ($), transition action (%) and external action (#). Quantifier symbols (QUANTIFIER) could be either an universal quantifier (forall, V) or an existential quantifier (exists, E). Connectives (CONNECTIVE) could be conjunction (and, &, /\), disjunction (or, |, \/), or implication (imply, ->). All variables (VARIABLE) must start with a lower case letter and all actions (ACTION) with an upper case letter. Constants (CONSTANT) could be positive or negative number. RRTL formulae in the input file must be separated using semicolon (;).
V t V u (
( @(% TrainApproach, t) + 45 =< @(% Crossing, u) /\
@(% Crossing, u) < @(% TrainApproach, t) + 60
)
->
( @($ Downgate, t) =< @(% Crossing, u) /\
@(% Crossing, u) =< @($ Downgate, t) + 45
)
)
Verif tool does not deal with direct input. Examples are load from files with extension MCH. Those files are in XML and describes model modes structure and transition between modes. There is no need to directly modify those files. But in some cases it is possible to make some small changes manualy or generate Modechart models in another tool.
If you have further questions, do not hesitate to contact authors ( Jan Fiedor and Marek Gach ).
This work is supported by the Czech Science Foundation (projects GD102/09/H042 and P103/10/0306), the Czech Ministry of Education (projects COST OC10009 and MSM 0021630528), the European Commission (project IC0901), and the Brno University of Technology (project FIT-S-10-1).