Idris2Doc : Data.Prim.Bits32

Data.Prim.Bits32

(source)

Reexports

import public Algebra.Ring
import public Control.Order
import public Control.Relation
import public Control.Relation.ReflexiveClosure
import public Control.Relation.Trichotomy
import public Control.WellFounded
import public Data.Maybe0

Definitions

data (<) : Bits32 -> Bits32 -> Type
  Witness that `m < n === True`.

Totality: total
Visibility: export
Constructor: 
LT : (0 _ : m < n = True) -> m < n

Hints:
(0 _ : m < n = True) -> m < n
Transitive Bits32 (<)
Trichotomous Bits32 (<)

Fixity Declaration: infix operator, level 6
unerase : (0 _ : m < n) -> m < n
  Makes a compile-time proof of `x < y` available at runtime.

Heads up: `(<)` is not supposed to be used or even needed at runtime,
as it will be erased anymay. However, this function is sometimes
required, for instance when implementing interface `Connex`.

Totality: total
Visibility: export
0 mkLT : (0 _ : m < n = True) -> m < n
  Contructor for `(<)`.

This can only be used in an erased context.

Totality: total
Visibility: export
0 runLT : m < n -> m < n = True
  Extractor for `(<)`.

This can only be used in an erased context.

Totality: total
Visibility: export
strictLT : (0 _ : m < n) -> Lazy c -> c
  We don't trust values of type `(<)` too much,
so we use this when creating magical results.

Totality: total
Visibility: export
0 (>) : Bits32 -> Bits32 -> Type
  Flipped version of `(<)`.

Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 6
0 (<=) : Bits32 -> Bits32 -> Type
  Alias for `ReflexiveClosure (<) m n`

Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 6
lt : (x : Bits32) -> (y : Bits32) -> Maybe0 (x < y)
Totality: total
Visibility: public export
lte : (x : Bits32) -> (y : Bits32) -> Maybe0 (x <= y)
Totality: total
Visibility: public export
comp : (m : Bits32) -> (n : Bits32) -> Trichotomy (<) m n
Totality: total
Visibility: export
MinBits32 : Bits32
  Lower bound of `Bits32`

Totality: total
Visibility: public export
MaxBits32 : Bits32
  Upper bound of `Bits32`

Totality: total
Visibility: public export
0 GTE_MinBits32 : (m : Bits32) -> MinBits32 <= m
  `m >= 0` for all `m` of type `Bits32`.

Totality: total
Visibility: export
0 Not_LT_MinBits32 : m < 0 -> Void
  Not value of type `Bits32` is less than zero.

Totality: total
Visibility: export
0 LTE_MaxBits32 : (m : Bits32) -> m <= MaxBits32
  `m <= MaxBits32` for all `m` of type `Bits32`.

Totality: total
Visibility: export
0 Not_GT_MaxBits32 : m > MaxBits32 -> Void
  Not value of type `Bits32` is greater than `MaxBits32`.

Totality: total
Visibility: export
accessLT : (m : Bits32) -> Accessible (<) m
  Every value of type `Bits32` is accessible with relation
to `(<)`.

Totality: total
Visibility: export
accessGT : (m : Bits32) -> Accessible (>) m
  Every value of type `Bits32` is accessible with relation
to `(>)`.

Totality: total
Visibility: export
0 ltImpliesNatLT : (x : Bits32) -> (y : Bits32) -> x < y => lt (cast x) (cast y) = True
Totality: total
Visibility: export
0 lteImpliesNatLT : (x : Bits32) -> (y : Bits32) -> x <= y => lt (cast x) (S (cast y)) = True
Totality: total
Visibility: export
0 gtImpliesNatGT : (x : Bits32) -> (y : Bits32) -> x > y => gt (cast x) (cast y) = True
Totality: total
Visibility: export
bits32ToFin : (x : Bits32) -> (0 y : Bits32) -> {auto 0 _ : x < y} -> Fin (cast y)
Totality: total
Visibility: export
bits32ToFinLTE : (x : Bits32) -> (0 y : Bits32) -> {auto 0 _ : x <= y} -> Fin (S (cast y))
Totality: total
Visibility: export