Theorem: Matroid.SkewFamily.mono (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.SkewFamily Xs
hYX : ∀ (i : ι), Ys i ⊆ Xs i
⊢ M.SkewFamily Ys
Tactic:
choose Is hIs using fun i ↦ M.exists_basis (Ys i) ((hYX i).trans (h.subset_ground_of_mem i))
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.SkewFamily Xs
hYX : ∀ (i : ι), Ys i ⊆ Xs i
Is : ι → Set α
hIs : ∀ (i : ι), M.Basis (Is i) (Ys i)
⊢ M.SkewFamily Ys

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.SkewFamily Xs
hYX : ∀ (i : ι), Ys i ⊆ Xs i
Is : ι → Set α
hIs : ∀ (i : ι), M.Basis (Is i) (Ys i)
⊢ M.SkewFamily Ys
Tactic:
refine Indep.skewFamily_of_disjoint_bases ?_ ?_ hIs
State after:
case refine_1
ι : 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.SkewFamily Xs
hYX : ∀ (i : ι), Ys i ⊆ Xs i
Is : ι → Set α
hIs : ∀ (i : ι), M.Basis (Is i) (Ys i)
⊢ M.Indep (⋃ i, Is i)

case refine_2
ι : 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.SkewFamily Xs
hYX : ∀ (i : ι), Ys i ⊆ Xs i
Is : ι → Set α
hIs : ∀ (i : ι), M.Basis (Is i) (Ys i)
⊢ Pairwise (Disjoint on fun i => Is i)

State before:
case refine_2
ι : 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.SkewFamily Xs
hYX : ∀ (i : ι), Ys i ⊆ Xs i
Is : ι → Set α
hIs : ∀ (i : ι), M.Basis (Is i) (Ys i)
⊢ Pairwise (Disjoint on fun i => Is i)
Tactic:
exact h.pairwise_disjoint_of_indep_subsets
  (fun i ↦ (hIs i).subset.trans (hYX i)) (fun i ↦ (hIs i).indep)
State after:
no goals

State before:
case refine_1
ι : 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.SkewFamily Xs
hYX : ∀ (i : ι), Ys i ⊆ Xs i
Is : ι → Set α
hIs : ∀ (i : ι), M.Basis (Is i) (Ys i)
⊢ M.Indep (⋃ i, Is i)
Tactic:
exact h.iUnion_indep_subset_indep (fun i ↦ (hIs i).subset.trans (hYX i)) (fun i ↦ (hIs i).indep)
State after:
no goals