Theoria.Level.ConstraintSet (theoria v0.6.0)

Copy Markdown View Source

Explicit collection of universe-level ordering constraints.

Summary

Types

failure()

@type failure() :: {:unsolved, Theoria.Level.Constraint.t()}

t()

@type t() :: %Theoria.Level.ConstraintSet{constraints: [Theoria.Level.Constraint.t()]}

Functions

add(set, constraint)

@spec add(t(), Theoria.Level.Constraint.t()) :: t()

add_leq(set, left, right)

@spec add_leq(t(), Theoria.Level.t(), Theoria.Level.t()) :: t()

check(constraint_set)

@spec check(t()) :: :ok | {:error, [failure()]}

explain(constraint_set)

@spec explain(t()) :: [Theoria.Level.Solver.Explanation.t()]

new()

@spec new() :: t()