module My.SetTheory.Fin.Misc where
-- §──────────────────────────────────────────────────────────────────
-- Required modules
-- §──────────────────────────────────────────────────────────────────
import Data.Fin as DF
import Data.Nat as DN
import Function as F
import Relation.Binary.PropositionalEquality as RBPE
open F using (_$_)
open RBPE using (_≢_)
import My.SetTheory.Nat.TvD as MySTNTVD
-- §──────────────────────────────────────────────────────────────────
-- Basic properties.
-- §──────────────────────────────────────────────────────────────────
iFinN⇒N≢toℕi : {n : DN.ℕ} → (i : DF.Fin n) → n ≢ DF.toℕ i
iFinN⇒N≢toℕi {0} () n≡toℕi
iFinN⇒N≢toℕi {DN.suc n} DF.zero ()
iFinN⇒N≢toℕi {DN.suc n} (DF.suc i) n≡toℕi =
iFinN⇒N≢toℕi i $ MySTNTVD.sm≡sn⇒m≡n n≡toℕi