Trait rational_deduction::rule::Rule[][src]

pub trait Rule<E>: Structure<E, Structure<E>> where
    E: Expression,
    E::Group: FromIterator<E> + IntoIterator<Item = E>, 
{ fn cases(&self) -> Reference<'_, E>; fn top(&self) -> <E::Group as IntoIteratorGen<E>>::IterGen { ... }
fn bot(&self) -> <E::Group as IntoIteratorGen<E>>::IterGen { ... }
fn eq<R>(&self, other: &R) -> bool
    where
        E::Atom: PartialEq,
        R: Rule<E>
, { ... }
fn clone(&self) -> Self
    where
        Self: Sized,
        E::Atom: Clone,
        E::Group: FromIterator<E>
, { ... }
fn new(top: E::Group, bot: E::Group) -> Self
    where
        Self: Sized
, { ... }
fn default() -> Self
    where
        Self: Sized
, { ... }
fn pair(self) -> (E::Group, E::Group)
    where
        Self: Sized
, { ... } }

Rule Trait

Required methods

fn cases(&self) -> Reference<'_, E>[src]

Transforms &self into the appropriate reference structure.

Loading content...

Provided methods

fn top(&self) -> <E::Group as IntoIteratorGen<E>>::IterGen[src]

Returns a reference to the top element of the rule.

fn bot(&self) -> <E::Group as IntoIteratorGen<E>>::IterGen[src]

Returns a reference to the bottom element of the rule.

fn eq<R>(&self, other: &R) -> bool where
    E::Atom: PartialEq,
    R: Rule<E>, 
[src]

Returns true if two rules are equal.

fn clone(&self) -> Self where
    Self: Sized,
    E::Atom: Clone,
    E::Group: FromIterator<E>, 
[src]

Clones a rule.

fn new(top: E::Group, bot: E::Group) -> Self where
    Self: Sized
[src]

Builds a new Rule from two groups.

fn default() -> Self where
    Self: Sized
[src]

Builds the default Rule.

fn pair(self) -> (E::Group, E::Group) where
    Self: Sized
[src]

Returns the top and bottom element of the rule as a pair.

Loading content...

Implementors

impl<E> Rule<E> for Structure<E> where
    E: Expression,
    E::Group: FromIterator<E> + IntoIterator<Item = E>, 
[src]

Loading content...