induction D <;> intros S Hrefines
D : DimList
Hknown : known D = true
⊢ ∀ {S : List ℕ}, shapeRefines S D = true → D = List.map Dimension.Known S
case nil
Hknown : known [] = true
S : List ℕ
Hrefines : shapeRefines S [] = true
⊢ [] = List.map Dimension.Known S

case cons
head✝ : Dimension
tail✝ : List Dimension
tail_ih✝ : known tail✝ = true → ∀ {S : List ℕ}, shapeRefines S tail✝ = true → tail✝ = List.map Dimension.Known S
Hknown : known (head✝ :: tail✝) = true
S : List ℕ
Hrefines : shapeRefines S (head✝ :: tail✝) = true
⊢ head✝ :: tail✝ = List.map Dimension.Known S