Companion

object Companion

Substitution companion with factory functionality

Functions

Link copied to clipboard

Returns an empty unifier, i.e. an instance of type Substitution.Fail

Link copied to clipboard

Returns a failed substitution, i.e. an instance of type Substitution.Fail

Link copied to clipboard
fun of(substitutionPairs: Iterable<Pair<Var, Term>>): Substitution

Crates a Substitution from the given Iterable of Var-Terms. If any contradiction is found, an instance of Substitution.Fail is returned

Creates a Unifier of given a map assigning Vars to Terms

fun of(substitutionPairs: Sequence<Pair<Var, Term>>): Substitution

Crates a Substitution from the given Sequence of Var-Terms. If any contradiction is found, an instance of Substitution.Fail is returned

fun of(substitution: Substitution, vararg substitutions: Substitution): Substitution

Composes the provided Substitutions by merging them. If any failure or contradiction is found, the result will be Substitution.Fail

fun of(variable: Var, term: Term): Substitution.Unifier

Creates a singleton Unifier containing a single Var-Term assignment

fun of(substitutionPair: Pair<Var, Term>, vararg substitutionPairs: Pair<Var, Term>): Substitution

Crates a Substitution from the given Var-Terms. If any contradiction is found, an instance of Substitution.Fail is returned

Creates a singleton Unifier containing a single Var-Term assignment. The variable is created on the fly by name, via Var.of

Link copied to clipboard

Crates a Unifier from the given Iterable of Var-Terms. If any contradiction is found, a SubstitutionException is thrown

Creates a Unifier of given a map assigning Vars to Terms

Crates a Unifier from the given Sequence of Var-Terms. If any contradiction is found, a SubstitutionException is thrown

fun unifier(substitutionPair: Pair<Var, Term>, vararg substitutionPairs: Pair<Var, Term>): Substitution.Unifier

Crates a Substitution from the given Var-Terms. If any contradiction is found, a SubstitutionException is thrown

Creates a singleton Unifier containing a single Var-Term assignment. The variable is created on the fly by name, via Var.of