HORIZON HASKELLDocslts/ghc-10.0.x77a86622026-10-31Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 77a8662 · 2026-10-31

ModuleAgda-2.8.0.2Haskell2010

Agda.TypeChecking.SizedTypes.Syntax

Syntax of size expressions and constraints.

Contents
  1. Syntax
  2. Polarities to specify solutions.
  3. Solutions.
  4. Constraint simplification
  5. Printing
  6. Wellformedness
  7. Computing variable sets
Synopsis
  • PackageAgda-2.8.0.2
  • Exports30
  • LanguageHaskell2010
  • LicenceMIT
  • SourceSyntax.hs

Syntax

newtypenewtype Offset

Constant finite sizes n >= 0.

Constructors

Instances17Enum, Eq, Num, Ord, Show, Generic, …
newtypenewtype Rigid

Fixed size variables i.

Constructors

Instances4Eq, Ord, Show, Pretty
  • Eq RigidDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Ord RigidDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Show RigidDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Pretty RigidDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
newtypenewtype Flex

Size meta variables X to solve for.

Constructors

Instances4Eq, Ord, Show, Pretty
  • Eq FlexDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Ord FlexDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Show FlexDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Pretty FlexDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
datadata SizeExpr' rigid flex

Size expressions appearing in constraints.

Constructors

Instances22Substitute, Functor, Foldable, Traversable, Eq, Ord, …
datadata Cmp

Comparison operator, e.g. for size expression.

Constructors

Instances12Bounded, Enum, Eq, Ord, Show, Generic, …
  • Bounded CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Enum CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Eq CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Ord CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax

    Comparison operator is ordered Lt < Le.

  • Show CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Generic CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • NFData CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Pretty CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Dioid CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • MeetSemiLattice CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Top CmpDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • type Rep Cmp = D1 ('MetaData "Cmp" "Agda.TypeChecking.SizedTypes.Syntax" "Agda-2.8.0.2-9KjOINxE5a7DfnJbtdetJP" 'False) (C1 ('MetaCons "Lt" 'PrefixI 'False) U1 :+: C1 ('MetaCons "Le" 'PrefixI 'False) U1)Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
datadata Constraint' rigid flex

Constraint: an inequation between size expressions, e.g. X < ∞ or i + 3 ≤ j.

Constructors

Instances16Subst, PrettyTCM, Substitute, Functor, Foldable, Traversable, …

Polarities to specify solutions.

datadata Polarity

What type of solution are we looking for?

Instances3Eq, Ord, Pretty
  • Eq PolarityDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Ord PolarityDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Pretty PolarityDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax

Solutions.

newtypenewtype Solution rigid flex

Partial substitution from flexible variables to size expression.

Constructors

Instances4Substitute, Show, Pretty, Null
  • Ord f => Substitute r f (Solution r f)Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • (Show flex, Show rigid) => Show (Solution rigid flex)Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • (Pretty r, Pretty f) => Pretty (Solution r f)Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Null (Solution rigid flex)Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
classclass Substitute r f a where

Executing a substitution.

Methods

Instances5Substitute

Constraint simplification

Printing

Wellformedness

Computing variable sets

classclass Ord (FlexOf a) => Flexs a where

The flexibe variables contained in a pice of syntax.

Associated types

Methods

Instances4Flexs
  • Flexs HypSizeConstraintDefined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Flexs a => Flexs [a]Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Ord flex => Flexs (Constraint' rigid flex)Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
  • Ord flex => Flexs (SizeExpr' rigid flex)Defined in Agda-2.8.0.2 · Agda.TypeChecking.SizedTypes.Syntax
datadata NamedRigid

Identifiers for rigid variables.

Constructors

Instances13Eq, Ord, Show, Generic, NFData, Pretty, …
datadata SizeMeta

Size metas in size expressions.

Constructors

Instances15Eq, Ord, Show, Generic, NFData, Pretty, …

Size constraint with de Bruijn indices.

Constructors

Instances7Show, Generic, NFData, PrettyTCM, Flexs, Rep, …