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