def f : Nat × Nat → Nat
  | (a, b) => a + b

def f' : Nat × Nat → Nat
  | (a, b) => by done

example (x : Nat × Nat) (h : x.1 > 0) : f x > 0 := by
  match x with
  | (a, b) => done

def g (x : Nat) : Nat × Nat :=
  (x, x+1)

example (x : Nat) : Nat :=
  match g x with
  | (a, b) => by done

inductive Vector (α : Type u) : Nat → Type u where
  | nil  : Vector α 0
  | cons : α → Vector α n → Vector α (n+1)

namespace Vector
  def insert (a: α): Fin (n+1) → Vector α n → Vector α (n+1)
    | ⟨0  , _⟩,        xs => cons a xs
    | ⟨i+1, h⟩, cons x xs => by done

end Vector
