module Fin.Properties where

open import Data.Fin.Base
open import Data.Fin.Properties
open import Data.Fin.Patterns
open import Data.Nat as  using (; z≤n; s≤s; _∸_)
open import Relation.Binary.PropositionalEquality
open import Fin.Base

private variable
  m n : 

toℕ-reduce≥ :  (i : Fin (m ℕ.+ n)) (m≤n : m ℕ.≤ toℕ i)  toℕ (reduce≥ i m≤n)  toℕ i  m
toℕ-reduce≥ {ℕ.zero} i z≤n = refl
toℕ-reduce≥ {ℕ.suc m} (suc i) (s≤s m≤i) rewrite toℕ-reduce≥ i m≤i = refl

suc-reduce :  (i : Fin (ℕ.suc n)) (0<i : ℕ.zero ℕ.< toℕ i)  suc (reduce≥ i 0<i)  i
suc-reduce (suc i) 0<i = refl