Theorem: dropColumns_spec1 (Table/Proofs.lean)

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
⊢ ∀ (t : Table sch) (cs : ActionList Schema.removeCertifiedName sch), nrows (dropColumns t cs) = nrows t
Tactic:
intro t cs
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
cs : ActionList Schema.removeCertifiedName sch
⊢ nrows (dropColumns t cs) = nrows t

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
cs : ActionList Schema.removeCertifiedName sch
⊢ nrows (dropColumns t cs) = nrows t
Tactic:
simp only [nrows, dropColumns, Schema.length_eq_List_length]
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
cs : ActionList Schema.removeCertifiedName sch
⊢ List.length (List.map (Row.removeColumns cs) t.rows) = List.length t.rows

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
t : Table sch
cs : ActionList Schema.removeCertifiedName sch
⊢ List.length (List.map (Row.removeColumns cs) t.rows) = List.length t.rows
Tactic:
apply List.length_map
State after:
no goals