LearnTA  0.0.1
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
learnta::BackwardRegionalElementaryLanguage Class Reference

A back regional elementary language. More...

#include <backward_regional_elementary_language.hh>

Inheritance diagram for learnta::BackwardRegionalElementaryLanguage:
Inheritance graph
[legend]
Collaboration diagram for learnta::BackwardRegionalElementaryLanguage:
Collaboration graph
[legend]

Public Member Functions

 BackwardRegionalElementaryLanguage ()=default
 Construct the empty language.
 
 BackwardRegionalElementaryLanguage (ElementaryLanguage elementary, FractionalOrder fractionalOrder)
 
BackwardRegionalElementaryLanguage predecessor (char action) const
 Construct the discrete predecessor.
 
BackwardRegionalElementaryLanguage predecessor () const
 Construct the continuous predecessor.
 
std::optional< BackwardRegionalElementaryLanguageimmediateSuffix () const
 Return the immediate suffix if exists.
 
std::vector< BackwardRegionalElementaryLanguageprefixes () const
 Return the suffixes in the shorter to the longer order.
 
std::ostream & print (std::ostream &os) const
 
const FractionalOrdergetFractionalOrder () const
 
bool operator== (const BackwardRegionalElementaryLanguage &another) const
 
- Public Member Functions inherited from learnta::ElementaryLanguage
 ElementaryLanguage (std::string word, TimedCondition timedCondition)
 
bool isSimple () const
 Returns if this elementary language is simple.
 
std::size_t wordSize () const
 Returns the number of the events in this elementary language.
 
ElementaryLanguage operator+ (const ElementaryLanguage &another) const
 Concatenate two elementary languages.
 
void enumerate (std::vector< ElementaryLanguage > &result) const
 Make a vector of simple elementary languages in this elementary language.
 
std::vector< ElementaryLanguageenumerate () const
 Make a vector of simple elementary languages in this elementary language.
 
TimedWord sample () const
 Return a timed word in this elementary language.
 
void removeEqualityUpperBoundAssign ()
 
void removeUpperBoundAssign ()
 
ElementaryLanguage removeUpperBound () const
 
ElementaryLanguage constrain (const TimedWord &prefix) const
 Constrain the valuation using a timed word. More...
 
bool contains (const TimedWord &testedWord) const
 Check if the given the timed word is a member of this elementary languages.
 
const std::string & getWord () const
 
const TimedConditiongetTimedCondition () const
 
bool operator== (const ElementaryLanguage &another) const
 
bool operator!= (const ElementaryLanguage &another) const
 

Static Public Member Functions

static BackwardRegionalElementaryLanguage fromTimedWord (const TimedWord &timedWord)
 Construct the fractional elementary language containing the given timed word.
 
- Static Public Member Functions inherited from learnta::ElementaryLanguage
static ElementaryLanguage empty ()
 Construct the empty elementary language containing only 0.
 
static ElementaryLanguage convexHull (const std::list< ElementaryLanguage > &elementaryLanguages)
 Construct a convex-hull of the given timed conditions. More...
 

Protected Attributes

FractionalOrder fractionalOrder
 
- Protected Attributes inherited from learnta::ElementaryLanguage
std::string word
 
TimedCondition timedCondition
 

Detailed Description

A back regional elementary language.

A back regional elementary language is an elementary language \((u, \Lambda)\) with an order over the fractional parts of \(\mathbb{T}_{0,0},\mathbb{T}_{0,1},\dots,\mathbb{T}_{0,N}\), where \(\mathbb{T}_{0,i} = \tau_{0} + \tau_{1} \dots \tau_{i}\).

Invariant
elementary.wordSize() + 1 == fractionalOrder.size()

The documentation for this class was generated from the following file: