Skip to main content

SimplificationRule

Trait SimplificationRule 

Source
pub trait SimplificationRule<Split: SplitStrategy>: CheckerRule {
    // Required methods
    fn applicable(&self, term: &Term) -> bool;
    fn apply<'t>(
        &self,
        checker: CheckRef<'t, '_, Split>,
        term: &'t Term,
    ) -> Result<Term, Option<TermPath>>;
}

Required Methodsยง

Source

fn applicable(&self, term: &Term) -> bool

Source

fn apply<'t>( &self, checker: CheckRef<'t, '_, Split>, term: &'t Term, ) -> Result<Term, Option<TermPath>>

Implementorsยง

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for BindInComputationRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for LetinComputation

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for AdditionRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for DivisionRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for ExponentiationRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for Logarithm

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for Max

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for MultiplicationRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for SubtractionRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for ArrowRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for BetaRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for InferredTypeSimplificationRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for MapArgumentSimplificationRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for MapIndexSimplificationRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for MapSimplificationRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for CommentRule

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for GenericSimplification

Sourceยง

impl<Split: SplitStrategy> SimplificationRule<Split> for UnknownsRule