Module Hint.Const

type 'd t constraint 'd = 'l * 'r

Hints that explain constants. The allowance describes if the constant can be on the LHS or RHS of submode.

val unknown : ('l * 'r) t

The hint for unexplained constants

val max : (Allowance.disallowed * 'r) t

The hint to explain using max on the RHS of submode.

val min : ('l * Allowance.disallowed) t

The hint to explain using min on the LHS of submode.

include Allowance.Allow_disallow with type (_, _, 'd) sided = 'd t
type (_, _, 'd) sided = 'd t
val disallow_right : ('a, 'b, 'l * 'r) sided -> ('a, 'b, 'l * Allowance.disallowed) sided

Disallows on the right.

val disallow_left : ('a, 'b, 'l * 'r) sided -> ('a, 'b, Allowance.disallowed * 'r) sided

Disallows a the left.

val allow_right : ('a, 'b, 'l * Allowance.allowed) sided -> ('a, 'b, 'l * 'r) sided

Generalizes a right-hand-side allowed to be any allowance.

val allow_left : ('a, 'b, Allowance.allowed * 'r) sided -> ('a, 'b, 'l * 'r) sided

Generalizes a left-hand-side allowed to be any allowance.