Equations
- Matroid.«term_≂_» = Lean.ParserDescr.trailingNode `Matroid.«term_≂_» 65 65 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≂ ") (Lean.ParserDescr.cat `term 66))
Instances For
@[instance_reducible]
instance Matroid.instEquivLikeIsoElemE {α : Type u_1} {β : Type u_2} {M : Matroid α} {N : Matroid β} :
Equations
- Matroid.Iso.refl = { toEquiv := Equiv.refl ↑M.E, indep_image_iff' := ⋯ }
Instances For
@[simp]
Equations
- Matroid.Iso.ofEq hMN = { toEquiv := Set.equivOfEq ⋯, indep_image_iff' := ⋯ }
Instances For
@[simp]
Equations
- Matroid.empty_iso_empty α β = { toEquiv := Equiv.equivOfIsEmpty ↑(Matroid.emptyOn α).E ↑(Matroid.emptyOn β).E, indep_image_iff' := ⋯ }
Instances For
theorem Matroid.Iso.isBasis_image_iff {α : Type u_1} {β : Type u_2} {M : Matroid α} {N : Matroid β} (e : M ≂ N) {I X : Set ↑M.E} :
M.IsBasis (Subtype.val '' I) (Subtype.val '' X) ↔ N.IsBasis (Subtype.val '' ⇑e '' I) (Subtype.val '' ⇑e '' X)
Equations
- M.isoMapEquiv f = { toEquiv := Equiv.Set.image (⇑f) M.E ⋯, indep_image_iff' := ⋯ }
Instances For
@[simp]
noncomputable def Matroid.isoComapOn {α : Type u_1} {β : Type u_2} (M : Matroid β) (f : α → β) {E : Set α} (hf : Set.BijOn f E M.E) :
Equations
- M.isoComapOn f hf = { toEquiv := Set.BijOn.equiv f hf, indep_image_iff' := ⋯ }
Instances For
noncomputable def Matroid.isoMapSetEmbedding {α : Type u_1} {β : Type u_2} (M : Matroid α) (f : ↑M.E ↪ β) :
Equations
- M.isoMapSetEmbedding f = { toEquiv := Equiv.ofInjective ⇑f ⋯, indep_image_iff' := ⋯ }
Instances For
Equations
- e.dual = Matroid.Iso.ofForallBase (((Set.equivOfEq ⋯).trans ↑e).trans (Set.equivOfEq ⋯)) ⋯
Instances For
def Matroid.Iso.restrict {α : Type u_1} {β : Type u_2} {M : Matroid α} {N : Matroid β} (e : M ≂ N) {R : Set α} {S : Set β} (hR : R ⊆ M.E) (hS : S ⊆ N.E) (hRS : ∀ (x : ↑M.E), ↑(e x) ∈ S ↔ ↑x ∈ R) :
Equations
- e.restrict hR hS hRS = { toEquiv := (↑e).subsetEquivSubset hR hS hRS, indep_image_iff' := ⋯ }
Instances For
def Matroid.isoOfForallImageclosure {α : Type u_1} {M : Matroid α} {β : Type u_3} {N : Matroid β} (e : ↑M.E ≃ ↑N.E) (h :
∀ (X : Set ↑M.E),
N.closure (Subtype.val '' ⇑e '' X) = Subtype.val '' ⇑e '' Subtype.val ⁻¹' M.closure (Subtype.val '' X)) :
If an equivalence between M.E and N.E respects the closure function, it is an isomorphism
Equations
- Matroid.isoOfForallImageclosure e h = { toEquiv := e, indep_image_iff' := ⋯ }
Instances For
@[simp]
theorem Matroid.isoOfForallImageclosure_apply {α : Type u_1} {M : Matroid α} {β : Type u_3} {N : Matroid β} (e : ↑M.E ≃ ↑N.E) (h :
∀ (X : Set ↑M.E),
N.closure (Subtype.val '' ⇑e '' X) = Subtype.val '' ⇑e '' Subtype.val ⁻¹' M.closure (Subtype.val '' X)) (x : ↑M.E) :