conv =>
  rhs
  simp only [shift]
  simp
  simp only [Var.close]
D : Type
V : VarAssignment D
j : ℕ
z : String
d : D
i : ℕ
⊢ shift D V d (Var.close (j + 1) (free_ z) (bound_ (i + 1))) = shift D (V ∘ Var.close j (free_ z)) d (bound_ (i + 1))
D : Type
V : VarAssignment D
j : ℕ
z : String
d : D
i : ℕ
⊢ shift D V d (Var.close (j + 1) (free_ z) (bound_ (i + 1))) = V (if i < j then bound_ i else bound_ (i + 1))