[−][src]Trait automatic_relations::convolution::Convolution
Convolution operations.
Required methods
fn convolute<T: AsRef<[Option<Term<F>>]>>(terms: T) -> Term<Rank<Convoluted<F>>>
Perform a term convolution.
fn deconvolute(term: Term<Rank<Convoluted<F>>>) -> Vec<Option<Term<F>>>
Perform a term deconvolution.
fn generic_automaton<Q: State>(
aut: &Automaton<Rank<Convoluted<F>>, Q, NoLabel>
) -> Automaton<Convoluted<F>, Q, Convoluted<u32>>
aut: &Automaton<Rank<Convoluted<F>>, Q, NoLabel>
) -> Automaton<Convoluted<F>, Q, Convoluted<u32>>
Generic alternating-automaton out of a convoluted bottom-up automaton.
fn equality<Q: State>(
aut: &Automaton<F, Q, NoLabel>,
n: usize
) -> Automaton<Rank<Convoluted<F>>, Q, NoLabel>
aut: &Automaton<F, Q, NoLabel>,
n: usize
) -> Automaton<Rank<Convoluted<F>>, Q, NoLabel>
Compute the equality predicate over a domain between n
variables.
fn state_convolution<E, Q: LanguageState<F, E>>(
initial_state: Convoluted<Q>,
env: &E
) -> Automaton<Rank<Convoluted<F>>, Convoluted<Q>, NoLabel>
initial_state: Convoluted<Q>,
env: &E
) -> Automaton<Rank<Convoluted<F>>, Convoluted<Q>, NoLabel>
fn search<'a, 'e, Q: State, X: 'a + Spawnable>(
automata: &'a [&'e Automaton<Rank<Convoluted<F>>, Q, NoLabel>],
patterns: Vec<Convoluted<Pattern<F, X>>>,
kill_signal: Receiver<()>
) -> Box<dyn Iterator<Item = Result<Vec<Term<Rank<Convoluted<F>>>>, Killed>> + 'a>
automata: &'a [&'e Automaton<Rank<Convoluted<F>>, Q, NoLabel>],
patterns: Vec<Convoluted<Pattern<F, X>>>,
kill_signal: Receiver<()>
) -> Box<dyn Iterator<Item = Result<Vec<Term<Rank<Convoluted<F>>>>, Killed>> + 'a>
Implementors
impl<F: Symbol + Ranked> Convolution<F> for Convolution
[src]
fn convolute<T: AsRef<[Option<Term<F>>]>>(terms: T) -> Term<Rank<Convoluted<F>>>
[src]
Perform a term convolution.
fn deconvolute(_term: Term<Rank<Convoluted<F>>>) -> Vec<Option<Term<F>>>
[src]
Perform a term deconvolution.
fn equality<Q: State>(
aut: &Automaton<F, Q, NoLabel>,
n: usize
) -> Automaton<Rank<Convoluted<F>>, Q, NoLabel>
[src]
aut: &Automaton<F, Q, NoLabel>,
n: usize
) -> Automaton<Rank<Convoluted<F>>, Q, NoLabel>
Create the equality relation between n terms.
fn generic_automaton<Q: State>(
aut: &Automaton<Rank<Convoluted<F>>, Q, NoLabel>
) -> Automaton<Convoluted<F>, Q, Convoluted<u32>>
[src]
aut: &Automaton<Rank<Convoluted<F>>, Q, NoLabel>
) -> Automaton<Convoluted<F>, Q, Convoluted<u32>>
fn state_convolution<E, Q: LanguageState<F, E>>(
initial_state: Convoluted<Q>,
env: &E
) -> Automaton<Rank<Convoluted<F>>, Convoluted<Q>, NoLabel>
[src]
initial_state: Convoluted<Q>,
env: &E
) -> Automaton<Rank<Convoluted<F>>, Convoluted<Q>, NoLabel>
fn search<'a, 'e, Q: State, X: 'a + Spawnable>(
automata: &'a [&'e Automaton<Rank<Convoluted<F>>, Q, NoLabel>],
patterns: Vec<Convoluted<Pattern<F, X>>>,
kill_signal: Receiver<()>
) -> Box<dyn Iterator<Item = Result<Vec<Term<Rank<Convoluted<F>>>>, Killed>> + 'a>
[src]
automata: &'a [&'e Automaton<Rank<Convoluted<F>>, Q, NoLabel>],
patterns: Vec<Convoluted<Pattern<F, X>>>,
kill_signal: Receiver<()>
) -> Box<dyn Iterator<Item = Result<Vec<Term<Rank<Convoluted<F>>>>, Killed>> + 'a>