Theorem: count_spec4 (Table/Proofs.lean)

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type
inst✝ : DecidableEq τ
⊢ ∀ (t : Table sch) (c : η) (hc : Schema.HasCol (c, τ) sch),
    nrows (count t c) = List.length (List.unique (getColumn2 t c))
Tactic:
intro t c hc
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type
inst✝ : DecidableEq τ
t : Table sch
c : η
hc : Schema.HasCol (c, τ) sch
⊢ nrows (count t c) = List.length (List.unique (getColumn2 t c))

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type
inst✝ : DecidableEq τ
t : Table sch
c : η
hc : Schema.HasCol (c, τ) sch
⊢ nrows (count t c) = List.length (List.unique (getColumn2 t c))
Tactic:
simp only [nrows, count, Schema.length_eq_List_length]
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type
inst✝ : DecidableEq τ
t : Table sch
c : η
hc : Schema.HasCol (c, τ) sch
⊢ List.length (count.pairsToRow (List.counts (getColumn2 t c))) = List.length (List.unique (getColumn2 t c))

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type
inst✝ : DecidableEq τ
t : Table sch
c : η
hc : Schema.HasCol (c, τ) sch
⊢ List.length (count.pairsToRow (List.counts (getColumn2 t c))) = List.length (List.unique (getColumn2 t c))
Tactic:
exact Eq.trans (length_count_pairsToRow _) (List.length_counts _)
State after:
no goals