Loogle!
Result
Found 38 declarations mentioning Matroid.map.
- Matroid.map 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α → β) (hf : Set.InjOn f M.E) : Matroid β - Matroid.map_id 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {M : Matroid α} : M.map id ⋯ = M - Matroid.instFinitaryMap 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} [M.Finitary] {f : α → β} (hf : Set.InjOn f M.E) : (M.map f hf).Finitary - Matroid.instFiniteMap 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} [M.Finite] {f : α → β} (hf : Set.InjOn f M.E) : (M.map f hf).Finite - Matroid.instNonemptyMap 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} [M.Nonempty] {f : α → β} (hf : Set.InjOn f M.E) : (M.map f hf).Nonempty - Matroid.instRankFiniteMap 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} [M.RankFinite] {f : α → β} (hf : Set.InjOn f M.E) : (M.map f hf).RankFinite - Matroid.instRankPosMap 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} [M.RankPos] {f : α → β} (hf : Set.InjOn f M.E) : (M.map f hf).RankPos - Matroid.map_emptyOn 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} (f : α → β) : (Matroid.emptyOn α).map f ⋯ = Matroid.emptyOn β - Matroid.comap_map 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α → β} (hf : Function.Injective f) : (M.map f ⋯).comap f = M - Matroid.map_ground 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α → β) (hf : Set.InjOn f M.E) : (M.map f hf).E = f '' M.E - Matroid.map_dual 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} : (M.map f hf)✶ = M✶.map f hf - Matroid.Indep.map 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {I : Set α} {M : Matroid α} (hI : M.Indep I) (f : α → β) (hf : Set.InjOn f M.E) : (M.map f hf).Indep (f '' I) - Matroid.IsBase.map 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} {B : Set α} (hB : M.IsBase B) {f : α → β} (hf : Set.InjOn f M.E) : (M.map f hf).IsBase (f '' B) - Matroid.map_freeOn 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {E : Set α} (f : α → β) (hf : Set.InjOn f (Matroid.freeOn E).E) : (Matroid.freeOn E).map f hf = Matroid.freeOn (f '' E) - Matroid.map_loopyOn 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {E : Set α} (f : α → β) (hf : Set.InjOn f (Matroid.loopyOn E).E) : (Matroid.loopyOn E).map f hf = Matroid.loopyOn (f '' E) - Matroid.mapEmbedding.eq_1 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α ↪ β) : M.mapEmbedding f = M.map ⇑f ⋯ - Matroid.Indep.exists_bijOn_of_map 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {I : Set β} (hf : Set.InjOn f M.E) (hI : (M.map f hf).Indep I) : ∃ I₀, M.Indep I₀ ∧ Set.BijOn f I₀ I - Matroid.IsBasis.map 📋 Mathlib.Data.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.map_image_indep_iff 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {I : Set α} (hI : I ⊆ M.E) : (M.map f hf).Indep (f '' I) ↔ M.Indep I - Matroid.map_image_isBase_iff 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {B : Set α} (hB : B ⊆ M.E) : (M.map f hf).IsBase (f '' B) ↔ M.IsBase B - Matroid.map_comap 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {N : Matroid β} {f : α → β} (h_range : N.E ⊆ Set.range f) (hf : Set.InjOn f (f ⁻¹' N.E)) : (N.comap f).map f hf = N - Matroid.map_dep_iff 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {D : Set β} : (M.map f hf).Dep D ↔ ∃ D₀, M.Dep D₀ ∧ D = f '' D₀ - Matroid.map_indep_iff 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {f : α → β} {M : Matroid α} {hf : Set.InjOn f M.E} {I : Set β} : (M.map f hf).Indep I ↔ ∃ I₀, M.Indep I₀ ∧ I = f '' I₀ - Matroid.map_isBase_iff 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} (M : Matroid α) (f : α → β) (hf : Set.InjOn f M.E) {B : Set β} : (M.map f hf).IsBase B ↔ ∃ B₀, M.IsBase B₀ ∧ B = f '' B₀ - Matroid.mapEquiv_eq_map 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} {β : Type u_2} {M : Matroid α} (f : α ≃ β) : M.mapEquiv f = M.map ⇑f ⋯ - Matroid.map_isBasis_iff 📋 Mathlib.Data.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.Data.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.map_val_restrictSubtype_eq 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} (M : Matroid α) (X : Set α) : (M.restrictSubtype X).map Subtype.val ⋯ = M.restrict X - Matroid.map_val_restrictSubtype_ground_eq 📋 Mathlib.Data.Matroid.Map
{α : Type u_1} (M : Matroid α) : (M.restrictSubtype M.E).map Subtype.val ⋯ = M - Matroid.map_closure_eq 📋 Mathlib.Data.Matroid.Closure
{α : Type u_2} {β : Type u_3} (M : Matroid α) (f : α → β) (hf : Set.InjOn f M.E) (X : Set β) : (M.map f hf).closure X = f '' M.closure (f ⁻¹' X) - Matroid.map_loops 📋 Mathlib.Data.Matroid.Loop
{α : Type u_1} {β : Type u_2} {M : Matroid α} {f : α → β} {hf : Set.InjOn f M.E} : (M.map f hf).loops = f '' M.loops - Matroid.map_isLoop_iff 📋 Mathlib.Data.Matroid.Loop
{α : Type u_1} {β : Type u_2} {M : Matroid α} {e : α} {f : α → β} {hf : Set.InjOn f M.E} (he : e ∈ M.E := by aesop_mat) : (M.map f hf).IsLoop (f e) ↔ M.IsLoop e - Matroid.eRank_map 📋 Mathlib.Data.Matroid.Rank.ENat
{α : Type u_1} {β : Type u_2} {f : α → β} (M : Matroid α) (hf : Set.InjOn f M.E) : (M.map f hf).eRank = M.eRank - Matroid.eRk_map 📋 Mathlib.Data.Matroid.Rank.ENat
{α : Type u_1} {X : Set α} {β : Type u_2} {f : α → β} (M : Matroid α) (hf : Set.InjOn f M.E) (hX : X ⊆ M.E := by aesop_mat) : (M.map f hf).eRk (f '' X) = M.eRk X - Matroid.invariantCardinalRank_map 📋 Mathlib.Data.Matroid.Rank.Cardinal
{α : Type u} {β : Type v} {f : α → β} (M : Matroid α) [M.InvariantCardinalRank] (hf : Set.InjOn f M.E) : (M.map f hf).InvariantCardinalRank - Matroid.cRk_map_eq 📋 Mathlib.Data.Matroid.Rank.Cardinal
{α β : Type u} {f : α → β} {X : Set β} (M : Matroid α) (hf : Set.InjOn f M.E) : (M.map f hf).cRk X = M.cRk (f ⁻¹' X) - Matroid.cRk_map_image 📋 Mathlib.Data.Matroid.Rank.Cardinal
{α β : Type u} {f : α → β} (M : Matroid α) (hf : Set.InjOn f M.E) (X : Set α) (hX : X ⊆ M.E := by aesop_mat) : (M.map f hf).cRk (f '' X) = M.cRk X - Matroid.cRk_map_image_lift 📋 Mathlib.Data.Matroid.Rank.Cardinal
{α : Type u} {β : Type v} {f : α → β} (M : Matroid α) (hf : Set.InjOn f M.E) (X : Set α) (hX : X ⊆ M.E := by aesop_mat) : Cardinal.lift.{u, v} ((M.map f hf).cRk (f '' X)) = Cardinal.lift.{v, u} (M.cRk X)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. 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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is not the last.
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.
This is Loogle revision 19971e9
serving mathlib revision bce1d65