1 #ifndef ONE_STEP_REALIZABILITY_HPP 
    2 #define ONE_STEP_REALIZABILITY_HPP 
    6 #include <lydia/visitor.hpp> 
    9 #include "game/InputOutputPartition.h" 
   24     z3::context& z3_context;
 
   27     std::set<std::string> uncontrollableVars;
 
   30         : partition{partition}, var_mgr{var_mgr}, z3_context{z3_context}, solver{solver}, result{z3_context.bool_val(
true)} {}
 
   32     void visit(
const whitemech::lydia::LTLfTrue &) 
override;
 
   33     void visit(
const whitemech::lydia::LTLfFalse &) 
override;
 
   34     void visit(
const whitemech::lydia::LTLfAtom &) 
override;
 
   35     void visit(
const whitemech::lydia::LTLfNot &) 
override;
 
   36     void visit(
const whitemech::lydia::LTLfAnd &) 
override;
 
   37     void visit(
const whitemech::lydia::LTLfOr &) 
override;
 
   38     void visit(
const whitemech::lydia::LTLfNext &) 
override;
 
   39     void visit(
const whitemech::lydia::LTLfWeakNext &) 
override;
 
   40     void visit(
const whitemech::lydia::LTLfUntil &) 
override;
 
   41     void visit(
const whitemech::lydia::LTLfRelease &) 
override;
 
   42     void visit(
const whitemech::lydia::LTLfEventually &) 
override;
 
   43     void visit(
const whitemech::lydia::LTLfAlways &) 
override;
 
   45     z3::expr apply(
const whitemech::lydia::LTLfFormula &f);
 
Implementation of the one-step realizability check using Z3.
Definition: OneStepRealizability.h:20
 
A dictionary that maps variable names to indices and vice versa.
Definition: VarMgr.h:15