Ckini.Context (Ckini v0.1.0) View Source
An intermediate state of computation.
It contains a substitution of variables and a set of different types of constraints:
- neq: created using
neqgoal - sym: created using
symbologoal - abs: created using
absentogoal
Link to this section Summary
Functions
Retain only the constraints related to the given term.
Link to this section Types
Specs
t() :: %Ckini.Context{
abs: MapSet.t({Ckini.Term.t(), Ckini.Term.t()}),
neq: [Ckini.Subst.t()],
subst: Ckini.Subst.t(),
sym: MapSet.t(Ckini.Var.t())
}
Link to this section Functions
Specs
add_abs_constraint(t(), Ckini.Term.t(), Ckini.Term.t()) :: t() | nil
Specs
add_sym_constraint(t(), Ckini.Var.t(), Ckini.Term.t()) :: t() | nil
Specs
Specs
disunify(t(), Ckini.Term.t(), Ckini.Term.t()) :: nil | t()
Specs
purify(t(), Ckini.Subst.t()) :: t()
Retain only the constraints related to the given term.
Specs
purify_neq([Ckini.Subst.t()], Ckini.Subst.t(), Ckini.Subst.t()) :: [ Ckini.Subst.t() ]
Specs
unify(t(), Ckini.Term.t(), Ckini.Term.t()) :: nil | t()
Specs
Specs
Specs
Specs
Specs
verify_valid_subst(t()) :: nil