Theorem: getColumn1_spec1 (Table/Proofs.lean)

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
⊢ ∀ (t : Table sch) (n : Nat) (h : n < ncols t), List.length (getColumn1 t n) = nrows t
Tactic:
intro t n h
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
n : Nat
h : n < ncols t
⊢ List.length (getColumn1 t n) = nrows t

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
n : Nat
h : n < ncols t
⊢ List.length (getColumn1 t n) = nrows t
Tactic:
simp only [getColumn1, nrows, Schema.length_eq_List_length]
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
n : Nat
h : n < ncols t
⊢ List.length (List.map (fun r => Cell.toOption (Row.nth r n h)) t.rows) = List.length t.rows

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
n : Nat
h : n < ncols t
⊢ List.length (List.map (fun r => Cell.toOption (Row.nth r n h)) t.rows) = List.length t.rows
Tactic:
apply List.length_map
State after:
no goals