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. |