LydiaSyft
FairnessLtlfSynthesizer.h
1 //
2 // Created by shuzhu on 20/01/24.
3 //
4 
5 #ifndef LYDIASYFT_FAIRNESSLTLFSYNTHESIZER_H
6 #define LYDIASYFT_FAIRNESSLTLFSYNTHESIZER_H
7 
8 #include "automata/SymbolicStateDfa.h"
9 #include "Synthesizer.h"
10 
11 #include "game/coGR1Reachability.hpp"
12 #include "game/coBuchiReachability.hpp"
13 
14 namespace Syft {
15 
23  private:
27  std::shared_ptr<VarMgr> var_mgr_;
31  SymbolicStateDfa spec_;
35  Player starting_player_;
39  Player protagonist_player_;
43  CUDD::BDD goal_states_;
47  CUDD::BDD state_space_;
51  CUDD::BDD assumption_;
52 
53  protected:
54  CUDD::BDD load_CNF(const std::string &filename) const;
55 
56  public:
57 
68  FairnessLtlfSynthesizer(const SymbolicStateDfa &spec, Player starting_player, Player protagonist_player,
69  const CUDD::BDD &goal_states, const CUDD::BDD &state_space,
70  const std::string &assumption_filename);
71 
77  SynthesisResult run() const;
78 
79  };
80 
81 }
82 
83 #endif //LYDIASYFT_FAIRNESSLTLFSYNTHESIZER_H
A single-strategy-synthesizer for an LTLf formula given as a symbolic-state DFA, considering environm...
Definition: FairnessLtlfSynthesizer.h:22
FairnessLtlfSynthesizer(const SymbolicStateDfa &spec, Player starting_player, Player protagonist_player, const CUDD::BDD &goal_states, const CUDD::BDD &state_space, const std::string &assumption_filename)
Construct a FairnessLtlfSynthesizer.
Definition: FairnessLtlfSynthesizer.cpp:13
SynthesisResult run() const
Solves the synthesis problem of LTLf with simple Fairness environment assumption.
Definition: FairnessLtlfSynthesizer.cpp:25
A DFA with symbolic states and transitions.
Definition: SymbolicStateDfa.h:18
Definition: Synthesizer.h:16