Idris2Doc : Data.Fin.Arith

Data.Fin.Arith(source)

Result-type changing `Fin` arithmetics

Reexports

importpublic Data.Fin

Definitions

(+) : Finm->Fin (Sn) ->Fin (m+n)
  Addition of `Fin`s as bounded naturals.
The resulting type has the smallest possible bound
as illustrated by the relations with the `last` function.

Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 8
(*) : Fin (Sm) ->Fin (Sn) ->Fin (S (m*n))
  Multiplication of `Fin`s as bounded naturals.
The resulting type has the smallest possible bound
as illustated by the relations with the `last` function.

Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 9
finToNatPlusHomo : (x : Finm) -> (y : Fin (Sn)) ->finToNat (x+y) =finToNatx+finToNaty
Totality: total
Visibility: export
finToNatMultHomo : (x : Fin (Sm)) -> (y : Fin (Sn)) ->finToNat (x*y) =finToNatx*finToNaty
Totality: total
Visibility: export
plusPreservesLast : (m : Nat) -> (n : Nat) ->last+last=last
Totality: total
Visibility: export
multPreservesLast : (m : Nat) -> (n : Nat) ->last*last=last
Totality: total
Visibility: export
plusSuccRightSucc : (left : Finm) -> (right : Fin (Sn)) ->FS (left+right) ~~~ (left+FSright)
Totality: total
Visibility: export
shiftAsPlus : (k : Fin (Sm)) ->shiftnk~~~ (last+k)
Totality: total
Visibility: export
weakenNAsPlusFZ : (k : Finn) ->weakenNmk=k+the (Fin (Sm)) FZ
Totality: total
Visibility: export
weakenNPlusHomo : (k : Finp) ->weakenNn (weakenNmk) ~~~weakenN (m+n) k
Totality: total
Visibility: export
weakenNOfPlus : (k : Finm) -> (l : Fin (Sn)) ->weakenNw (k+l) ~~~ (weakenNwk+l)
Totality: total
Visibility: export
plusZeroLeftNeutral : (k : Fin (Sn)) -> (FZ+k) ~~~k
Totality: total
Visibility: export
congPlusLeft : (c : Fin (Sp)) ->k~~~l-> (k+c) ~~~ (l+c)
Totality: total
Visibility: export
plusZeroRightNeutral : (k : Finm) -> (k+FZ) ~~~k
Totality: total
Visibility: export
congPlusRight : (c : Finm) ->k~~~l-> (c+k) ~~~ (c+l)
Totality: total
Visibility: export
plusCommutative : (left : Fin (Sm)) -> (right : Fin (Sn)) -> (left+right) ~~~ (right+left)
Totality: total
Visibility: export
plusAssociative : (left : Finm) -> (centre : Fin (Sn)) -> (right : Fin (Sp)) -> (left+ (centre+right)) ~~~ ((left+centre) +right)
Totality: total
Visibility: export