Trait rational_deduction::substitution::Substitution [−][src]
Substitution Trait
Associated Types
Loading content...Required methods
Loading content...Provided methods
fn is_empty(&self) -> bool
[src]
Checks if the Substitution
is empty.
fn is_identity(&self) -> bool where
E::Atom: PartialEq,
[src]
E::Atom: PartialEq,
Checks if all of the elements of &self
are the identity substitution.
fn get(&self, var: &E::Atom) -> Option<&E> where
E::Atom: PartialEq,
[src]
E::Atom: PartialEq,
Returns corresponding expression which var
completes to under substitution.
fn get_new(&self, var: &E::Atom) -> Option<E> where
E::Atom: Clone + PartialEq,
E::Group: FromIterator<E>,
[src]
E::Atom: Clone + PartialEq,
E::Group: FromIterator<E>,
Returns corresponding expression which var
completes to under substitution.
fn apply_atom(&self, atom: E::Atom) -> E where
E::Atom: Clone + PartialEq,
E::Group: FromIterator<E>,
[src]
E::Atom: Clone + PartialEq,
E::Group: FromIterator<E>,
Performs substitution on an atomic expression.
fn apply_atom_ref(&self, atom: &E::Atom) -> E where
E::Atom: Clone + PartialEq,
E::Group: FromIterator<E>,
[src]
E::Atom: Clone + PartialEq,
E::Group: FromIterator<E>,
Performs substitution on an atomic expression by reference.
fn apply(&self, expr: E) -> E where
E::Atom: Clone + PartialEq,
E::Group: IntoIterator<Item = E> + FromIterator<E>,
[src]
E::Atom: Clone + PartialEq,
E::Group: IntoIterator<Item = E> + FromIterator<E>,
Performs substitution on an expression.
fn apply_ref(&self, expr: &E) -> E where
E::Atom: Clone + PartialEq,
E::Group: IntoIterator<Item = E> + FromIterator<E>,
[src]
E::Atom: Clone + PartialEq,
E::Group: IntoIterator<Item = E> + FromIterator<E>,
Performs substitution on an expression by reference.
fn generate<F>(lhs: &E, rhs: &E, can_substitute: F) -> Option<Directed<Self>> where
Self: Sized,
E::Atom: Clone + PartialEq,
F: FnMut(&E::Atom) -> bool,
[src]
Self: Sized,
E::Atom: Clone + PartialEq,
F: FnMut(&E::Atom) -> bool,
Tries to generate a substitution from two expressions.
Implementors
impl<E> Substitution<E, Vec<Term<E>, Global>> for Structure<E> where
E: Expression,
E::Group: FromIterator<E> + IntoIterator<Item = E>,
[src]
E: Expression,
E::Group: FromIterator<E> + IntoIterator<Item = E>,