Enum term_rewriting::Term [] [src]

pub enum Term {
    Variable(Variable),
    Application {
        op: Operator,
        args: Vec<Term>,
    },
}

A first-order term: either a Variable or an application of an Operator.

Variants

A concrete but unspecified Term (e.g. x, y)

An Operator applied to zero or more Terms (e.g. (f(x, y), g())

Fields of Application

Methods

impl Term
[src]

[src]

Every Variable used in the term.

[src]

Every Operator used in the term.

[src]

Every subterm and its place, starting with the original term itself.

[src]

Get the subterm at the given Place, or None if the place does not exist in the term.

[src]

Create a copy of self where the term at the given Place has been replaced with subterm.

[src]

Given a mapping from Variables to Terms, perform a substitution.

[src]

Whether two terms are alpha equivalent.

[src]

[src]

Given a vector of contraints, return a substitution which satisfies the constrants. If the constraints are not satisfiable, None is retuned. Constraints are in the form of patterns, where substitutions are only considered for variables in the first term of each pair.

[src]

Given a vector of contraints, return a substitution which satisfies the constrants. If the constraints are not satisfiable, None is retuned.

Trait Implementations

impl From<Term> for Context
[src]

[src]

Performs the conversion.

impl Debug for Term
[src]

[src]

Formats the value using the given formatter. Read more

impl PartialEq for Term
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl Eq for Term
[src]

impl Hash for Term
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Clone for Term
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Send for Term

impl Sync for Term