Struct term_rewriting::TRS[][src]

pub struct TRS {
    pub rules: Vec<Rule>,
    // some fields omitted
}

A first-order term rewriting system.

Fields

Methods

impl TRS
[src]

Constructs a term rewriting system from a list of rules.

Make self deterministic and restrict it to be so until further notice.

Return true if self was changed, otherwise false.

Remove any determinism restriction self might be under.

Return true if self was changed, otherwise false.

Report whether self is currently deterministic.

The number of rules in the TRS.

Are there any rules in the TRS?

Return the number of total number of subterms across all rules.

A serialized representation of the TRS.

A human-readable serialization of the TRS.

All the clauses in the TRS.

All the operators in the TRS

Do two TRSs unify?

Does one TRS match another?

Are two TRSs alpha equivalent?

Perform a single rewrite step using a normal-order (leftmost-outermost) rewrite strategy.

Query a TRS for a Rule based on its left-hand-side; return both the Rule and its index if possible

Query a TRS for a Rule based on its index; return the Rule if possible.

Query a TRS for specific Rule clauses; return them if possible.

Query a TRS for a Rule based on its left-hand-side; delete and return the Rule if it exists.

Query a TRS for a Rule based on its index; delete and return the Rule if it exists.

Query a TRS for a Rule based on its left-hand-side; delete and return the Rule if it exists.

Try to merge a Rule with an existing Rule or else insert it at index i in the TRS if possible.

Insert a Rule at index i in the TRS if possible.

Merge a Rule with an existing Rule in the TRS if possible.

Insert new Rule clauses if possible and move the entire Rule if necessary to be the first in the TRS.

a series of Rules at the beginning of the TRS if possible.

Move a Rule from index i to j if possible.

Remove some Rule clauses while also inserting others if possible.

The index i is used only in the case that the new clauses cannot be added to an existing Rule.

Trait Implementations

impl Debug for TRS
[src]

Formats the value using the given formatter. Read more

impl Hash for TRS
[src]

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

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

impl Clone for TRS
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for TRS
[src]

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

This method tests for !=.

impl Eq for TRS
[src]

Auto Trait Implementations

impl Send for TRS

impl Sync for TRS