|
static std::ostream & | operator<< (std::ostream &os, const learnta::BackwardRegionalElementaryLanguage &lang) |
|
std::size_t | hash_value (learnta::BackwardRegionalElementaryLanguage const &lang) |
|
static bool | isPoint (const Bounds &upperBound, const Bounds &lowerBound) |
| Check if the upper and lower bounds define a point.
|
|
static bool | isUnitOpen (const Bounds &upperBound, const Bounds &lowerBound) |
|
static bool | isSimple (const Bounds &upperBound, const Bounds &lowerBound) |
|
static std::ostream & | print (std::ostream &os, const learnta::Bounds &b) |
|
static std::ostream & | print (std::ostream &os, learnta::Bounds &&b) |
|
template<class T > |
bool | is_ascending (const std::vector< T > &container) |
| Check if the elements are sorted in the ascending order.
|
|
template<class T > |
bool | is_strict_ascending (const std::vector< T > &container) |
| Check if the elements are sorted in the strict ascending order.
|
|
template<class T , class U > |
T | first (const std::pair< T, U > &pair) |
| Return the first element of a pair.
|
|
template<class T , class U > |
U | second (const std::pair< T, U > &pair) |
| Return the second element of a pair.
|
|
template<class T , class U > |
auto | is_first (const T &value) |
| Return a function checking if the first element equal to the given value.
|
|
template<class T , class U > |
auto | is_second (const U &value) |
| Return a function checking if the second element equal to the given value.
|
|
bool | toBool (Order odr) |
|
int | orderToInt (learnta::Constraint::Order order) |
|
std::size_t | hash_value (const Constraint guard) |
|
static bool | isWeaker (const std::vector< Constraint > &left, const std::vector< Constraint > &right) |
|
static std::ostream & | operator<< (std::ostream &os, const Constraint::Order &odr) |
|
static std::ostream & | operator<< (std::ostream &os, const Constraint &p) |
|
static void | widen (std::vector< Constraint > &guard) |
| remove any inequality x > c or x >= c
|
|
std::vector< Constraint > | negateAll (const std::vector< Constraint > &constraints) |
|
std::vector< Constraint > | conjunction (const std::vector< Constraint > &left, const std::vector< Constraint > &right) |
|
auto | toBounds (const std::vector< Constraint > &constraints) |
|
std::vector< ClockVariables > | simpleVariables (const std::vector< Constraint > &constraints) |
| Return the variables that are bounded by a simple constraint, i.e., c < x < c + 1 or x = c. More...
|
|
bool | satisfiable (const std::vector< Constraint > &constraints) |
|
std::vector< Constraint > | simplify (const std::vector< Constraint > &constraints) |
|
Bounds | lowerBoundDurationToSatisfy (const std::vector< Constraint > &guard, const std::vector< double > &valuation) |
|
static std::ostream & | operator<< (std::ostream &os, const std::vector< Constraint > &guards) |
|
std::vector< std::vector< Constraint > > | negate (const std::vector< std::vector< Constraint >> &dnfConstraints) |
|
static auto | unionHull (const std::vector< std::vector< Constraint >> &guards) |
| Return the strongest guard that is weaker than all of the given guards.
|
|
static auto | unionHull (const std::vector< Constraint > &left, const std::vector< Constraint > &right) |
| Return the strongest guard that is weaker than the given guards.
|
|
void | addUpperBound (std::vector< Constraint > &guard) |
|
static bool | adjacent (const std::vector< Constraint > &left, const std::vector< Constraint > &right) |
| Check if two guards are adjacent.
|
|
static std::optional< TimedWord > | analyzeCEX (const TimedWord &word, MembershipOracle &oracle, const RecognizableLanguage &hypothesis, const std::vector< BackwardRegionalElementaryLanguage > ¤tSuffixes={}) |
| Rivest-Schapire-style counterexample analysis. More...
|
|
std::ostream & | operator<< (std::ostream &os, const ElementaryLanguage &language) |
|
std::size_t | hash_value (learnta::ElementaryLanguage const &lang) |
|
static bool | equivalence (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< BackwardRegionalElementaryLanguage > &suffixes, const RenamingRelation &renaming) |
| Return if two elementary languages are equivalent. More...
|
|
static bool | equivalence (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const std::vector< TimedCondition > &leftConcatenation, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< TimedCondition > &rightConcatenation, const std::vector< BackwardRegionalElementaryLanguage > &suffixes, const RenamingRelation &renaming) |
| Return if two elementary languages are equivalent. More...
|
|
static bool | equivalence (JuxtaposedZone leftRightJuxtaposition, const std::vector< JuxtaposedZoneSet > &leftJuxtapositions, const std::vector< JuxtaposedZoneSet > &rightJuxtapositions, const RenamingRelation &renaming) |
| Return if two elementary languages are equivalent. More...
|
|
static RenamingGraph | toGraph (const TimedCondition &left, const TimedCondition &right) |
| Construct the intermediate bipartite graph for candidate generation from timed conditions. More...
|
|
static std::vector< RenamingRelation > | generateDeterministicCandidates (const TimedCondition &left, const TimedCondition &right, const std::vector< std::size_t > &leftConstrained, const std::vector< std::size_t > &rightConstrained, const RenamingGraph &graph) |
| Construct candidate renaming relations that are deterministic, i.e., the corresponding reset only makes precise clocks. More...
|
|
static CellStatus | decideStatus (const TimedCondition &concatenation, const TimedConditionSet &cell) |
| Compute the status of a cell of the observation table. More...
|
|
static std::pair< std::vector< std::size_t >, std::vector< std::size_t > > | makeConstrainedVariables (const std::vector< TimedConditionSet > &leftRow, const std::vector< TimedConditionSet > &rightRow, const std::vector< TimedCondition > &leftConcatenations, const std::vector< TimedCondition > &rightConcatenations, const std::size_t N, const std::size_t M) |
| Return the constrained variables in the symbolic membership. More...
|
|
static std::optional< RenamingRelation > | findDeterministicEquivalentRenaming (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< BackwardRegionalElementaryLanguage > &suffixes) |
| Return a renaming constraint if two elementary languages are equivalent. More...
|
|
static std::optional< RenamingRelation > | findDeterministicEquivalentRenaming (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const std::vector< TimedCondition > &leftConcatenations, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< TimedCondition > &rightConcatenations, const std::vector< BackwardRegionalElementaryLanguage > &suffixes) |
| Return a renaming constraint if two elementary languages are equivalent. More...
|
|
static std::optional< RenamingRelation > | findEquivalentRenaming (const ElementaryLanguage &left, const std::vector< TimedConditionSet > &leftRow, const ElementaryLanguage &right, const std::vector< TimedConditionSet > &rightRow, const std::vector< BackwardRegionalElementaryLanguage > &suffixes) |
| Construct a renaming constraint if two elementary languages are equivalent. More...
|
|
static std::ostream & | operator<< (std::ostream &os, const learnta::ForwardRegionalElementaryLanguage &lang) |
|
std::size_t | hash_value (learnta::ForwardRegionalElementaryLanguage const &lang) |
|
static std::ostream & | operator<< (std::ostream &os, const learnta::FractionalOrder &order) |
|
std::size_t | hash_value (learnta::FractionalOrder const &order) |
|
void | intersectionTA (const TimedAutomaton &in1, const TimedAutomaton &in2, TimedAutomaton &out, boost::unordered_map< std::pair< TAState *, TAState * >, std::shared_ptr< TAState >> &toIState) |
|
void | updateInitAccepting (const TimedAutomaton &in1, const TimedAutomaton &in2, TimedAutomaton &out, boost::unordered_map< std::pair< TAState *, TAState * >, std::shared_ptr< TAState >> toIState) |
|
void | intersectionSignalTA (const TimedAutomaton &in1, const TimedAutomaton &in2, TimedAutomaton &out) |
|
static std::ostream & | operator<< (std::ostream &os, const learnta::NeighborConditions &conditions) |
|
static std::size_t | hash_value (const NeighborConditions &conditions) |
|
static std::ostream & | operator<< (std::ostream &os, const learnta::SymbolicRun &run) |
| Print the symbolic run.
|
|
void | ta2za (const TimedAutomaton &TA, ZoneAutomaton &ZA, bool quickReturn=true) |
| Generate a zone automaton from a timed automaton. More...
|
|
std::size_t | hash_value (const TATransition &transition) |
|
static std::ostream & | operator<< (std::ostream &os, const TimedAutomaton &TA) |
|
static std::unordered_map< ClockVariables, std::variant< double, ClockVariables > > | asMap (const TATransition::Resets &resets) |
|
static TATransition::Resets | composition (const TATransition::Resets &left, const TATransition::Resets &right) |
| Construct the composition ( \(left \circ right\)) of the resets.
|
|
static TATransition::Resets | addDefault (const TATransition::Resets &original, const TATransition::Resets &defaultReset) |
|
static TATransition::Resets | clean (const TATransition::Resets &resets) |
|
static std::ostream & | print (std::ostream &os, const learnta::TimedCondition &cond) |
|
static std::ostream & | operator<< (std::ostream &os, const learnta::TimedCondition &b) |
|
std::size_t | hash_value (learnta::TimedCondition const &timedCondition) |
|
static std::ostream & | print (std::ostream &os, const learnta::TimedWord &word) |
|
static std::ostream & | operator<< (std::ostream &os, const learnta::TimedWord &word) |
|
static std::size_t | hash_value (const TimedWord &word) |
|
static std::ostream & | print (std::ostream &os, const learnta::Zone &zone) |
| Print the zone.
|
|
static std::ostream & | operator<< (std::ostream &os, const learnta::Zone &zone) |
|
std::size_t | hash_value (learnta::Zone const &zone) |
|
std::vector< ClockVariables > | impreciseClocksAfterTransition (const TATransition &transition) |
| Returns the imprecise clocks after transition.
|
|
TATransition | mergeTransitions (const TATransition &left, const TATransition &right) |
| Merge two TATransitions. More...
|
|