Idris2Doc : Data.Fin.Properties

Data.Fin.Properties(source)

Some properties of functions defined in `Data.Fin`

Reexports

importpublic Data.Fin

Definitions

elemSmallerThanBound : (n : Finm) ->LT (finToNatn) m
  A Fin's underlying natural number is smaller than the bound

Totality: total
Visibility: export
finToNatLastIsBound : finToNatlast=n
  Last's underlying natural number is the bound's predecessor

Totality: total
Visibility: export
finToNatWeakenNeutral : finToNat (weakenn) =finToNatn
  Weaken does not modify the underlying natural number

Totality: total
Visibility: export
finToNatWeakenNNeutral : (0m : Nat) -> (k : Finn) ->finToNat (weakenNmk) =finToNatk
  WeakenN does not modify the underlying natural number

Totality: total
Visibility: export
finToNatShift : (k : Nat) -> (a : Finn) ->finToNat (shiftka) =k+finToNata
  `Shift k` shifts the underlying natural number by `k`.

Totality: total
Visibility: export
complementSpec : (i : Finn) -> (1+finToNati) +finToNat (complementi) =n
Totality: total
Visibility: export
complementWeakenIsFS : (m : Finn) ->complement (weakenm) =FS (complementm)
  The inverse of a weakened element is the successor of its inverse

Totality: total
Visibility: export
complementLastIsFZ : complementlast=FZ
Totality: total
Visibility: export
complementInvolutive : (m : Finn) ->complement (complementm) =m
  `complement` is involutive (i.e. applied twice it is the identity)

Totality: total
Visibility: export
strengthenWeakenIsRight : (n : Finm) ->strengthen (weakenn) =Justn
  It's possible to strengthen a weakened element of Fin **m**.

Totality: total
Visibility: export
strengthenLastIsLeft : strengthenlast=Nothing
  It's not possible to strengthen the last element of Fin **n**.

Totality: total
Visibility: export
strengthenNotLastIsRight : (m : Finn) ->strengthen (complement (FSm)) =Just (complementm)
  It's possible to strengthen the inverse of a successor

Totality: total
Visibility: export
strengthen' : (m : Fin (Sn)) ->Either (m=last) (m' : Finn**finToNatm=finToNatm')
  Either tightens the bound on a Fin or proves that it's the last.

Totality: total
Visibility: export
weakenNZeroIdentity : (k : Finn) ->weakenN0k~~~k
Totality: total
Visibility: export
shiftFSLinear : (m : Nat) -> (f : Finn) ->shiftm (FSf) ~~~FS (shiftmf)
Totality: total
Visibility: export
shiftLastIsLast : (m : Nat) ->shiftmlast~~~last
Totality: total
Visibility: export