elemSmallerThanBound : (n : Fin m) -> LT (finToNat n) m A Fin's underlying natural number is smaller than the bound
Totality: total
Visibility: exportfinToNatLastIsBound : finToNat last = n Last's underlying natural number is the bound's predecessor
Totality: total
Visibility: exportfinToNatWeakenNeutral : finToNat (weaken n) = finToNat n Weaken does not modify the underlying natural number
Totality: total
Visibility: exportfinToNatWeakenNNeutral : (0 m : Nat) -> (k : Fin n) -> finToNat (weakenN m k) = finToNat k WeakenN does not modify the underlying natural number
Totality: total
Visibility: exportfinToNatShift : (k : Nat) -> (a : Fin n) -> finToNat (shift k a) = k + finToNat a `Shift k` shifts the underlying natural number by `k`.
Totality: total
Visibility: exportcomplementSpec : (i : Fin n) -> (1 + finToNat i) + finToNat (complement i) = n- Totality: total
Visibility: export complementWeakenIsFS : (m : Fin n) -> complement (weaken m) = FS (complement m) The inverse of a weakened element is the successor of its inverse
Totality: total
Visibility: exportcomplementLastIsFZ : complement last = FZ- Totality: total
Visibility: export complementInvolutive : (m : Fin n) -> complement (complement m) = m `complement` is involutive (i.e. applied twice it is the identity)
Totality: total
Visibility: exportstrengthenWeakenIsRight : (n : Fin m) -> strengthen (weaken n) = Just n It's possible to strengthen a weakened element of Fin **m**.
Totality: total
Visibility: exportstrengthenLastIsLeft : strengthen last = Nothing It's not possible to strengthen the last element of Fin **n**.
Totality: total
Visibility: exportstrengthenNotLastIsRight : (m : Fin n) -> strengthen (complement (FS m)) = Just (complement m) It's possible to strengthen the inverse of a successor
Totality: total
Visibility: exportstrengthen' : (m : Fin (S n)) -> Either (m = last) (m' : Fin n ** finToNat m = finToNat m') Either tightens the bound on a Fin or proves that it's the last.
Totality: total
Visibility: exportweakenNZeroIdentity : (k : Fin n) -> weakenN 0 k ~~~ k- Totality: total
Visibility: export shiftFSLinear : (m : Nat) -> (f : Fin n) -> shift m (FS f) ~~~ FS (shift m f)- Totality: total
Visibility: export shiftLastIsLast : (m : Nat) -> shift m last ~~~ last- Totality: total
Visibility: export