intros head tail s_head s_tail H1 H2
⊢ ∀ (head : TensorElem) (tail : List TensorElem) (s_head : ℕ) (s_tail : List ℕ),
    inferredShape (nested tail) = some (s_head :: s_tail) →
      inferredShape head = some s_tail → inferredShape (nested (head :: tail)) = some ((s_head + 1) :: s_tail)
head : TensorElem
tail : List TensorElem
s_head : ℕ
s_tail : List ℕ
H1 : inferredShape (nested tail) = some (s_head :: s_tail)
H2 : inferredShape head = some s_tail
⊢ inferredShape (nested (head :: tail)) = some ((s_head + 1) :: s_tail)