|
LydiaSyft
|
A DFA with explicit states and symbolic transitions. More...
#include <ExplicitStateDfa.h>


Public Member Functions | |
| ExplicitStateDfa (DFA *dfa, int nb_variables) | |
| Create an explicit-state DFA from an Lydia DFA structure and the number of variables. More... | |
| ExplicitStateDfa (DFA *dfa, const std::vector< std::string > &names) | |
| Create an explicit-state DFA from an Lydia DFA structure and the names of variables. More... | |
| ExplicitStateDfa (const ExplicitStateDfa &other) | |
| Create an explicit-state DFA from an existing one. | |
| ExplicitStateDfa & | operator= (ExplicitStateDfa other) |
| Create an explicit-state DFA from an existing one using the opeartor =. | |
| int | get_nb_variables () |
| Get the number of variables. | |
| void | dfa_print () |
| Print the explicit-state DFA. | |
Static Public Member Functions | |
| static ExplicitStateDfa | dfa_of_formula (const whitemech::lydia::LTLfFormula &formula) |
| Construct an explicit-state DFA from a given formula using Lydia. More... | |
| static ExplicitStateDfa | dfa_product_and (const std::vector< ExplicitStateDfa > &dfa_vector) |
| Take the product AND of a sequence of explicit-state DFAs. More... | |
| static ExplicitStateDfa | dfa_product_or (const std::vector< ExplicitStateDfa > &dfa_vector) |
| Take the product OR of a sequence of explicit-state DFAs. More... | |
| static ExplicitStateDfa | dfa_minimize (const ExplicitStateDfa &d) |
| Minimize a given explicit-state DFA. More... | |
| static ExplicitStateDfa | restrict_dfa_with_states (ExplicitStateDfa &d, std::vector< size_t > states) |
| Restrict an explicit-state DFA with a given set of states. More... | |
| static ExplicitStateDfa | restrict_dfa_with_transitions (ExplicitStateDfa &d, std::unordered_map< size_t, CUDD::BDD > transitions, std::shared_ptr< VarMgr > var_mgr) |
| Restrict a DFA with a given set of transitions. More... | |
| static ExplicitStateDfa | dfa_complement (ExplicitStateDfa &d) |
| Complement a DFA. More... | |
A DFA with explicit states and symbolic transitions.
The LTLf-to-DFA construction utilizes Lydia. Giuseppe De Giacomo, Marco Favorito: Compositional Approach to Translate LTLf/LDLf into Deterministic Finite Automata. ICAPS 2021: 122-130
|
inline |
Create an explicit-state DFA from an Lydia DFA structure and the number of variables.
| dfa | A Lydia DFA structure. |
| nb_variables | The number of variables in the Lydia DFA. |
|
inline |
Create an explicit-state DFA from an Lydia DFA structure and the names of variables.
| dfa | A Lydia DFA structure. |
| names | The names of the variables in the Lydia DFA. |
|
static |
Complement a DFA.
Basically exchange the accepting states and the non-accepting states.
| d | The DFA to be complemented. |
|
static |
Minimize a given explicit-state DFA.
| d | The DFA to be minimized. |
|
static |
Construct an explicit-state DFA from a given formula using Lydia.
| formula | An LTLf formula. |
|
static |
Take the product AND of a sequence of explicit-state DFAs.
| dfa_vector | The DFAs to be processed. |
|
static |
Take the product OR of a sequence of explicit-state DFAs.
| dfa_vector | The DFAs to be processed. |
|
static |
Restrict an explicit-state DFA with a given set of states.
Basically restrict a DFA to a set of states from the DFA, and return a minimized one.
| d | The DFA to be restricted. |
| states | The set of states to be kept. |
|
static |
Restrict a DFA with a given set of transitions.
Basically restrict a DFA to a set of transitions, and return a minimized one.
| d | The DFA to be restricted. |
| transitions | The set of transitions to be kept. |