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 Total Bits32 (<) WellFounded Bits32 (<)
Fixity Declaration: infix operator, level 60 mkLT : (0 _ : m < n = True) -> m < n Contructor for `(<)`.
This can only be used in an erased context.
Totality: total
Visibility: export0 runLT : m < n -> m < n = True Extractor for `(<)`.
This can only be used in an erased context.
Totality: total
Visibility: exportstrictLT : (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: export0 (>) : Bits32 -> Bits32 -> Type Flipped version of `(<)`.
Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 60 (<=) : Bits32 -> Bits32 -> Type `m <= n` mean that either `m < n` or `m === n` holds.
Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 60 (>=) : Bits32 -> Bits32 -> Type Flipped version of `(<=)`.
Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 60 (/=) : Bits32 -> Bits32 -> Type `m /= n` mean that either `m < n` or `m > n` holds.
Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 6comp : (m : Bits32) -> (n : Bits32) -> Trichotomy (<) m n- Totality: total
Visibility: export MinBits32 : Bits32 Lower bound of `Bits32`
Totality: total
Visibility: public exportMaxBits32 : Bits32 Upper bound of `Bits32`
Totality: total
Visibility: public export0 GTE_MinBits32 : (m : Bits32) -> m >= MinBits32 `m >= 0` for all `m` of type `Bits32`.
Totality: total
Visibility: export0 Not_LT_MinBits32 : m < 0 -> Void Not value of type `Bits32` is less than zero.
Totality: total
Visibility: export0 LTE_MaxBits32 : (m : Bits32) -> m <= MaxBits32 `m <= MaxBits32` for all `m` of type `Bits32`.
Totality: total
Visibility: export0 Not_GT_MaxBits32 : m > MaxBits32 -> Void Not value of type `Bits32` is greater than `MaxBits32`.
Totality: total
Visibility: exportaccessLT : (m : Bits32) -> Accessible (<) m Every value of type `Bits32` is accessible with relation
to `(<)`.
Totality: total
Visibility: exportaccessGT : (m : Bits32) -> Accessible (>) m Every value of type `Bits32` is accessible with relation
to `(>)`.
Totality: total
Visibility: exportsdiv : Bits32 -> (d : Bits32) -> {auto 0 _ : 0 < d} -> Bits32 Safe division.
This uses `0 < d` as a constraint instead
of `0 /= d`, because in my experience, the former
is much more useful.
Totality: total
Visibility: exportrdiv : (n : Bits32) -> (d : Bits32) -> {auto 0 _ : 1 < d} -> {auto 0 _ : 0 < n} -> Subset Bits32 (\{arg:0} => {arg:0} < n) Refined division.
This comes with a proof that the result is
strictly smaller than `n`.
This uses `0 < n` as a constraint instead
of `0 /= n`, because in my experience, the former
is much more useful.
Totality: total
Visibility: exportsmod : Bits32 -> (d : Bits32) -> {auto 0 _ : 0 < d} -> Bits32 Safe modulo.
This uses `0 < d` as a constraint instead
of `0 /= d`, because in my experience, the former
is much more useful.
If you need the postcondition that the result is strictly
smaller than `d`, use `rmod` instead.
Totality: total
Visibility: exportrmod : Bits32 -> (d : Bits32) -> {auto 0 _ : 0 < d} -> Subset Bits32 (\{arg:0} => {arg:0} < d) Refined modulo.
This comes with a proof that the result is strictly smaller
than `d`.
It uses `0 < d` as a constraint instead
of `0 /= d`, because in my experience, the former
is much more useful.
Totality: total
Visibility: export