module A201605.AltArtemov.Library where

open import Data.Fin using (Fin ; zero ; suc) public
open import Data.Nat using ( ; zero ; suc ; _+_) public
open import Data.Product using (Σ ;  ; _,_ ; _×_ ; proj₁ ; proj₂) public
open import Function using (_∘_) public
open import Relation.Binary.PropositionalEquality
  using (_≡_ ; refl ; sym ; trans ; cong ; cong₂ ; subst) public
open import Relation.Binary.HeterogeneousEquality
  using (_≅_ ; ≡-to-≅ ; ≅-to-≡)
  renaming (refl to hrefl ; sym to hsym ; trans to htrans ; cong to hcong ;
    cong₂ to hcong₂ ; subst to hsubst ; subst-removable to hsubst-removable ;
    ≡-subst-removable to subst-removable) public


suc-plus :  k n  suc (n + k)  (n + suc k)
suc-plus k zero    = refl
suc-plus k (suc n) = cong suc (suc-plus k n)