Theorem: Matroid.Iso.erk_eq (Matroid/Rank.lean)

State before:
α : Type u_1
ι : Type u_2
M N✝ : Matroid α
I B X X' Y Y' Z R : Set α
n : ℕ∞
e✝ f : α
β : Type u_3
N : Matroid β
e : M ≂ N
⊢ M.erk = N.erk
Tactic:
obtain (rfl | hne) := M.eq_emptyOn_or_nonempty
State after:
case inl
α : Type u_1
ι : Type u_2
N✝ : Matroid α
I B X X' Y Y' Z R : Set α
n : ℕ∞
e✝ f : α
β : Type u_3
N : Matroid β
e : emptyOn α ≂ N
⊢ (emptyOn α).erk = N.erk

case inr
α : Type u_1
ι : Type u_2
M N✝ : Matroid α
I B X X' Y Y' Z R : Set α
n : ℕ∞
e✝ f : α
β : Type u_3
N : Matroid β
e : M ≂ N
hne : M.Nonempty
⊢ M.erk = N.erk

State before:
case inr
α : Type u_1
ι : Type u_2
M N✝ : Matroid α
I B X X' Y Y' Z R : Set α
n : ℕ∞
e✝ f : α
β : Type u_3
N : Matroid β
e : M ≂ N
hne : M.Nonempty
⊢ M.erk = N.erk
Tactic:
obtain ⟨f, hf, rfl⟩ := e.exists_eq_map'
State after:
case inr.intro.intro
α : Type u_1
ι : Type u_2
M N : Matroid α
I B X X' Y Y' Z R : Set α
n : ℕ∞
e✝ f✝ : α
β : Type u_3
hne : M.Nonempty
f : α → β
hf : InjOn f M.E
e : M ≂ M.map f hf
⊢ M.erk = (M.map f hf).erk

State before:
case inr.intro.intro
α : Type u_1
ι : Type u_2
M N : Matroid α
I B X X' Y Y' Z R : Set α
n : ℕ∞
e✝ f✝ : α
β : Type u_3
hne : M.Nonempty
f : α → β
hf : InjOn f M.E
e : M ≂ M.map f hf
⊢ M.erk = (M.map f hf).erk
Tactic:
simp
State after:
no goals

State before:
case inl
α : Type u_1
ι : Type u_2
N✝ : Matroid α
I B X X' Y Y' Z R : Set α
n : ℕ∞
e✝ f : α
β : Type u_3
N : Matroid β
e : emptyOn α ≂ N
⊢ (emptyOn α).erk = N.erk
Tactic:
simp [e.right_eq_empty]
State after:
no goals