49 enum ModelType { MDP, DTMC, SMG, BDP };
59 PLUS, UNARYMINUS, MINUS, TIMES, DIVIDE, ITE, NUMERAL, IDENTIFIER, MIN, MAX,
60 MOD, POW, LOG, CEIL, FLOOR, TRUE, FALSE, OR, AND, XOR, IFF, IMPLIES, NOT,
61 EQUAL, NOTEQ, LE, LT, GE, GT
64 std::ostream & operator<<(std::ostream & os, Operator
const & op);
65 std::string to_string(Operator
const & op);
74 std::vector<Expression> operands;
75 std::string identifier;
81 std::ostream & operator<<(std::ostream & os,
Expression const & ie);
91 std::ostream & operator<<(std::ostream & os,
Variable const & v);
98 std::ostream & operator<<(std::ostream & os,
Formula const & f);
105 std::ostream & operator<<(std::ostream & os,
Label const & l);
113 std::ostream & operator<<(std::ostream & os,
Constant const & c);
120 std::ostream & operator<<(std::ostream & os,
Transition const & t);
125 std::vector<Transition> transitions;
128 std::ostream & operator<<(std::ostream & os,
Command const & c);
132 std::vector<Variable> variables;
133 std::vector<Command> commands;
136 std::ostream & operator<<(std::ostream & os,
Module const & m);
143 std::ostream & operator<<(std::ostream & os,
NameReplacement const & m);
148 std::vector<NameReplacement> replacements;
152 std::ostream & operator<<(std::ostream & os,
ModuleRenaming const & m);
154 enum RewardType { STATE, ACTION };
163 std::ostream & operator<<(std::ostream & os,
RewardSpec const & rs);
167 std::vector<RewardSpec> specs;
170 std::ostream & operator<<(std::ostream & os,
RewardSection const & rv);
172 enum ControlType { PMODULE, PACTION };
179 std::ostream & operator<<(std::ostream & os,
ControlSpec const & cs);
183 std::vector<ControlSpec> controls;
187 std::ostream & operator<<(std::ostream & os,
Player const & p);