Theorem: tsort_spec1 (Table/Proofs.lean)

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
⊢ ∀ {τ : Type u} [inst : Ord τ] (t : Table sch) (b : Bool) (c : η) (hc : Schema.HasCol (c, τ) sch),
    nrows (tsort t c b) = nrows t
Tactic:
intro τ _ t b c hc
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type u
inst✝ : Ord τ
t : Table sch
b : Bool
c : η
hc : Schema.HasCol (c, τ) sch
⊢ nrows (tsort t c b) = nrows t

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type u
inst✝ : Ord τ
t : Table sch
b : Bool
c : η
hc : Schema.HasCol (c, τ) sch
⊢ nrows (tsort t c b) = nrows t
Tactic:
simp only [nrows, Schema.length_eq_List_length]
State after:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type u
inst✝ : Ord τ
t : Table sch
b : Bool
c : η
hc : Schema.HasCol (c, τ) sch
⊢ List.length (tsort t c b).rows = List.length t.rows

State before:
η : Type u_η
dec_η : DecidableEq η
sch : Schema
τ : Type u
inst✝ : Ord τ
t : Table sch
b : Bool
c : η
hc : Schema.HasCol (c, τ) sch
⊢ List.length (tsort t c b).rows = List.length t.rows
Tactic:
exact List.length_mergeSortWith _ t.rows
State after:
no goals