Loogle!
Result
Found 184 declarations mentioning Matroid.IsBasis.
- Matroid.IsBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} (M : Matroid α) (I X : Set α) : Prop - Matroid.Indep.isBasis_self 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I : Set α} (h : M.Indep I) : M.IsBasis I I - Matroid.isBasis_self_iff_indep 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I : Set α} : M.IsBasis I I ↔ M.Indep I - Matroid.IsBase.isBasis_ground 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {B : Set α} (hB : M.IsBase B) : M.IsBasis B M.E - Matroid.IsBasis.indep 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : M.Indep I - Matroid.isBasis_ground_iff 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {B : Set α} : M.IsBasis B M.E ↔ M.IsBase B - Matroid.IsBasis.isBasis' 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : M.IsBasis' I X - Matroid.IsBasis.Finite 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) [M.RankFinite] : I.Finite - Matroid.IsBasis.subset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : I ⊆ X - Matroid.Indep.eq_of_isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I J : Set α} (hI : M.Indep I) (hJ : M.IsBasis J I) : J = I - Matroid.IsBasis.left_subset_ground 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : I ⊆ M.E - Matroid.IsBasis.subset_ground 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : X ⊆ M.E - Matroid.isBasis_empty_iff 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {I : Set α} (M : Matroid α) : M.IsBasis I ∅ ↔ I = ∅ - Matroid.IsBasis.isBasis_inter_ground 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : M.IsBasis I (X ∩ M.E) - Matroid.IsBasis'.isBasis_inter_ground 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis' I X) : M.IsBasis I (X ∩ M.E) - Matroid.exists_isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} (M : Matroid α) (X : Set α) (hX : X ⊆ M.E := by aesop_mat) : ∃ I, M.IsBasis I X - Matroid.isBasis'_iff_isBasis_inter_ground 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} : M.IsBasis' I X ↔ M.IsBasis I (X ∩ M.E) - Matroid.isBasis_iff_isBasis'_subset_ground 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} : M.IsBasis I X ↔ M.IsBasis' I X ∧ X ⊆ M.E - Matroid.Indep.isBasis_setOfPred_insert_isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I) : M.IsBasis I {x | M.IsBasis I (insert x I)} - Matroid.Indep.isBasis_setOf_insert_isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I : Set α} (hI : M.Indep I) : M.IsBasis I {x | M.IsBasis I (insert x I)} - Matroid.IsBasis.isBasis_iUnion 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I : Set α} {ι : Type u_2} [Nonempty ι] (X : ι → Set α) (hI : ∀ (i : ι), M.IsBasis I (X i)) : M.IsBasis I (⋃ i, X i) - Matroid.IsBasis'.isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis' I X) (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis I X - Matroid.isBasis'_iff_isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis' I X ↔ M.IsBasis I X - Matroid.IsBase.isBase_of_isBasis_superset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {B I X : Set α} (hB : M.IsBase B) (hBX : B ⊆ X) (hIX : M.IsBasis I X) : M.IsBase I - Matroid.IsBasis.isBasis_union 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X Y : Set α} (hIX : M.IsBasis I X) (hIY : M.IsBasis I Y) : M.IsBasis I (X ∪ Y) - Matroid.IsBasis.exists_isBase 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : ∃ B, M.IsBase B ∧ I = B ∩ X - Matroid.IsBasis.isBasis_subset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X Y : Set α} (hI : M.IsBasis I X) (hIY : I ⊆ Y) (hYX : Y ⊆ X) : M.IsBasis I Y - Matroid.IsBase.isBasis_of_subset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {B X : Set α} (hX : X ⊆ M.E := by aesop_mat) (hB : M.IsBase B) (hBX : B ⊆ X) : M.IsBasis B X - Matroid.IsBasis.inter_eq_of_subset_indep 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hIX : M.IsBasis I X) (hIJ : I ⊆ J) (hJ : M.Indep J) : J ∩ X = I - Matroid.IsBasis.isBasis_union_of_subset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.IsBasis I X) (hJ : M.Indep J) (hIJ : I ⊆ J) : M.IsBasis J (J ∪ X) - Matroid.IsBasis.eq_of_subset_indep 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.IsBasis I X) (hJ : M.Indep J) (hIJ : I ⊆ J) (hJX : J ⊆ X) : I = J - Matroid.IsBasis.isBasis_sUnion 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I : Set α} {Xs : Set (Set α)} (hne : Xs.Nonempty) (h : ∀ X ∈ Xs, M.IsBasis I X) : M.IsBasis I (⋃₀ Xs) - Matroid.IsBasis.insert_dep 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} {e : α} (hI : M.IsBasis I X) (he : e ∈ X \ I) : M.Dep (insert e I) - Matroid.IsBasis.mem_of_insert_indep 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} {e : α} (hI : M.IsBasis I X) (he : e ∈ X) (hIe : M.Indep (insert e I)) : e ∈ I - Matroid.IsBasis.iUnion_isBasis_iUnion 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {ι : Type u_2} (X I : ι → Set α) (hI : ∀ (i : ι), M.IsBasis (I i) (X i)) (h_ind : M.Indep (⋃ i, I i)) : M.IsBasis (⋃ i, I i) (⋃ i, X i) - Matroid.Indep.isBasis_insert_iff 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I : Set α} {e : α} (hI : M.Indep I) : M.IsBasis I (insert e I) ↔ M.Dep (insert e I) ∨ e ∈ I - Matroid.IsBasis.insert_isBasis_insert 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} {e : α} (hI : M.IsBasis I X) (h : M.Indep (insert e I)) : M.IsBasis (insert e I) (insert e X) - Matroid.isBasis_iff_maximal 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis I X ↔ Maximal (fun I => M.Indep I ∧ I ⊆ X) I - Matroid.IsBasis.not_isBasis_of_ssubset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.IsBasis I X) (hJI : J ⊂ I) : ¬M.IsBasis J X - Matroid.Indep.subset_isBasis_of_subset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (hX : X ⊆ M.E := by aesop_mat) : ∃ J, M.IsBasis J X ∧ I ⊆ J - Matroid.IsBasis.union_isBasis_union 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I J X Y : Set α} (hIX : M.IsBasis I X) (hJY : M.IsBasis J Y) (h : M.Indep (I ∪ J)) : M.IsBasis (I ∪ J) (X ∪ Y) - Matroid.Indep.isBasis_of_forall_insert 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (he : ∀ e ∈ X \ I, M.Dep (insert e I)) : M.IsBasis I X - Matroid.Indep.isBasis_iff_forall_insert_dep 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.Indep I) (hIX : I ⊆ X) : M.IsBasis I X ↔ ∀ e ∈ X \ I, M.Dep (insert e I) - Matroid.IsBasis.dep_of_ssubset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X Y : Set α} (hI : M.IsBasis I X) (hIY : I ⊂ Y) (hYX : Y ⊆ X) : M.Dep Y - Matroid.exists_isBasis_subset_isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {X Y : Set α} (M : Matroid α) (hXY : X ⊆ Y) (hY : Y ⊆ M.E := by aesop_mat) : ∃ I J, M.IsBasis I X ∧ M.IsBasis J Y ∧ I ⊆ J - Matroid.IsBasis.exists_isBasis_inter_eq_of_superset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X Y : Set α} (hI : M.IsBasis I X) (hXY : X ⊆ Y) (hY : Y ⊆ M.E := by aesop_mat) : ∃ J, M.IsBasis J Y ∧ J ∩ X = I - Matroid.exists_isBasis_union_inter_isBasis 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} (M : Matroid α) (X Y : Set α) (hX : X ⊆ M.E := by aesop_mat) (hY : Y ⊆ M.E := by aesop_mat) : ∃ I, M.IsBasis I (X ∪ Y) ∧ M.IsBasis (I ∩ Y) Y - Matroid.isBasis_iff' 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} : M.IsBasis I X ↔ (M.Indep I ∧ I ⊆ X ∧ ∀ ⦃J : Set α⦄, M.Indep J → I ⊆ J → J ⊆ X → I = J) ∧ X ⊆ M.E - Matroid.Indep.isBasis_of_maximal_subset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (hmax : ∀ ⦃J : Set α⦄, M.Indep J → I ⊆ J → J ⊆ X → J ⊆ I) (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis I X - Matroid.isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} {M : Matroid α} {I X : Set α} (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis I X ↔ M.Indep I ∧ I ⊆ X ∧ ∀ (J : Set α), M.Indep J → I ⊆ J → J ⊆ X → I = J - Matroid.exists_isBasis_disjoint_isBasis_of_subset 📋 Mathlib.Combinatorics.Matroid.Basic
{α : Type u_1} (M : Matroid α) {X Y : Set α} (hXY : X ⊆ Y) (hY : Y ⊆ M.E := by aesop_mat) : ∃ I J, M.IsBasis I X ∧ M.IsBasis (I ∪ J) Y ∧ Disjoint X J - Matroid.IsBase.compl_inter_isBasis_of_inter_isBasis 📋 Mathlib.Combinatorics.Matroid.Dual
{α : Type u_1} {M : Matroid α} {B X : Set α} (hB : M.IsBase B) (hBX : M.IsBasis (B ∩ X) X) : M✶.IsBasis (M.E \ B ∩ (M.E \ X)) (M.E \ X) - Matroid.IsBase.inter_isBasis_iff_compl_inter_isBasis_dual 📋 Mathlib.Combinatorics.Matroid.Dual
{α : Type u_1} {M : Matroid α} {B X : Set α} (hB : M.IsBase B) (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis (B ∩ X) X ↔ M✶.IsBasis (M.E \ B ∩ (M.E \ X)) (M.E \ X) - Matroid.IsBasis.isBase_restrict 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X : Set α} (h : M.IsBasis I X) : (M.restrict X).IsBase I - Matroid.IsBasis.restrict_isBase 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X : Set α} (h : M.IsBasis I X) : (M.restrict X).IsBase I - Matroid.isBasis'_iff_isBasis_restrict_univ 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X : Set α} : M.IsBasis' I X ↔ (M.restrict Set.univ).IsBasis I X - Matroid.IsBase.isBasis_of_isRestriction 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I : Set α} {N : Matroid α} (hI : N.IsBase I) (hNM : N.IsRestriction M) : M.IsBasis I N.E - Matroid.IsBasis.of_isRestriction 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X : Set α} {N : Matroid α} (hI : N.IsBasis I X) (hNM : N.IsRestriction M) : M.IsBasis I X - Matroid.IsRestriction.base_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M N : Matroid α} (hMN : N.IsRestriction M) {B : Set α} : N.IsBase B ↔ M.IsBasis B N.E - Matroid.IsBasis.encard_eq_encard 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X J : Set α} (hI : M.IsBasis I X) (hJ : M.IsBasis J X) : I.encard = J.encard - Matroid.IsBasis.isBase_of_isBase_subset 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X B : Set α} (hIX : M.IsBasis I X) (hB : M.IsBase B) (hBX : B ⊆ X) : M.IsBase I - Matroid.IsBasis.isBasis_restrict_of_subset 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X Y : Set α} (hI : M.IsBasis I X) (hXY : X ⊆ Y) : (M.restrict Y).IsBasis I X - Matroid.isBase_restrict_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X : Set α} (hX : X ⊆ M.E := by aesop_mat) : (M.restrict X).IsBase I ↔ M.IsBasis I X - Matroid.IsBasis.isBasis_isRestriction 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X : Set α} {N : Matroid α} (hI : M.IsBasis I X) (hNM : N.IsRestriction M) (hX : X ⊆ N.E) : N.IsBasis I X - Matroid.IsRestriction.isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X : Set α} {N : Matroid α} (hMN : N.IsRestriction M) : N.IsBasis I X ↔ M.IsBasis I X ∧ X ⊆ N.E - Matroid.IsBasis.transfer 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X Y J : Set α} (hIX : M.IsBasis I X) (hJX : M.IsBasis J X) (hXY : X ⊆ Y) (hJY : M.IsBasis J Y) : M.IsBasis I Y - Matroid.isBasis_restrict_iff' 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {R I X : Set α} : (M.restrict R).IsBasis I X ↔ M.IsBasis I (X ∩ M.E) ∧ X ⊆ R - Matroid.IsBasis.isBasis_of_isBasis_of_subset_of_subset 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X Y J : Set α} (hI : M.IsBasis I X) (hJ : M.IsBasis J Y) (hJX : J ⊆ X) (hIY : I ⊆ Y) : M.IsBasis I Y - Matroid.isBasis_restrict_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {R I X : Set α} (hR : R ⊆ M.E := by aesop_mat) : (M.restrict R).IsBasis I X ↔ M.IsBasis I X ∧ X ⊆ R - Matroid.Indep.exists_isBasis_subset_union_isBasis 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X J : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (hJ : M.IsBasis J X) : ∃ I', M.IsBasis I' X ∧ I ⊆ I' ∧ I' ⊆ I ∪ J - Matroid.Indep.exists_insert_of_not_isBasis 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X J : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (hI' : ¬M.IsBasis I X) (hJ : M.IsBasis J X) : ∃ e ∈ J \ I, M.Indep (insert e I) - Matroid.IsBasis.exchange 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X J : Set α} {e : α} (hIX : M.IsBasis I X) (hJX : M.IsBasis J X) (he : e ∈ I \ J) : ∃ f ∈ J \ I, M.IsBasis (insert f (I \ {e})) X - Matroid.IsBasis.eq_exchange_of_diff_eq_singleton 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X J : Set α} {e : α} (hI : M.IsBasis I X) (hJ : M.IsBasis J X) (hIJ : I \ J = {e}) : ∃ f ∈ J \ I, J = insert f I \ {e} - Matroid.IsBasis.eq_exchange_of_sdiff_eq_singleton 📋 Mathlib.Combinatorics.Matroid.Minor.Restrict
{α : Type u_1} {M : Matroid α} {I X J : Set α} {e : α} (hI : M.IsBasis I X) (hJ : M.IsBasis J X) (hIJ : I \ J = {e}) : ∃ f ∈ J \ I, J = insert f I \ {e} - Matroid.freeOn_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Constructions
{α : Type u_1} {E I X : Set α} : (Matroid.freeOn E).IsBasis I X ↔ I = X ∧ X ⊆ E - Matroid.uniqueBaseOn_inter_isBasis 📋 Mathlib.Combinatorics.Matroid.Constructions
{α : Type u_1} {E I X : Set α} (hX : X ⊆ E) : (Matroid.uniqueBaseOn I E).IsBasis (X ∩ I) X - Matroid.loopyOn_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Constructions
{α : Type u_1} {E I X : Set α} : (Matroid.loopyOn E).IsBasis I X ↔ I = ∅ ∧ X ⊆ E - Matroid.uniqueBaseOn_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Constructions
{α : Type u_1} {E I X J : Set α} (hX : X ⊆ E) : (Matroid.uniqueBaseOn I E).IsBasis J X ↔ J = X ∩ I - Matroid.IsBasis.map 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {β : Type u_2} {I : Set α} {M : Matroid α} {X : Set α} (hIX : M.IsBasis I X) {f : α → β} (hf : Set.InjOn f M.E) : (M.map f hf).IsBasis (f '' I) (f '' X) - Matroid.comap_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {I X : Set α} : (N.comap f).IsBasis I X ↔ N.IsBasis (f '' I) (f '' X) ∧ Set.InjOn f I ∧ I ⊆ X - Matroid.IsBasis.mapEmbedding 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {β : Type u_2} {I : Set α} {M : Matroid α} {X : Set α} (hIX : M.IsBasis I X) (f : α ↪ β) : (M.mapEmbedding f).IsBasis (⇑f '' I) (⇑f '' X) - Matroid.comap_isBase_iff 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {N : Matroid β} {B : Set α} : (N.comap f).IsBase B ↔ N.IsBasis (f '' B) (f '' f ⁻¹' N.E) ∧ Set.InjOn f B ∧ B ⊆ f ⁻¹' N.E - Matroid.map_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Map
{α : 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) : (M.map f hf).IsBasis (f '' I) (f '' X) ↔ M.IsBasis I X - Matroid.map_isBasis_iff' 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {I X : Set β} {hf : Set.InjOn f M.E} : (M.map f hf).IsBasis I X ↔ ∃ I₀ X₀, M.IsBasis I₀ X₀ ∧ I = f '' I₀ ∧ X = f '' X₀ - Matroid.mapEquiv_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_3} {β : Type u_4} {M : Matroid α} (f : α ≃ β) {I X : Set β} : (M.mapEquiv f).IsBasis I X ↔ M.IsBasis (⇑f.symm '' I) (⇑f.symm '' X) - Matroid.restrictSubtype_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {M : Matroid α} {Y : Set α} {I X : Set ↑Y} : (M.restrictSubtype Y).IsBasis I X ↔ M.IsBasis' (Subtype.val '' I) (Subtype.val '' X) - Matroid.mapEmbedding_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α ↪ β} {I X : Set β} : (M.mapEmbedding f).IsBasis I X ↔ M.IsBasis (⇑f ⁻¹' I) (⇑f ⁻¹' X) ∧ I ⊆ X ∧ X ⊆ Set.range ⇑f - Matroid.restrictSubtype_ground_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Map
{α : Type u_1} {M : Matroid α} {I X : Set ↑M.E} : (M.restrictSubtype M.E).IsBasis I X ↔ M.IsBasis (Subtype.val '' I) (Subtype.val '' X) - Matroid.Indep.isBasis_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {I : Set α} (hI : M.Indep I) : M.IsBasis I (M.closure I) - Matroid.IsBasis.isBase_of_spanning 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (hIX : M.IsBasis I X) (hX : M.Spanning X) : M.IsBase I - Matroid.IsBasis.isBasis_closure_right 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.IsBasis I X) : M.IsBasis I (M.closure X) - Matroid.IsBasis'.isBasis_closure_right 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.IsBasis' I X) : M.IsBasis I (M.closure X) - Matroid.IsBasis.spanning_iff_spanning 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (hIX : M.IsBasis I X) : M.Spanning I ↔ M.Spanning X - Matroid.IsBasis.subset_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.IsBasis I X) : X ⊆ M.closure I - Matroid.IsBasis.closure_eq_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.IsBasis I X) : M.closure I = M.closure X - Matroid.IsBasis.closure_eq_right 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.IsBasis I (M.closure X)) : M.closure I = M.closure X - Matroid.empty_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X : Set α} : M.IsBasis ∅ X ↔ X ⊆ M.closure ∅ - Matroid.isBasis'_iff_isBasis_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} : M.IsBasis' I X ↔ M.IsBasis I (M.closure X) ∧ I ⊆ X - Matroid.IsFlat.subset_of_isBasis_of_isBasis 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {F : Set α} (self : M.IsFlat F) ⦃I X : Set α⦄ : M.IsBasis I F → M.IsBasis I X → X ⊆ F - Matroid.Indep.closure_eq_setOfPred_isBasis_insert 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {I : Set α} (hI : M.Indep I) : M.closure I = {x | M.IsBasis I (insert x I)} - Matroid.Indep.closure_eq_setOf_isBasis_insert 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {I : Set α} (hI : M.Indep I) : M.closure I = {x | M.IsBasis I (insert x I)} - Matroid.exists_isBasis_inter_ground_isBasis_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} (M : Matroid α) (X : Set α) : ∃ I, M.IsBasis I (X ∩ M.E) ∧ M.IsBasis I (M.closure X) - Matroid.Indep.isBasis_of_subset_of_subset_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (hXI : X ⊆ M.closure I) : M.IsBasis I X - Matroid.isBasis_union_iff_indep_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} : M.IsBasis I (I ∪ X) ↔ M.Indep I ∧ X ⊆ M.closure I - Matroid.Indep.insert_isBasis_iff_mem_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {e : α} {I : Set α} (hI : M.Indep I) : M.IsBasis I (insert e I) ↔ e ∈ M.closure I - Matroid.isBasis_iff_indep_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} : M.IsBasis I X ↔ M.Indep I ∧ X ⊆ M.closure I ∧ I ⊆ X - Matroid.isBasis_iff_indep_subset_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} : M.IsBasis I X ↔ M.Indep I ∧ I ⊆ X ∧ X ⊆ M.closure I - Matroid.IsBasis.eq_of_closure_subset 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I J : Set α} (hI : M.IsBasis I X) (hJI : J ⊆ I) (hJ : X ⊆ M.closure J) : J = I - Matroid.isBasis_iff_isBasis_closure_of_subset' 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (hIX : I ⊆ X) : M.IsBasis I X ↔ M.IsBasis I (M.closure X) ∧ X ⊆ M.E - Matroid.isBasis_iff_isBasis_closure_of_subset 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (hIX : I ⊆ X) (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis I X ↔ M.IsBasis I (M.closure X) - Matroid.Indep.inter_isBasis_closure_iff_subset_closure_inter 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {I X : Set α} (hI : M.Indep I) : M.IsBasis (X ∩ I) X ↔ X ⊆ M.closure (X ∩ I) - Matroid.IsBasis.closure_inter_isBasis_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X I : Set α} (h : M.IsBasis (X ∩ I) X) (hI : M.Indep I) : M.IsBasis (M.closure X ∩ I) (M.closure X) - Matroid.IsFlat.mk 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {F : Set α} (subset_of_isBasis_of_isBasis : ∀ ⦃I X : Set α⦄, M.IsBasis I F → M.IsBasis I X → X ⊆ F) (subset_ground : F ⊆ M.E) : M.IsFlat F - Matroid.isFlat_iff 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} (M : Matroid α) (F : Set α) : M.IsFlat F ↔ (∀ ⦃I X : Set α⦄, M.IsBasis I F → M.IsBasis I X → X ⊆ F) ∧ F ⊆ M.E - Matroid.IsBasis.isBasis_of_closure_eq_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X Y I : Set α} (hI : M.IsBasis I X) (hY : I ⊆ Y) (h : M.closure X = M.closure Y) (hYE : Y ⊆ M.E := by aesop_mat) : M.IsBasis I Y - Matroid.Indep.inter_isBasis_iInter 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {ι : Sort u_3} {I : Set α} [Nonempty ι] {X : ι → Set α} (hI : M.Indep I) (h : ∀ (i : ι), M.IsBasis (X i ∩ I) (X i)) : M.IsBasis ((⋂ i, X i) ∩ I) (⋂ i, X i) - Matroid.Indep.inter_isBasis_sInter 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {I : Set α} {Xs : Set (Set α)} (hI : M.Indep I) (hXs : Xs.Nonempty) (h : ∀ X ∈ Xs, M.IsBasis (X ∩ I) X) : M.IsBasis (⋂₀ Xs ∩ I) (⋂₀ Xs) - Matroid.IsBasis.insert_isBasis_insert_of_notMem_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X : Set α} {e : α} {I : Set α} (hIX : M.IsBasis I X) (heI : e ∉ M.closure I) (heE : e ∈ M.E := by aesop_mat) : M.IsBasis (insert e I) (insert e X) - Matroid.IsBasis.isBasis_insert_diff_of_mem_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X : Set α} {e f : α} {B : Set α} (hB : M.IsBasis B X) (he : e ∈ M.closure (insert f B \ {e})) (heB : e ∈ insert f B) (hfX : f ∈ X) : M.IsBasis (insert f B \ {e}) X - Matroid.IsBasis.isBasis_insert_sdiff_of_mem_closure 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {X : Set α} {e f : α} {B : Set α} (hB : M.IsBasis B X) (he : e ∈ M.closure (insert f B \ {e})) (heB : e ∈ insert f B) (hfX : f ∈ X) : M.IsBasis (insert f B \ {e}) X - Matroid.Indep.inter_isBasis_biInter 📋 Mathlib.Combinatorics.Matroid.Closure
{α : Type u_2} {M : Matroid α} {I : Set α} {ι : Type u_4} (hI : M.Indep I) {X : ι → Set α} {A : Set ι} (hA : A.Nonempty) (h : ∀ i ∈ A, M.IsBasis (X i ∩ I) (X i)) : M.IsBasis ((⋂ i ∈ A, X i) ∩ I) (⋂ i ∈ A, X i) - Matroid.IsBasis.finite_of_isRkFinite 📋 Mathlib.Combinatorics.Matroid.Rank.Finite
{α : Type u_1} {M : Matroid α} {X I : Set α} (hI : M.IsBasis I X) : M.IsRkFinite X → I.Finite - Matroid.IsBasis.isRkFinite_of_finite 📋 Mathlib.Combinatorics.Matroid.Rank.Finite
{α : Type u_1} {M : Matroid α} {X I : Set α} (hI : M.IsBasis I X) (hIfin : I.Finite) : M.IsRkFinite X - Matroid.IsRkFinite.finite_of_isBasis 📋 Mathlib.Combinatorics.Matroid.Rank.Finite
{α : Type u_1} {M : Matroid α} {X I : Set α} (h : M.IsRkFinite X) (hI : M.IsBasis I X) : I.Finite - Matroid.IsBasis.finite_iff_isRkFinite 📋 Mathlib.Combinatorics.Matroid.Rank.Finite
{α : Type u_1} {M : Matroid α} {X I : Set α} (hI : M.IsBasis I X) : I.Finite ↔ M.IsRkFinite X - Matroid.isRkFinite_iff 📋 Mathlib.Combinatorics.Matroid.Rank.Finite
{α : Type u_1} {M : Matroid α} {X : Set α} (hX : X ⊆ M.E := by aesop_mat) : M.IsRkFinite X ↔ ∃ I, M.IsBasis I X ∧ I.Finite - Matroid.Indep.subset_finite_isBasis_of_subset_of_isRkFinite 📋 Mathlib.Combinatorics.Matroid.Rank.Finite
{α : Type u_1} {M : Matroid α} {X I : Set α} (hI : M.Indep I) (hIX : I ⊆ X) (hX : M.IsRkFinite X) (hXE : X ⊆ M.E := by aesop_mat) : ∃ J, M.IsBasis J X ∧ I ⊆ J ∧ J.Finite - Matroid.IsCircuit.diff_singleton_isBasis 📋 Mathlib.Combinatorics.Matroid.Circuit
{α : Type u_1} {M : Matroid α} {C : Set α} {e : α} (hC : M.IsCircuit C) (he : e ∈ C) : M.IsBasis (C \ {e}) C - Matroid.IsCircuit.sdiff_singleton_isBasis 📋 Mathlib.Combinatorics.Matroid.Circuit
{α : Type u_1} {M : Matroid α} {C : Set α} {e : α} (hC : M.IsCircuit C) (he : e ∈ C) : M.IsBasis (C \ {e}) C - Matroid.IsCircuit.isBasis_iff_eq_diff_singleton 📋 Mathlib.Combinatorics.Matroid.Circuit
{α : Type u_1} {M : Matroid α} {C I : Set α} (hC : M.IsCircuit C) : M.IsBasis I C ↔ ∃ e ∈ C, I = C \ {e} - Matroid.IsCircuit.isBasis_iff_eq_sdiff_singleton 📋 Mathlib.Combinatorics.Matroid.Circuit
{α : Type u_1} {M : Matroid α} {C I : Set α} (hC : M.IsCircuit C) : M.IsBasis I C ↔ ∃ e ∈ C, I = C \ {e} - Matroid.IsCircuit.isBasis_iff_insert_eq 📋 Mathlib.Combinatorics.Matroid.Circuit
{α : Type u_1} {M : Matroid α} {C I : Set α} (hC : M.IsCircuit C) : M.IsBasis I C ↔ ∃ e ∈ C \ I, C = insert e I - Matroid.isBasis_loops_iff 📋 Mathlib.Combinatorics.Matroid.Loop
{α : Type u_1} {M : Matroid α} {I : Set α} : M.IsBasis I M.loops ↔ I = ∅ - Matroid.IsBasis.inter_coloops_subset 📋 Mathlib.Combinatorics.Matroid.Loop
{α : Type u_1} {M : Matroid α} {X I : Set α} (hIX : M.IsBasis I X) : X ∩ M.coloops ⊆ I - Matroid.isBasis_iff_empty_of_subset_loops 📋 Mathlib.Combinatorics.Matroid.Loop
{α : Type u_1} {M : Matroid α} {X I : Set α} (hX : X ⊆ M.loops) : M.IsBasis I X ↔ I = ∅ - Matroid.IsBasis.eRk_eq_encard 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis I X) : M.eRk X = I.encard - Matroid.IsBasis.encard_eq_eRk 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : I.encard = M.eRk X - Matroid.IsBasis.eRk_eq_eRk 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis I X) : M.eRk I = M.eRk X - Matroid.IsBasis.eRk_eq_eRk_union 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis I X) (Y : Set α) : M.eRk (I ∪ Y) = M.eRk (X ∪ Y) - Matroid.IsBasis.eRk_eq_eRk_insert 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis I X) (e : α) : M.eRk (insert e I) = M.eRk (insert e X) - Matroid.eq_eRk_iff 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {X : Set α} {n : ℕ∞} (hX : X ⊆ M.E := by aesop_mat) : M.eRk X = n ↔ ∃ I, M.IsBasis I X ∧ I.encard = n - Matroid.IsRkFinite.isBasis_of_subset_closure_of_subset_of_encard_le 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hX : M.IsRkFinite X) (hXI : X ⊆ M.closure I) (hIX : I ⊆ X) (hI : I.encard ≤ M.eRk X) : M.IsBasis I X - Matroid.Indep.isBasis_of_eRk_ge 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.Indep I) (hIfin : I.Finite) (hIX : I ⊆ X) (h : M.eRk X ≤ M.eRk I) (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis I X - Matroid.isBasis_iff_indep_encard_eq_of_finite 📋 Mathlib.Combinatorics.Matroid.Rank.ENat
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIfin : I.Finite) (hX : X ⊆ M.E := by aesop_mat) : M.IsBasis I X ↔ I ⊆ X ∧ M.Indep I ∧ I.encard = M.eRk X - Matroid.IsBasis.cardinalMk_le_cRk 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis I X) : Cardinal.mk ↑I ≤ M.cRk X - Matroid.IsBasis.cardinalMk_eq_cRk 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} {I X : Set α} [M.InvariantCardinalRank] (hIX : M.IsBasis I X) : Cardinal.mk ↑I = M.cRk X - Matroid.IsBasis.cardinalMk_eq 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} {I J X : Set α} [M.InvariantCardinalRank] (hIX : M.IsBasis I X) (hJX : M.IsBasis J X) : Cardinal.mk ↑I = Cardinal.mk ↑J - Matroid.Indep.cardinalMk_le_isBasis 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} {I J X : Set α} [M.InvariantCardinalRank] (hI : M.Indep I) (hJ : M.IsBasis J X) (hIX : I ⊆ X) : Cardinal.mk ↑I ≤ Cardinal.mk ↑J - Matroid.InvariantCardinalRank.forall_card_isBasis_diff 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} [self : M.InvariantCardinalRank] ⦃I J X : Set α⦄ : M.IsBasis I X → M.IsBasis J X → Cardinal.mk ↑(I \ J) = Cardinal.mk ↑(J \ I) - Matroid.InvariantCardinalRank.mk 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} (forall_card_isBasis_diff : ∀ ⦃I J X : Set α⦄, M.IsBasis I X → M.IsBasis J X → Cardinal.mk ↑(I \ J) = Cardinal.mk ↑(J \ I)) : M.InvariantCardinalRank - Matroid.IsBasis.cardinalMk_diff_comm 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} {I J X : Set α} [M.InvariantCardinalRank] (hIX : M.IsBasis I X) (hJX : M.IsBasis J X) : Cardinal.mk ↑(I \ J) = Cardinal.mk ↑(J \ I) - Matroid.IsBasis.cardinalMk_sdiff_comm 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} {M : Matroid α} {I J X : Set α} [M.InvariantCardinalRank] (hIX : M.IsBasis I X) (hJX : M.IsBasis J X) : Cardinal.mk ↑(I \ J) = Cardinal.mk ↑(J \ I) - Matroid.invariantCardinalRank_iff 📋 Mathlib.Combinatorics.Matroid.Rank.Cardinal
{α : Type u} (M : Matroid α) : M.InvariantCardinalRank ↔ ∀ ⦃I J X : Set α⦄, M.IsBasis I X → M.IsBasis J X → Cardinal.mk ↑(I \ J) = Cardinal.mk ↑(J \ I) - AlgebraicIndependent.matroid_isBasis_iff_of_subsingleton 📋 Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis
{R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [Subsingleton A] {s t : Set A} : (AlgebraicIndependent.matroid R A).IsBasis s t ↔ s = t - AlgebraicIndependent.matroid_isBasis_iff 📋 Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis
{R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [IsDomain A] {s t : Set A} : (AlgebraicIndependent.matroid R A).IsBasis s t ↔ AlgebraicIndepOn R id s ∧ s ⊆ t ∧ ∀ a ∈ t, IsAlgebraic (↥(Algebra.adjoin R s)) a - AlgebraicIndependent.isAlgebraic_adjoin_iff_of_matroid_isBasis 📋 Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis
{R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [NoZeroDivisors A] {s t : Set A} {a : A} (h : (AlgebraicIndependent.matroid R A).IsBasis s t) : IsAlgebraic (↥(Algebra.adjoin R s)) a ↔ IsAlgebraic (↥(Algebra.adjoin R t)) a - Matroid.IsBasis.of_delete 📋 Mathlib.Combinatorics.Matroid.Minor.Delete
{α : Type u_1} {M : Matroid α} {I D X : Set α} (h : (M.delete D).IsBasis I X) : M.IsBasis I X - Matroid.delete_isBase_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Delete
{α : Type u_1} {M : Matroid α} {B D : Set α} : (M.delete D).IsBase B ↔ M.IsBasis B (M.E \ D) - Matroid.IsBasis.delete 📋 Mathlib.Combinatorics.Matroid.Minor.Delete
{α : Type u_1} {M : Matroid α} {I D X : Set α} (h : M.IsBasis I X) (hX : Disjoint X D) : (M.delete D).IsBasis I X - Matroid.delete_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Delete
{α : Type u_1} {M : Matroid α} {I D X : Set α} : (M.delete D).IsBasis I X ↔ M.IsBasis I X ∧ Disjoint X D - Matroid.IsBasis.diff_subset_loops_contract 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis I X) : X \ I ⊆ (M.contract I).loops - Matroid.IsBasis.sdiff_subset_loops_contract 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I X : Set α} (hIX : M.IsBasis I X) : X \ I ⊆ (M.contract I).loops - Matroid.IsBasis.contract_eq_contract_delete 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) : M.contract X = (M.contract I).delete (X \ I) - Matroid.Indep.union_isBasis_union_of_contract_isBasis 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.Indep I) (hB : (M.contract I).IsBasis J X) : M.IsBasis (J ∪ I) (X ∪ I) - Matroid.IsBasis.contract_isBasis_diff_diff_of_subset 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hIX : M.IsBasis I X) (hJI : J ⊆ I) : (M.contract J).IsBasis (I \ J) (X \ J) - Matroid.IsBasis.contract_isBasis_sdiff_sdiff_of_subset 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hIX : M.IsBasis I X) (hJI : J ⊆ I) : (M.contract J).IsBasis (I \ J) (X \ J) - Matroid.IsBasis.contract_indep_diff_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.IsBasis I X) : (M.contract X).Indep (J \ X) ↔ M.Indep (J \ X ∪ I) - Matroid.IsBasis.contract_indep_sdiff_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.IsBasis I X) : (M.contract X).Indep (J \ X) ↔ M.Indep (J \ X ∪ I) - Matroid.IsBasis.contract_isBasis_of_indep 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (h : M.IsBasis I X) (h_ind : M.Indep (I ∪ J)) : (M.contract J).IsBasis (I \ J) (X \ J) - Matroid.IsBasis.contract_diff_isBasis_diff 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X Y : Set α} (hIX : M.IsBasis I X) (hJY : M.IsBasis J Y) (hIJ : I ⊆ J) : (M.contract I).IsBasis (J \ I) (Y \ X) - Matroid.IsBasis.contract_sdiff_isBasis_sdiff 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X Y : Set α} (hIX : M.IsBasis I X) (hJY : M.IsBasis J Y) (hIJ : I ⊆ J) : (M.contract I).IsBasis (J \ I) (Y \ X) - Matroid.IsBasis.contract_isBasis 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X C : Set α} (h : M.IsBasis I X) (hJC : M.IsBasis J C) (h_ind : M.Indep (I \ C ∪ J)) : (M.contract C).IsBasis (I \ C) (X \ C) - Matroid.IsBasis.contract_isBasis_of_isBasis' 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X C : Set α} (h : M.IsBasis I X) (hJC : M.IsBasis' J C) (h_ind : M.Indep (I \ C ∪ J)) : (M.contract C).IsBasis (I \ C) (X \ C) - Matroid.IsBasis.contract_indep_iff_of_disjoint 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.IsBasis I X) (hdj : Disjoint X J) : (M.contract X).Indep J ↔ M.Indep (J ∪ I) - Matroid.IsBasis.contract_isBasis_of_disjoint_indep 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (h : M.IsBasis I X) (hdj : Disjoint J X) (h_ind : M.Indep (I ∪ J)) : (M.contract J).IsBasis I X - Matroid.IsBasis.contract_dep_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I X : Set α} (hI : M.IsBasis I X) {D : Set α} : (M.contract X).Dep D ↔ M.Dep (D ∪ I) ∧ Disjoint X D - Matroid.IsBasis.contract_indep_iff 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (hI : M.IsBasis I X) : (M.contract X).Indep J ↔ M.Indep (J ∪ I) ∧ Disjoint X J - Matroid.IsBasis.contract_isBasis_of_disjoint 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X C : Set α} (h : M.IsBasis I X) (hJC : M.IsBasis J C) (hdj : Disjoint C X) (h_ind : M.Indep (I ∪ J)) : (M.contract C).IsBasis I X - Matroid.IsBasis.contract_isBasis_union_union 📋 Mathlib.Combinatorics.Matroid.Minor.Contract
{α : Type u_1} {M : Matroid α} {I J X : Set α} (h : M.IsBasis (J ∪ I) (X ∪ I)) (hJI : Disjoint J I) (hXI : Disjoint X I) : (M.contract I).IsBasis J X - Matroid.sum'_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Sum
{α : Type u_1} {ι : Type u_2} {M : ι → Matroid α} {I X : Set (ι × α)} : (Matroid.sum' M).IsBasis I X ↔ ∀ (i : ι), (M i).IsBasis (Prod.mk i ⁻¹' I) (Prod.mk i ⁻¹' X) - Matroid.sigma_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Sum
{ι : Type u_1} {α : ι → Type u_2} {M : (i : ι) → Matroid (α i)} {I X : Set ((i : ι) × α i)} : (Matroid.sigma M).IsBasis I X ↔ ∀ (i : ι), (M i).IsBasis (Sigma.mk i ⁻¹' I) (Sigma.mk i ⁻¹' X) - Matroid.sum_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Sum
{α : Type u} {β : Type v} {M : Matroid α} {N : Matroid β} {I X : Set (α ⊕ β)} : (M.sum N).IsBasis I X ↔ M.IsBasis (Sum.inl ⁻¹' I) (Sum.inl ⁻¹' X) ∧ N.IsBasis (Sum.inr ⁻¹' I) (Sum.inr ⁻¹' X) - Matroid.disjointSigma_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Sum
{α : Type u_1} {ι : Type u_2} {M : ι → Matroid α} {h : Pairwise (Function.onFun Disjoint fun i => (M i).E)} {I X : Set α} : (Matroid.disjointSigma M h).IsBasis I X ↔ (∀ (i : ι), (M i).IsBasis (I ∩ (M i).E) (X ∩ (M i).E)) ∧ I ⊆ X ∧ X ⊆ ⋃ i, (M i).E - Matroid.disjointSum_isBasis_iff 📋 Mathlib.Combinatorics.Matroid.Sum
{α : Type u_1} {M N : Matroid α} {h : Disjoint M.E N.E} {I X : Set α} : (M.disjointSum N h).IsBasis I X ↔ M.IsBasis (I ∩ M.E) (X ∩ M.E) ∧ N.IsBasis (I ∩ N.E) (X ∩ N.E) ∧ I ⊆ X ∧ X ⊆ M.E ∪ N.E
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59