pub struct BuchiAutomaton {
pub num_states: usize,
pub alphabet: Vec<String>,
pub transitions: Vec<Vec<(HashSet<String>, usize)>>,
pub initial_state: usize,
pub accepting_states: HashSet<usize>,
}Expand description
A Büchi automaton: (Q, Σ, δ, q_0, F).
Fields§
§num_states: usizeNumber of states.
alphabet: Vec<String>Alphabet (atomic propositions as strings).
transitions: Vec<Vec<(HashSet<String>, usize)>>Transition function: transitions[q] = list of (label_set, target) pairs.
initial_state: usizeInitial state.
accepting_states: HashSet<usize>Set of accepting (Büchi) states.
Implementations§
Source§impl BuchiAutomaton
impl BuchiAutomaton
Sourcepub fn add_accepting(&mut self, q: usize)
pub fn add_accepting(&mut self, q: usize)
Mark state q as accepting.
Sourcepub fn add_transition(&mut self, q: usize, label: HashSet<String>, r: usize)
pub fn add_transition(&mut self, q: usize, label: HashSet<String>, r: usize)
Add a transition from q to r on the given label set.
Sourcepub fn has_accepting_states(&self) -> bool
pub fn has_accepting_states(&self) -> bool
Returns true if the automaton has any accepting states.
Trait Implementations§
Source§impl Clone for BuchiAutomaton
impl Clone for BuchiAutomaton
Source§fn clone(&self) -> BuchiAutomaton
fn clone(&self) -> BuchiAutomaton
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for BuchiAutomaton
impl RefUnwindSafe for BuchiAutomaton
impl Send for BuchiAutomaton
impl Sync for BuchiAutomaton
impl Unpin for BuchiAutomaton
impl UnsafeUnpin for BuchiAutomaton
impl UnwindSafe for BuchiAutomaton
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more