package mugen

  1. Overview
  2. Docs

The signature of smart constructors.

type shift

The displacement algebra.

type var

The type of level variables.

type level = (shift, var) Syntax.free

The type of freely generated levels.

val var : var -> level
val shifted : level -> shift -> level

Smarter version of Syntax.Endo.shifted that collapses multiple displacements

  • raises Invalid_argument

    When it attempts to shift the top level.

val top : level
val equal : level -> level -> bool

equal l1 l2 checks whether l1 and l2 are the same universe level.

  • raises Invalid_argument

    When l1 or l2 is shifted top.

val lt : level -> level -> bool

lt l1 l2 checks whether l1 is strictly less than l2. Note that trichotomy fails for general universe levels.

  • raises Invalid_argument

    When l1 or l2 is shifted top.

val leq : level -> level -> bool

leq l1 l2 checks whether l1 is less than or equal to l2. Note that trichotomy fails for general universe levels.

  • raises Invalid_argument

    When l1 or l2 is shifted top.

val gt : level -> level -> bool

gt l1 l2 is lt l2 l1.

val geq : level -> level -> bool

geq l1 l2 is leq l2 l1.

module Infix : sig ... end

Infix notation.

OCaml

Innovation. Community. Security.