Theorem: Matroid.ModularFamily.modularPair_compl_biInter (Matroid/Modular.lean)

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
h : M.ModularFamily Xs
A : Set ι
hA : A.Nonempty
hA' : A ≠ univ
⊢ M.ModularPair (⋂ i ∈ A, Xs i) (⋂ i ∈ Aᶜ, Xs i)
Tactic:
rw [modularPair_iff]
State after:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
h : M.ModularFamily Xs
A : Set ι
hA : A.Nonempty
hA' : A ≠ univ
⊢ ∃ I, M.Indep I ∧ M.Basis ((⋂ i ∈ A, Xs i) ∩ I) (⋂ i ∈ A, Xs i) ∧ M.Basis ((⋂ i ∈ Aᶜ, Xs i) ∩ I) (⋂ i ∈ Aᶜ, Xs i)

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
h : M.ModularFamily Xs
A : Set ι
hA : A.Nonempty
hA' : A ≠ univ
⊢ ∃ I, M.Indep I ∧ M.Basis ((⋂ i ∈ A, Xs i) ∩ I) (⋂ i ∈ A, Xs i) ∧ M.Basis ((⋂ i ∈ Aᶜ, Xs i) ∩ I) (⋂ i ∈ Aᶜ, Xs i)
Tactic:
obtain ⟨B, hB⟩ := h
State after:
case intro
ι : Type u_1
α : Type u_2
M : Matroid α
B✝ I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
A : Set ι
hA : A.Nonempty
hA' : A ≠ univ
B : Set α
hB : M.ModularBase B Xs
⊢ ∃ I, M.Indep I ∧ M.Basis ((⋂ i ∈ A, Xs i) ∩ I) (⋂ i ∈ A, Xs i) ∧ M.Basis ((⋂ i ∈ Aᶜ, Xs i) ∩ I) (⋂ i ∈ Aᶜ, Xs i)

State before:
case intro
ι : Type u_1
α : Type u_2
M : Matroid α
B✝ I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
A : Set ι
hA : A.Nonempty
hA' : A ≠ univ
B : Set α
hB : M.ModularBase B Xs
⊢ ∃ I, M.Indep I ∧ M.Basis ((⋂ i ∈ A, Xs i) ∩ I) (⋂ i ∈ A, Xs i) ∧ M.Basis ((⋂ i ∈ Aᶜ, Xs i) ∩ I) (⋂ i ∈ Aᶜ, Xs i)
Tactic:
exact ⟨B, hB.indep, hB.basis_biInter hA, hB.basis_biInter (by rwa [nonempty_compl])⟩
State after:
no goals

State before:
ι : Type u_1
α : Type u_2
M : Matroid α
B✝ I J X X' Y Y' F : Set α
Xs Ys Js Is : ι → Set α
i j : ι
e f : α
A : Set ι
hA : A.Nonempty
hA' : A ≠ univ
B : Set α
hB : M.ModularBase B Xs
⊢ Aᶜ.Nonempty
Tactic:
rwa [nonempty_compl]
State after:
no goals