Idris2Doc : Data.Nat.Division

Data.Nat.Division

Division theorem for (type-level) natural number division

Definitions

divmodNatNZeqDivMod : (numer : Nat) -> (denom : Nat) -> (0prf1 : NonZerodenom) -> (0prf2 : NonZerodenom) -> (0prf3 : NonZerodenom) ->divmodNatNZnumerdenomprf1= (divNatNZnumerdenomprf2, modNatNZnumerdenomprf3)
Totality: total
Visibility: export
fstDivmodNatNZeqDiv : (numer : Nat) -> (denom : Nat) -> (0prf1 : NonZerodenom) -> (0prf2 : NonZerodenom) ->fst (divmodNatNZnumerdenomprf1) =divNatNZnumerdenomprf2
Totality: total
Visibility: export
sndDivmodNatNZeqMod : (numer : Nat) -> (denom : Nat) -> (0prf1 : NonZerodenom) -> (0prf2 : NonZerodenom) ->snd (divmodNatNZnumerdenomprf1) =modNatNZnumerdenomprf2
Totality: total
Visibility: export
boundModNatNZ : (numer : Nat) -> (denom : Nat) -> (0denom_nz : NonZerodenom) ->LT (modNatNZnumerdenomdenom_nz) denom
Totality: total
Visibility: export
DivisionTheoremDivMod : (numer : Nat) -> (denom : Nat) -> (0prf : NonZerodenom) ->numer=snd (divmodNatNZnumerdenomprf) + (fst (divmodNatNZnumerdenomprf) *denom)
Totality: total
Visibility: export
DivisionTheorem : (numer : Nat) -> (denom : Nat) -> (0prf1 : NonZerodenom) -> (0prf2 : NonZerodenom) ->numer=modNatNZnumerdenomprf1+ (divNatNZnumerdenomprf2*denom)
Totality: total
Visibility: export
DivisionTheoremUniquenessDivMod : (numer : Nat) -> (denom : Nat) -> (0denom_nz : NonZerodenom) -> (q : Nat) -> (r : Nat) ->LTrdenom->numer= (q*denom) +r->divmodNatNZnumerdenomdenom_nz= (q, r)
Totality: total
Visibility: export
DivisionTheoremUniqueness : (numer : Nat) -> (denom : Nat) -> (0denom_nz : NonZerodenom) -> (q : Nat) -> (r : Nat) ->LTrdenom->numer= (q*denom) +r-> (divNatNZnumerdenomdenom_nz=q, modNatNZnumerdenomdenom_nz=r)
Totality: total
Visibility: export
modDividendMinusDivMultDivider : (0numer : Nat) -> (0denom : Nat) -> {auto0denom_nz : NonZerodenom} ->modNatNZnumerdenomdenom_nz=minusnumer (divNatNZnumerdenomdenom_nz*denom)
Totality: total
Visibility: export