intros i s Hshape Htype
τ : MLIRTy
⊢ ∀ (a : ℤ) (s : List ℕ),
    hasShape (int a) s = true → ∀ (h : hasType (int a) τ = true), List.length (flatten (int a) h) = shapeProd s
τ : MLIRTy
i : ℤ
s : List ℕ
Hshape : hasShape (int i) s = true
Htype : hasType (int i) τ = true
⊢ List.length (flatten (int i) Htype) = shapeProd s