open import Data.Nat using (ℕ; zero; suc) renaming (_≤′_ to _≤_; ≤′-reflexive to base; ≤′-step to step) open import Data.Nat.Properties open import Data.Vec hiding (head) open import Relation.Binary.PropositionalEquality open import Relation.Binary.HeterogeneousEquality hiding (cong) open import Data.Unit open import Data.Product open import Data.Sum open import Data.Empty variable A B C : Set m n k : ℕ module Part1 -- wk (Case analysis on indexed data) v.s. wk' (Case analysis on the indices first) where -- Version 1: wk (Case analysis on suc m ≤ n, which is the version where only the right-hand side increases) -- Using dot patterns to distinguish pattern matching performed by the programmer or forced by unification wk : (m n : ℕ) → suc m ≤ n → m ≤ n -- wk m n m