Idris2Doc : Data.Prim.Bits8

Data.Prim.Bits8

(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 (<) : Bits8 -> Bits8 -> 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 Bits8 (<)
Trichotomous Bits8 (<)

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 (>) : Bits8 -> Bits8 -> Type
  Flipped version of `(<)`.

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

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

Totality: total
Visibility: public export
MaxBits8 : Bits8
  Upper bound of `Bits8`

Totality: total
Visibility: public export
0 GTE_MinBits8 : (m : Bits8) -> MinBits8 <= m
  `m >= 0` for all `m` of type `Bits8`.

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

Totality: total
Visibility: export
0 LTE_MaxBits8 : (m : Bits8) -> m <= MaxBits8
  `m <= MaxBits8` for all `m` of type `Bits8`.

Totality: total
Visibility: export
0 Not_GT_MaxBits8 : m > MaxBits8 -> Void
  Not value of type `Bits8` is greater than `MaxBits8`.

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

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

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