ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.set_biInter_inter
theorem set_biInter_inter (s t : Finset α) (u : α → Set β) :
    ⋂ x ∈ s ∪ t, u x = (⋂ x ∈ s, u x) ∩ ⋂ x ∈ t, u x 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] (s t : Finset α) (u : α → Set β)
Goal: ⋂ x ∈ s ∪ t, u x = (⋂ x ∈ s, u x) ∩ ⋂ x ∈ t, u x
-- Finset.set_biUnion_insert
theorem set_biUnion_insert (a : α) (s : Finset α) (t : α → Set β) :
    ⋃ x ∈ insert a s, t x = t a ∪ ⋃ x ∈ s, t x 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] (a : α) (s : Finset α) (t : α → Set β)
Goal: ⋃ x ∈ insert a s, t x = t a ∪ ⋃ x ∈ s, t x
-- Finset.set_biInter_insert
theorem set_biInter_insert (a : α) (s : Finset α) (t : α → Set β) :
    ⋂ x ∈ insert a s, t x = t a ∩ ⋂ x ∈ s, t x 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] (a : α) (s : Finset α) (t : α → Set β)
Goal: ⋂ x ∈ insert a s, t x = t a ∩ ⋂ x ∈ s, t x
-- Finset.set_biUnion_finset_image
theorem set_biUnion_finset_image {f : γ → α} {g : α → Set β} {s : Finset γ} :
    ⋃ x ∈ s.image f, g x = ⋃ y ∈ s, g (f y) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [DecidableEq α] {f : γ → α} {g : α → Set β} {s : Finset γ}
Goal: ⋃ x ∈ Finset.image f s, g x = ⋃ y ∈ s, g (f y)
-- Finset.set_biInter_finset_image
theorem set_biInter_finset_image {f : γ → α} {g : α → Set β} {s : Finset γ} :
    ⋂ x ∈ s.image f, g x = ⋂ y ∈ s, g (f y) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [DecidableEq α] {f : γ → α} {g : α → Set β} {s : Finset γ}
Goal: ⋂ x ∈ Finset.image f s, g x = ⋂ y ∈ s, g (f y)
-- Finset.set_biUnion_insert_update
theorem set_biUnion_insert_update {x : α} {t : Finset α} (f : α → Set β) {s : Set β} (hx : x ∉ t) :
    ⋃ i ∈ insert x t, @update _ _ _ f x s i = s ∪ ⋃ i ∈ t, f i 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] {x : α} {t : Finset α} (f : α → Set β) {s : Set β} (hx : x ∉ t)
Goal: ⋃ i ∈ insert x t, Function.update f x s i = s ∪ ⋃ i ∈ t, f i
-- Finset.set_biInter_insert_update
theorem set_biInter_insert_update {x : α} {t : Finset α} (f : α → Set β) {s : Set β} (hx : x ∉ t) :
    ⋂ i ∈ insert x t, @update _ _ _ f x s i = s ∩ ⋂ i ∈ t, f i 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] {x : α} {t : Finset α} (f : α → Set β) {s : Set β} (hx : x ∉ t)
Goal: ⋂ i ∈ insert x t, Function.update f x s i = s ∩ ⋂ i ∈ t, f i
-- Finset.set_biUnion_biUnion
theorem set_biUnion_biUnion (s : Finset γ) (t : γ → Finset α) (f : α → Set β) :
    ⋃ y ∈ s.biUnion t, f y = ⋃ (x ∈ s) (y ∈ t x), f y 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [DecidableEq α] (s : Finset γ) (t : γ → Finset α) (f : α → Set β)
Goal: ⋃ y ∈ s.biUnion t, f y = ⋃ x ∈ s, ⋃ y ∈ t x, f y
-- Finset.set_biInter_biUnion
theorem set_biInter_biUnion (s : Finset γ) (t : γ → Finset α) (f : α → Set β) :
    ⋂ y ∈ s.biUnion t, f y = ⋂ (x ∈ s) (y ∈ t x), f y 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [DecidableEq α] (s : Finset γ) (t : γ → Finset α) (f : α → Set β)
Goal: ⋂ y ∈ s.biUnion t, f y = ⋂ x ∈ s, ⋂ y ∈ t x, f y
-- Matroid.comap_indep_iff
@[simp] lemma comap_indep_iff : (N.comap f).Indep I ↔ N.Indep (f '' I) ∧ InjOn f I 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {I : Set α} {N : Matroid β}
Goal: (N.comap f).Indep I ↔ N.Indep (f '' I) ∧ Set.InjOn f I
-- Matroid.comap_ground_eq
@[simp] lemma comap_ground_eq (N : Matroid β) (f : α → β) : (N.comap f).E = f ⁻¹' N.E 
Arguments: {α : Type u_1} {β : Type u_2} (N : Matroid β) (f : α → β)
Goal: (N.comap f).E = f ⁻¹' N.E
-- Matroid.comap_dep_iff
@[simp] lemma comap_dep_iff :
    (N.comap f).Dep I ↔ N.Dep (f '' I) ∨ (N.Indep (f '' I) ∧ ¬ InjOn f I) 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {I : Set α} {N : Matroid β}
Goal: (N.comap f).Dep I ↔ N.Dep (f '' I) ∨ N.Indep (f '' I) ∧ ¬Set.InjOn f I
-- Matroid.comap_id
@[simp] lemma comap_id (N : Matroid β) : N.comap id = N 
Arguments: {β : Type u_2} (N : Matroid β)
Goal: N.comap id = N
-- Matroid.comap_indep_iff_of_injOn
lemma comap_indep_iff_of_injOn (hf : InjOn f (f ⁻¹' N.E)) :
    (N.comap f).Indep I ↔ N.Indep (f '' I) 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {I : Set α} {N : Matroid β} (hf : Set.InjOn f (f ⁻¹' N.E))
Goal: (N.comap f).Indep I ↔ N.Indep (f '' I)
-- Matroid.comap_emptyOn
@[simp] lemma comap_emptyOn (f : α → β) : comap (emptyOn β) f = emptyOn α 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β)
Goal: (Matroid.emptyOn β).comap f = Matroid.emptyOn α
-- Matroid.comap_loopyOn
@[simp] lemma comap_loopyOn (f : α → β) (E : Set β) : comap (loopyOn E) f = loopyOn (f ⁻¹' E) 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β) (E : Set β)
Goal: (Matroid.loopyOn E).comap f = Matroid.loopyOn (f ⁻¹' E)
-- Matroid.comap_basis_iff
@[simp] lemma comap_basis_iff {I X : Set α} :
    (N.comap f).Basis I X ↔ N.Basis (f '' I) (f '' X) ∧ I.InjOn f ∧ I ⊆ X  
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {I X : Set α}
Goal: (N.comap f).Basis I X ↔ N.Basis (f '' I) (f '' X) ∧ Set.InjOn f I ∧ I ⊆ X
-- Matroid.comap_base_iff
@[simp] lemma comap_base_iff {B : Set α} :
    (N.comap f).Base B ↔ N.Basis (f '' B) (f '' (f ⁻¹' N.E)) ∧ B.InjOn f ∧ B ⊆ f ⁻¹' N.E 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {B : Set α}
Goal: (N.comap f).Base B ↔ N.Basis (f '' B) (f '' (f ⁻¹' N.E)) ∧ Set.InjOn f B ∧ B ⊆ f ⁻¹' N.E
-- Matroid.comap_basis'_iff
@[simp] lemma comap_basis'_iff {I X : Set α} :
    (N.comap f).Basis' I X ↔ N.Basis' (f '' I) (f '' X) ∧ I.InjOn f ∧ I ⊆ X 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {I X : Set α}
Goal: (N.comap f).Basis' I X ↔ N.Basis' (f '' I) (f '' X) ∧ Set.InjOn f I ∧ I ⊆ X
-- Matroid.comapOn_preimage_eq
lemma comapOn_preimage_eq (N : Matroid β) (f : α → β) : N.comapOn (f ⁻¹' N.E) f = N.comap f 
Arguments: {α : Type u_1} {β : Type u_2} (N : Matroid β) (f : α → β)
Goal: N.comapOn (f ⁻¹' N.E) f = N.comap f
-- Matroid.comapOn_indep_iff
@[simp] lemma comapOn_indep_iff :
    (N.comapOn E f).Indep I ↔ (N.Indep (f '' I) ∧ InjOn f I ∧ I ⊆ E) 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {E I : Set α}
Goal: (N.comapOn E f).Indep I ↔ N.Indep (f '' I) ∧ Set.InjOn f I ∧ I ⊆ E
-- Matroid.comapOn_ground_eq
@[simp] lemma comapOn_ground_eq : (N.comapOn E f).E = E 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {E : Set α}
Goal: (N.comapOn E f).E = E
-- Matroid.comapOn_base_iff
lemma comapOn_base_iff :
    (N.comapOn E f).Base B ↔ N.Basis' (f '' B) (f '' E) ∧ B.InjOn f ∧ B ⊆ E 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {E B : Set α}
Goal: (N.comapOn E f).Base B ↔ N.Basis' (f '' B) (f '' E) ∧ Set.InjOn f B ∧ B ⊆ E
-- Matroid.comapOn_base_iff_of_surjOn
lemma comapOn_base_iff_of_surjOn (h : SurjOn f E N.E) :
    (N.comapOn E f).Base B ↔ (N.Base (f '' B) ∧ InjOn f B ∧ B ⊆ E) 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {E B : Set α} (h : Set.SurjOn f E N.E)
Goal: (N.comapOn E f).Base B ↔ N.Base (f '' B) ∧ Set.InjOn f B ∧ B ⊆ E
-- Matroid.comapOn_base_iff_of_bijOn
lemma comapOn_base_iff_of_bijOn (h : BijOn f E N.E) :
    (N.comapOn E f).Base B ↔ N.Base (f '' B) ∧ B ⊆ E 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {E B : Set α} (h : Set.BijOn f E N.E)
Goal: (N.comapOn E f).Base B ↔ N.Base (f '' B) ∧ B ⊆ E
-- Matroid.comapOn_dual_eq_of_bijOn
lemma comapOn_dual_eq_of_bijOn (h : BijOn f E N.E) :
    (N.comapOn E f)✶ = N✶.comapOn E f 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {E : Set α} (h : Set.BijOn f E N.E)
Goal: (N.comapOn E f)✶ = N✶.comapOn E f
-- Matroid.mapSetEmbedding_ground
@[simp] lemma mapSetEmbedding_ground (M : Matroid α) (f : M.E ↪ β) :
    (M.mapSetEmbedding f).E = range f 
Arguments: {α : Type u_1} {β : Type u_2} (M : Matroid α) (f : ↑M.E ↪ β)
Goal: (M.mapSetEmbedding f).E = Set.range ⇑f
-- Matroid.mapSetEmbedding_indep_iff
@[simp] lemma mapSetEmbedding_indep_iff {f : M.E ↪ β} {I : Set β} :
    (M.mapSetEmbedding f).Indep I ↔ M.Indep ↑(f ⁻¹' I) ∧ I ⊆ range f 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : ↑M.E ↪ β} {I : Set β}
Goal: (M.mapSetEmbedding f).Indep I ↔ M.Indep ↑(⇑f ⁻¹' I) ∧ I ⊆ Set.range ⇑f
-- Matroid.Indep.exists_eq_image_of_mapSetEmbedding
lemma Indep.exists_eq_image_of_mapSetEmbedding {f : M.E ↪ β} {I : Set β}
    (hI : (M.mapSetEmbedding f).Indep I) : ∃ (I₀ : Set M.E), M.Indep I₀ ∧ I = f '' I₀ 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : ↑M.E ↪ β} {I : Set β} (hI : (M.mapSetEmbedding f).Indep I)
Goal: ∃ I₀, M.Indep ↑I₀ ∧ I = ⇑f '' I₀
-- Matroid.mapSetEmbedding_indep_iff'
lemma mapSetEmbedding_indep_iff' {f : M.E ↪ β} {I : Set β} :
    (M.mapSetEmbedding f).Indep I ↔ ∃ (I₀ : Set M.E), M.Indep ↑I₀ ∧ I = f '' I₀ 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : ↑M.E ↪ β} {I : Set β}
Goal: (M.mapSetEmbedding f).Indep I ↔ ∃ I₀, M.Indep ↑I₀ ∧ I = ⇑f '' I₀
-- Matroid.map_ground
@[simp] lemma map_ground (M : Matroid α) (f : α → β) (hf) : (M.map f hf).E = f '' M.E 
Arguments: {α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α → β) (hf : Set.InjOn f M.E)
Goal: (M.map f hf).E = f '' M.E
-- Matroid.map_indep_iff
@[simp] lemma map_indep_iff {hf} {I : Set β} :
    (M.map f hf).Indep I ↔ ∃ I₀, M.Indep I₀ ∧ I = f '' I₀ 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {I : Set β}
Goal: (M.map f hf).Indep I ↔ ∃ I₀, M.Indep I₀ ∧ I = f '' I₀
-- Matroid.Indep.map
lemma Indep.map (hI : M.Indep I) (f : α → β) (hf) : (M.map f hf).Indep (f '' I) 
Arguments: {α : Type u_1} {β : Type u_2} {I : Set α} {M : Matroid α} (hI : M.Indep I) (f : α → β) (hf : Set.InjOn f M.E)
Goal: (M.map f hf).Indep (f '' I)
-- Matroid.Indep.exists_bijOn_of_map
lemma Indep.exists_bijOn_of_map {I : Set β} (hf) (hI : (M.map f hf).Indep I) :
    ∃ I₀, M.Indep I₀ ∧ BijOn f I₀ I 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {I : Set β} (hf : Set.InjOn f M.E) (hI : (M.map f hf).Indep I)
Goal: ∃ I₀, M.Indep I₀ ∧ Set.BijOn f I₀ I
-- Matroid.map_image_indep_iff
lemma map_image_indep_iff {hf} {I : Set α} (hI : I ⊆ M.E) :
    (M.map f hf).Indep (f '' I) ↔ M.Indep I 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {I : Set α} (hI : I ⊆ M.E)
Goal: (M.map f hf).Indep (f '' I) ↔ M.Indep I
-- Matroid.map_base_iff
@[simp] lemma map_base_iff (M : Matroid α) (f : α → β) (hf) {B : Set β} :
    (M.map f hf).Base B ↔ ∃ B₀, M.Base B₀ ∧ B = f '' B₀ 
Arguments: {α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α → β) (hf : Set.InjOn f M.E) {B : Set β}
Goal: (M.map f hf).Base B ↔ ∃ B₀, M.Base B₀ ∧ B = f '' B₀
-- Matroid.Base.map
lemma Base.map {B : Set α} (hB : M.Base B) {f : α → β} (hf) : (M.map f hf).Base (f '' B) 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {B : Set α} (hB : M.Base B) {f : α → β} (hf : Set.InjOn f M.E)
Goal: (M.map f hf).Base (f '' B)
-- Matroid.map_dep_iff
lemma map_dep_iff {hf} {D : Set β} :
    (M.map f hf).Dep D ↔ ∃ D₀, M.Dep D₀ ∧ D = f '' D₀ 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {D : Set β}
Goal: (M.map f hf).Dep D ↔ ∃ D₀, M.Dep D₀ ∧ D = f '' D₀
-- Matroid.map_image_base_iff
lemma map_image_base_iff {hf} {B : Set α} (hB : B ⊆ M.E) :
    (M.map f hf).Base (f '' B) ↔ M.Base B 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {B : Set α} (hB : B ⊆ M.E)
Goal: (M.map f hf).Base (f '' B) ↔ M.Base B
-- Matroid.Basis.map
lemma Basis.map {X : Set α} (hIX : M.Basis I X) {f : α → β} (hf) :
    (M.map f hf).Basis (f '' I) (f '' X) 
Arguments: {α : Type u_1} {β : Type u_2} {I : Set α} {M : Matroid α} {X : Set α} (hIX : M.Basis I X) {f : α → β} (hf : Set.InjOn f M.E)
Goal: (M.map f hf).Basis (f '' I) (f '' X)
-- Matroid.map_basis_iff
lemma map_basis_iff {I X : Set α} (f : α → β) (hf) (hI : I ⊆ M.E) (hX : X ⊆ M.E) :
    (M.map f hf).Basis (f '' I) (f '' X) ↔ M.Basis I X 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {I X : Set α} (f : α → β) (hf : Set.InjOn f M.E) (hI : I ⊆ M.E) (hX : X ⊆ M.E)
Goal: (M.map f hf).Basis (f '' I) (f '' X) ↔ M.Basis I X
-- Matroid.map_basis_iff'
lemma map_basis_iff' {I X : Set β} {hf} :
    (M.map f hf).Basis I X ↔ ∃ I₀ X₀, M.Basis I₀ X₀ ∧ I = f '' I₀ ∧ X = f '' X₀ 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {I X : Set β} {hf : Set.InjOn f M.E}
Goal: (M.map f hf).Basis I X ↔ ∃ I₀ X₀, M.Basis I₀ X₀ ∧ I = f '' I₀ ∧ X = f '' X₀
-- Matroid.map_dual
@[simp] lemma map_dual {hf} : (M.map f hf)✶ = M✶.map f hf 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E}
Goal: (M.map f hf)✶ = M✶.map f hf
-- Matroid.map_emptyOn
@[simp] lemma map_emptyOn (f : α → β) : (emptyOn α).map f (by simp) = emptyOn β 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β)
Goal: (Matroid.emptyOn α).map f ⋯ = Matroid.emptyOn β
-- Matroid.map_loopyOn
@[simp] lemma map_loopyOn (f : α → β) (hf) : (loopyOn E).map f hf = loopyOn (f '' E) 
Arguments: {α : Type u_1} {β : Type u_2} {E : Set α} (f : α → β) (hf : Set.InjOn f (Matroid.loopyOn E).E)
Goal: (Matroid.loopyOn E).map f hf = Matroid.loopyOn (f '' E)
-- Matroid.map_freeOn
@[simp] lemma map_freeOn (f : α → β) (hf) : (freeOn E).map f hf = freeOn (f '' E) 
Arguments: {α : Type u_1} {β : Type u_2} {E : Set α} (f : α → β) (hf : Set.InjOn f (Matroid.freeOn E).E)
Goal: (Matroid.freeOn E).map f hf = Matroid.freeOn (f '' E)
-- Matroid.map_id
@[simp] lemma map_id : M.map id (injOn_id M.E) = M 
Arguments: {α : Type u_1} {M : Matroid α}
Goal: M.map id ⋯ = M
-- Matroid.map_comap
lemma map_comap {f : α → β} (h_range : N.E ⊆ range f) (hf : InjOn f (f ⁻¹' N.E)) :
    (N.comap f).map f hf = N 
Arguments: {α : Type u_1} {β : Type u_2} {N : Matroid β} {f : α → β} (h_range : N.E ⊆ Set.range f) (hf : Set.InjOn f (f ⁻¹' N.E))
Goal: (N.comap f).map f hf = N
-- Matroid.comap_map
lemma comap_map {f : α → β} (hf : f.Injective) : (M.map f hf.injOn).comap f = M 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α → β} (hf : Function.Injective f)
Goal: (M.map f ⋯).comap f = M
-- Matroid.mapSetEquiv_indep_iff
@[simp] lemma mapSetEquiv_indep_iff (M : Matroid α) {E : Set β} (e : M.E ≃ E) {I : Set β} :
    (M.mapSetEquiv e).Indep I ↔ M.Indep ↑(e.symm '' (E ↓∩ I)) ∧ I ⊆ E 
Arguments: {α : Type u_1} {β : Type u_2} (M : Matroid α) {E : Set β} (e : ↑M.E ≃ ↑E) {I : Set β}
Goal: (M.mapSetEquiv e).Indep I ↔ M.Indep ↑(⇑e.symm '' E ↓∩ I) ∧ I ⊆ E
-- Matroid.mapSetEquiv.ground
@[simp] lemma mapSetEquiv.ground (M : Matroid α) {E : Set β} (e : M.E ≃ E) :
    (M.mapSetEquiv e).E = E 
Arguments: {α : Type u_1} {β : Type u_2} (M : Matroid α) {E : Set β} (e : ↑M.E ≃ ↑E)
Goal: (M.mapSetEquiv e).E = E
-- Matroid.mapEmbedding_ground_eq
@[simp] lemma mapEmbedding_ground_eq (M : Matroid α) (f : α ↪ β) :
    (M.mapEmbedding f).E = f '' M.E 
Arguments: {α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α ↪ β)
Goal: (M.mapEmbedding f).E = ⇑f '' M.E
-- Matroid.mapEmbedding_indep_iff
@[simp] lemma mapEmbedding_indep_iff {f : α ↪ β} {I : Set β} :
    (M.mapEmbedding f).Indep I ↔ M.Indep (f ⁻¹' I) ∧ I ⊆ range f 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α ↪ β} {I : Set β}
Goal: (M.mapEmbedding f).Indep I ↔ M.Indep (⇑f ⁻¹' I) ∧ I ⊆ Set.range ⇑f
-- Matroid.Indep.mapEmbedding
lemma Indep.mapEmbedding (hI : M.Indep I) (f : α ↪ β) : (M.mapEmbedding f).Indep (f '' I) 
Arguments: {α : Type u_1} {β : Type u_2} {I : Set α} {M : Matroid α} (hI : M.Indep I) (f : α ↪ β)
Goal: (M.mapEmbedding f).Indep (⇑f '' I)
-- Matroid.Base.mapEmbedding
lemma Base.mapEmbedding {B : Set α} (hB : M.Base B) (f : α ↪ β) :
    (M.mapEmbedding f).Base (f '' B) 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {B : Set α} (hB : M.Base B) (f : α ↪ β)
Goal: (M.mapEmbedding f).Base (⇑f '' B)
-- Matroid.Basis.mapEmbedding
lemma Basis.mapEmbedding {X : Set α} (hIX : M.Basis I X) (f : α ↪ β) :
    (M.mapEmbedding f).Basis (f '' I) (f '' X) 
Arguments: {α : Type u_1} {β : Type u_2} {I : Set α} {M : Matroid α} {X : Set α} (hIX : M.Basis I X) (f : α ↪ β)
Goal: (M.mapEmbedding f).Basis (⇑f '' I) (⇑f '' X)
-- Matroid.mapEmbedding_base_iff
@[simp] lemma mapEmbedding_base_iff {f : α ↪ β} {B : Set β} :
    (M.mapEmbedding f).Base B ↔ M.Base (f ⁻¹' B) ∧ B ⊆ range f 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α ↪ β} {B : Set β}
Goal: (M.mapEmbedding f).Base B ↔ M.Base (⇑f ⁻¹' B) ∧ B ⊆ Set.range ⇑f
-- Matroid.mapEmbedding_basis_iff
@[simp] lemma mapEmbedding_basis_iff {f : α ↪ β} {I X : Set β} :
    (M.mapEmbedding f).Basis I X ↔ M.Basis (f ⁻¹' I) (f ⁻¹' X) ∧ I ⊆ X ∧ X ⊆ range f 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α ↪ β} {I X : Set β}
Goal: (M.mapEmbedding f).Basis I X ↔ M.Basis (⇑f ⁻¹' I) (⇑f ⁻¹' X) ∧ I ⊆ X ∧ X ⊆ Set.range ⇑f
-- Matroid.mapEquiv_ground_eq
@[simp] lemma mapEquiv_ground_eq (M : Matroid α) (f : α ≃ β) :
    (M.mapEquiv f).E = f '' M.E 
Arguments: {α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α ≃ β)
Goal: (M.mapEquiv f).E = ⇑f '' M.E
-- Matroid.mapEquiv_eq_map
lemma mapEquiv_eq_map (f : α ≃ β) : M.mapEquiv f = M.map f f.injective.injOn 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} (f : α ≃ β)
Goal: M.mapEquiv f = M.map ⇑f ⋯
-- Matroid.mapEquiv_indep_iff
@[simp] lemma mapEquiv_indep_iff {I : Set β} : (M.mapEquiv f).Indep I ↔ M.Indep (f.symm '' I) 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α ≃ β} {I : Set β}
Goal: (M.mapEquiv f).Indep I ↔ M.Indep (⇑f.symm '' I)
-- Matroid.mapEquiv_dep_iff
@[simp] lemma mapEquiv_dep_iff {D : Set β} : (M.mapEquiv f).Dep D ↔ M.Dep (f.symm '' D) 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α ≃ β} {D : Set β}
Goal: (M.mapEquiv f).Dep D ↔ M.Dep (⇑f.symm '' D)
-- Matroid.mapEquiv_base_iff
@[simp] lemma mapEquiv_base_iff {B : Set β} : (M.mapEquiv f).Base B ↔ M.Base (f.symm '' B) 
Arguments: {α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α ≃ β} {B : Set β}
Goal: (M.mapEquiv f).Base B ↔ M.Base (⇑f.symm '' B)
-- Matroid.mapEquiv_basis_iff
@[simp] lemma mapEquiv_basis_iff {α β : Type*} {M : Matroid α} (f : α ≃ β) {I X : Set β} :
    (M.mapEquiv f).Basis I X ↔ M.Basis (f.symm '' I) (f.symm '' X) 
Arguments: {α : Type u_3} {β : Type u_4} {M : Matroid α} (f : α ≃ β) {I X : Set β}
Goal: (M.mapEquiv f).Basis I X ↔ M.Basis (⇑f.symm '' I) (⇑f.symm '' X)
-- Matroid.restrictSubtype_ground
@[simp] lemma restrictSubtype_ground : (M.restrictSubtype X).E = univ 
Arguments: {α : Type u_1} {X : Set α} {M : Matroid α}
Goal: (M.restrictSubtype X).E = Set.univ
-- Matroid.restrictSubtype_indep_iff
@[simp] lemma restrictSubtype_indep_iff {I : Set X} :
    (M.restrictSubtype X).Indep I ↔ M.Indep ((↑) '' I) 
Arguments: {α : Type u_1} {X : Set α} {M : Matroid α} {I : Set ↑X}
Goal: (M.restrictSubtype X).Indep I ↔ M.Indep ↑I
-- Matroid.restrictSubtype_indep_iff_of_subset
lemma restrictSubtype_indep_iff_of_subset (hIX : I ⊆ X) :
    (M.restrictSubtype X).Indep (X ↓∩ I) ↔ M.Indep I 
Arguments: {α : Type u_1} {X I : Set α} {M : Matroid α} (hIX : I ⊆ X)
Goal: (M.restrictSubtype X).Indep (X ↓∩ I) ↔ M.Indep I
-- Matroid.restrictSubtype_inter_indep_iff
lemma restrictSubtype_inter_indep_iff :
    (M.restrictSubtype X).Indep (X ↓∩ I) ↔ M.Indep (X ∩ I) 
Arguments: {α : Type u_1} {X I : Set α} {M : Matroid α}
Goal: (M.restrictSubtype X).Indep (X ↓∩ I) ↔ M.Indep (X ∩ I)
-- Matroid.restrictSubtype_basis_iff
lemma restrictSubtype_basis_iff {Y : Set α} {I X : Set Y} :
    (M.restrictSubtype Y).Basis I X ↔ M.Basis' I X 
Arguments: {α : Type u_1} {M : Matroid α} {Y : Set α} {I X : Set ↑Y}
Goal: (M.restrictSubtype Y).Basis I X ↔ M.Basis' ↑I ↑X
-- Matroid.restrictSubtype_base_iff
lemma restrictSubtype_base_iff {B : Set X} : (M.restrictSubtype X).Base B ↔ M.Basis' B X 
Arguments: {α : Type u_1} {X : Set α} {M : Matroid α} {B : Set ↑X}
Goal: (M.restrictSubtype X).Base B ↔ M.Basis' (↑B) X
-- Matroid.restrictSubtype_ground_base_iff
@[simp] lemma restrictSubtype_ground_base_iff {B : Set M.E} :
    (M.restrictSubtype M.E).Base B ↔ M.Base B 
Arguments: {α : Type u_1} {M : Matroid α} {B : Set ↑M.E}
Goal: (M.restrictSubtype M.E).Base B ↔ M.Base ↑B
-- Matroid.restrictSubtype_ground_basis_iff
@[simp] lemma restrictSubtype_ground_basis_iff {I X : Set M.E} :
    (M.restrictSubtype M.E).Basis I X ↔ M.Basis I X 
Arguments: {α : Type u_1} {M : Matroid α} {I X : Set ↑M.E}
Goal: (M.restrictSubtype M.E).Basis I X ↔ M.Basis ↑I ↑X
-- Matroid.eq_of_restrictSubtype_eq
lemma eq_of_restrictSubtype_eq {N : Matroid α} (hM : M.E = E) (hN : N.E = E)
    (h : M.restrictSubtype E = N.restrictSubtype E) : M = N 
Arguments: {α : Type u_1} {E : Set α} {M N : Matroid α} (hM : M.E = E) (hN : N.E = E) (h : M.restrictSubtype E = N.restrictSubtype E)
Goal: M = N
-- Matroid.restrictSubtype_dual
@[simp] lemma restrictSubtype_dual : (M.restrictSubtype M.E)✶ = M✶.restrictSubtype M.E 
Arguments: {α : Type u_1} {M : Matroid α}
Goal: (M.restrictSubtype M.E)✶ = M✶.restrictSubtype M.E
-- Matroid.restrictSubtype_dual'
lemma restrictSubtype_dual' (hM : M.E = E) : (M.restrictSubtype E)✶ = M✶.restrictSubtype E 
Arguments: {α : Type u_1} {E : Set α} {M : Matroid α} (hM : M.E = E)
Goal: (M.restrictSubtype E)✶ = M✶.restrictSubtype E
-- Matroid.map_val_restrictSubtype_eq
@[simp] lemma map_val_restrictSubtype_eq (M : Matroid α) (X : Set α) :
    (M.restrictSubtype X).map (↑) Subtype.val_injective.injOn = M ↾ X 
Arguments: {α : Type u_1} (M : Matroid α) (X : Set α)
Goal: (M.restrictSubtype X).map Subtype.val ⋯ = M.restrict X
-- Matroid.map_val_restrictSubtype_ground_eq
lemma map_val_restrictSubtype_ground_eq (M : Matroid α) :
    (M.restrictSubtype M.E).map (↑) Subtype.val_injective.injOn = M 
Arguments: {α : Type u_1} (M : Matroid α)
Goal: (M.restrictSubtype M.E).map Subtype.val ⋯ = M
-- Matroid.Flat.subset_of_basis_of_basis
@[mk_iff]
structure Flat (M : Matroid α) (F : Set α) : Prop where
  subset_of_basis_of_basis : ∀ ⦃I X⦄, M.Basis I F → M.Basis I X → X ⊆ F
  subset_ground : F ⊆ M.E
Arguments: {α : Type u_2} {M : Matroid α} {F : Set α} (self : M.Flat F) ⦃I X : Set α⦄
Goal: M.Basis I F → M.Basis I X → X ⊆ F
-- Matroid.flat_iff
@[mk_iff]
structure Flat (M : Matroid α) (F : Set α) : Prop where
  subset_of_basis_of_basis : ∀ ⦃I X⦄, M.Basis I F → M.Basis I X → X ⊆ F
  subset_ground : F ⊆ M.E
Arguments: {α : Type u_2} (M : Matroid α) (F : Set α)
Goal: M.Flat F ↔ (∀ ⦃I X : Set α⦄, M.Basis I F → M.Basis I X → X ⊆ F) ∧ F ⊆ M.E
-- Matroid.Flat.subset_ground
@[mk_iff]
structure Flat (M : Matroid α) (F : Set α) : Prop where
  subset_of_basis_of_basis : ∀ ⦃I X⦄, M.Basis I F → M.Basis I X → X ⊆ F
  subset_ground : F ⊆ M.E
Arguments: {α : Type u_2} {M : Matroid α} {F : Set α} (self : M.Flat F)
Goal: F ⊆ M.E
-- Matroid.ground_flat
@[simp] lemma ground_flat (M : Matroid α) : M.Flat M.E 
Arguments: {α : Type u_2} (M : Matroid α)
Goal: M.Flat M.E
-- Matroid.Flat.iInter
lemma Flat.iInter {ι : Type*} [Nonempty ι] {Fs : ι → Set α}
    (hFs : ∀ i, M.Flat (Fs i)) : M.Flat (⋂ i, Fs i) 
Arguments: {α : Type u_2} {M : Matroid α} {ι : Type u_3} [Nonempty ι] {Fs : ι → Set α} (hFs : ∀ (i : ι), M.Flat (Fs i))
Goal: M.Flat (⋂ i, Fs i)
-- Matroid.flat_iff_isClosed
lemma flat_iff_isClosed : M.Flat F ↔ ∃ h : F ⊆ M.E, M.subtypeClosure.IsClosed ⟨F, h⟩ 
Arguments: {α : Type u_2} {M : Matroid α} {F : Set α}
Goal: M.Flat F ↔ ∃ (h : F ⊆ M.E), M.subtypeClosure.IsClosed ⟨F, h⟩
-- Matroid.isClosed_iff_flat
lemma isClosed_iff_flat {F : Iic M.E} : M.subtypeClosure.IsClosed F ↔ M.Flat F 
Arguments: {α : Type u_2} {M : Matroid α} {F : ↑(Set.Iic M.E)}
Goal: M.subtypeClosure.IsClosed F ↔ M.Flat ↑F
-- Matroid.closure_def
lemma closure_def (M : Matroid α) (X : Set α) : M.closure X = ⋂₀ {F | M.Flat F ∧ X ∩ M.E ⊆ F} 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: M.closure X = ⋂₀ {F | M.Flat F ∧ X ∩ M.E ⊆ F}
-- Matroid.closure_def'
lemma closure_def' (M : Matroid α) (X : Set α) (hX : X ⊆ M.E := by aesop_mat) :
    M.closure X = ⋂₀ {F | M.Flat F ∧ X ⊆ F} 
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α) (hX : X ⊆ M.E := by aesop_mat)
Goal: M.closure X = ⋂₀ {F | M.Flat F ∧ X ⊆ F}
-- Matroid.closure_eq_subtypeClosure
lemma closure_eq_subtypeClosure (M : Matroid α) (X : Set α) :
    M.closure X = M.subtypeClosure ⟨X ∩ M.E, inter_subset_right⟩  
Arguments: {α : Type u_2} (M : Matroid α) (X : Set α)
Goal: M.closure X = ↑(M.subtypeClosure ⟨X ∩ M.E, ⋯⟩)