theorem Matroid.IsMatching.adj {α : Type u_1} {β : Type u_2} {Adj : α → β → Prop} {f : β → α} {v : β} {I₀ : Set α} {I : Set β} (h : IsMatching Adj f I₀ I) (hv : v ∈ I) :
Adj (f v) v
theorem Matroid.IsMatching.bijOn {α : Type u_1} {β : Type u_2} {Adj : α → β → Prop} {f : β → α} {I₀ : Set α} {I : Set β} (h : IsMatching Adj f I₀ I) :
Set.BijOn f I I₀
def Matroid.adjMap {α : Type u_1} {β : Type u_2} [DecidableEq β] (M : Matroid α) (Adj : α → β → Prop) (E : Set β) :
Matroid β
Given M : Matroid α and a graph H with bipartition (α, β) described by an
adjacency predicate Adj : α → β → Prop,
M.adjMap Adj E is the finitary matroid on β with ground set E
whose finite independent sets are those H-matchable to an independent set of M.
This doesn't require M to be finitary to be well-defined,
but only depends on the collection of finite independent sets of M.
This construction fails to be a matroid if we try to allow infinite sets to be independent;
see the docstring of Data.Matroid.Map.