Theorem: selectColumns2_spec1 (Table/Proofs.lean)

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
⊢ ∀ (t : Table sch) (ns : List (Fin (ncols t))), ncols (selectColumns2 t ns) = List.length ns
Tactic:
intro t ns
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
ns : List (Fin (ncols t))
⊢ ncols (selectColumns2 t ns) = List.length ns

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
ns : List (Fin (ncols t))
⊢ ncols (selectColumns2 t ns) = List.length ns
Tactic:
simp only [ncols, Schema.length_eq_List_length, Schema.nths,
           Schema.map_eq_List_map]
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
ns : List (Fin (ncols t))
⊢ List.length (List.map (fun n => Schema.nth sch n.val (_ : n.val < Schema.length sch)) ns) = List.length ns

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
ns : List (Fin (ncols t))
⊢ List.length (List.map (fun n => Schema.nth sch n.val (_ : n.val < Schema.length sch)) ns) = List.length ns
Tactic:
apply List.length_map
State after:
no goals