Loogle!
Result
Found 124 declarations mentioning Membership.mem, Set.Elem, Set.preimage, Subtype.val, Set.instMembership and Set. Of these, 49 match your pattern(s).
- Subtype.preimage_coe_compl' π Mathlib.Data.Set.Image
{Ξ± : Type u_1} (s : Set Ξ±) : (fun x => βx) β»ΒΉ' s = β - Subtype.preimage_val_subset_preimage_val_iff π Mathlib.Data.Set.Image
{Ξ± : Type u_1} (s t u : Set Ξ±) : Subtype.val β»ΒΉ' t β Subtype.val β»ΒΉ' u β s β© t β s β© u - Set.image_restrict π Mathlib.Data.Set.Restrict
{Ξ± : Type u_1} {Ξ² : Type u_2} (f : Ξ± β Ξ²) (s t : Set Ξ±) : s.restrict f '' (Subtype.val β»ΒΉ' t) = f '' (t β© s) - Set.image_restrictPreimage π Mathlib.Data.Set.Restrict
{Ξ± : Type u_1} {Ξ² : Type u_2} (s : Set Ξ±) (t : Set Ξ²) (f : Ξ± β Ξ²) : t.restrictPreimage f '' (Subtype.val β»ΒΉ' s) = Subtype.val β»ΒΉ' (f '' s) - IsLowerSet.isUpperSet_preimage_coe π Mathlib.Order.UpperLower.Basic
{Ξ± : Type u_1} [LE Ξ±] {s t : Set Ξ±} (hs : IsLowerSet s) : IsUpperSet (Subtype.val β»ΒΉ' t) β β b β s, β c β t, c β€ b β b β t - IsUpperSet.isLowerSet_preimage_coe π Mathlib.Order.UpperLower.Basic
{Ξ± : Type u_1} [LE Ξ±] {s t : Set Ξ±} (hs : IsUpperSet s) : IsLowerSet (Subtype.val β»ΒΉ' t) β β b β s, β c β t, b β€ c β b β t - Topology.IsCoherentWith.isOpen_of_forall_induced π Mathlib.Topology.Defs.Induced
{X : Type u_1} [tX : TopologicalSpace X] {S : Set (Set X)} (self : Topology.IsCoherentWith S) (u : Set X) : (β s β S, IsOpen (Subtype.val β»ΒΉ' u)) β IsOpen u - Topology.IsCoherentWith.mk π Mathlib.Topology.Defs.Induced
{X : Type u_1} [tX : TopologicalSpace X] {S : Set (Set X)} (isOpen_of_forall_induced : β (u : Set X), (β s β S, IsOpen (Subtype.val β»ΒΉ' u)) β IsOpen u) : Topology.IsCoherentWith S - IsClosed.preimage_val π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} (ht : IsClosed t) : IsClosed (Subtype.val β»ΒΉ' t) - IsOpen.preimage_val π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} (ht : IsOpen t) : IsOpen (Subtype.val β»ΒΉ' t) - IsClosed.inter_preimage_val_iff π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} (hs : IsClosed s) : IsClosed (Subtype.val β»ΒΉ' t) β IsClosed (s β© t) - IsOpen.inter_preimage_val_iff π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} (hs : IsOpen s) : IsOpen (Subtype.val β»ΒΉ' t) β IsOpen (s β© t) - isClosed_preimage_val π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} : IsClosed (Subtype.val β»ΒΉ' t) β s β© closure (s β© t) β t - Topology.IsClosedEmbedding.inclusion π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} (hst : s β t) (hs : IsClosed (Subtype.val β»ΒΉ' s)) : Topology.IsClosedEmbedding (Set.inclusion hst) - Topology.IsOpenEmbedding.inclusion π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} (hst : s β t) (hs : IsOpen (Subtype.val β»ΒΉ' s)) : Topology.IsOpenEmbedding (Set.inclusion hst) - nhdsWithin_subtype_eq_bot_iff π Mathlib.Topology.Constructions
{X : Type u} [TopologicalSpace X] {s t : Set X} {x : βs} : nhdsWithin x (Subtype.val β»ΒΉ' t) = β₯ β nhdsWithin (βx) t β Filter.principal s = β₯ - preimage_coe_mem_nhds_subtype π Mathlib.Topology.ContinuousOn
{Ξ± : Type u_1} [TopologicalSpace Ξ±] {s t : Set Ξ±} {a : βs} : Subtype.val β»ΒΉ' t β nhds a β t β nhdsWithin (βa) s - Set.preimage_val_eq_univ_of_subset π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A B : Set Ξ±} (h : A β B) : Subtype.val β»ΒΉ' B = Set.univ - Set.image_val_preimage_val_subset_self π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A B : Set Ξ±} : Subtype.val '' (Subtype.val β»ΒΉ' B) β B - Set.preimage_val_image_val_eq_self π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A : Set Ξ±} {D : Set βA} : Subtype.val β»ΒΉ' (Subtype.val '' D) = D - Set.preimage_val_iInter π Mathlib.Data.Set.Subset
{ΞΉ : Sort u_1} {Ξ± : Type u_2} {A : Set Ξ±} {s : ΞΉ β Set Ξ±} : Subtype.val β»ΒΉ' β i, s i = β i, Subtype.val β»ΒΉ' s i - Set.preimage_val_sInter_eq_sInter π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A : Set Ξ±} {S : Set (Set Ξ±)} : Subtype.val β»ΒΉ' ββ S = ββ ((fun x => Subtype.val β»ΒΉ' x) '' S) - Set.eq_of_preimage_val_eq_of_subset π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A B C : Set Ξ±} (hB : B β A) (hC : C β A) (h : Subtype.val β»ΒΉ' B = Subtype.val β»ΒΉ' C) : B = C - Set.subset_preimage_val_image_val_iff π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A : Set Ξ±} {D E : Set βA} : D β Subtype.val β»ΒΉ' (Subtype.val '' E) β D β E - Set.preimage_val_sInter π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A : Set Ξ±} {S : Set (Set Ξ±)} : Subtype.val β»ΒΉ' ββ S = ββ {x | β B β S, Subtype.val β»ΒΉ' B = x} - Set.preimage_val_sUnion π Mathlib.Data.Set.Subset
{Ξ± : Type u_2} {A : Set Ξ±} {S : Set (Set Ξ±)} : Subtype.val β»ΒΉ' ββ S = ββ {x | β B β S, Subtype.val β»ΒΉ' B = x} - IsClopen.biUnion_connectedComponentIn π Mathlib.Topology.Connected.Clopen
{X : Type u_3} [TopologicalSpace X] {u v : Set X} (hu : IsClopen (Subtype.val β»ΒΉ' u)) (huvβ : u β v) : u = β x β u, connectedComponentIn v x - isClopen_preimage_val π Mathlib.Topology.Connected.Clopen
{X : Type u_3} [TopologicalSpace X] {u v : Set X} (hu : IsOpen u) (huv : Disjoint (frontier u) v) : IsClopen (Subtype.val β»ΒΉ' u) - Topology.IsCoherentWith.of_isClosed π Mathlib.Topology.Coherent
{X : Type u_1} [TopologicalSpace X] {S : Set (Set X)} (h : β (t : Set X), (β s β S, IsClosed (Subtype.val β»ΒΉ' t)) β IsClosed t) : Topology.IsCoherentWith S - Topology.IsCoherentWith.isClosed_iff π Mathlib.Topology.Coherent
{X : Type u_1} [TopologicalSpace X] {S : Set (Set X)} {t : Set X} (hS : Topology.IsCoherentWith S) : IsClosed t β β s β S, IsClosed (Subtype.val β»ΒΉ' t) - Topology.IsCoherentWith.isOpen_iff π Mathlib.Topology.Coherent
{X : Type u_1} [TopologicalSpace X] {S : Set (Set X)} {t : Set X} (hS : Topology.IsCoherentWith S) : IsOpen t β β s β S, IsOpen (Subtype.val β»ΒΉ' t) - isClosed_preimage_val_coborder π Mathlib.Topology.LocallyClosed
{X : Type u_1} [TopologicalSpace X] {s : Set X} : IsClosed (Subtype.val β»ΒΉ' s) - IsLocallyClosed.isOpen_preimage_val_closure π Mathlib.Topology.LocallyClosed
{X : Type u_1} [TopologicalSpace X] {s : Set X} (hs : IsLocallyClosed s) : IsOpen (Subtype.val β»ΒΉ' s) - isLocallyClosed_tfae π Mathlib.Topology.LocallyClosed
{X : Type u_1} [TopologicalSpace X] (s : Set X) : [IsLocallyClosed s, IsOpen (coborder s), β x β s, β U β nhds x, IsClosed (Subtype.val β»ΒΉ' s), β x β s, β U, x β U β§ IsOpen U β§ U β© closure s β s, IsOpen (Subtype.val β»ΒΉ' s)].TFAE - Topology.IsLocallyConstructible.of_isOpenCover π Mathlib.Topology.Constructible
{X : Type u_2} [TopologicalSpace X] {s : Set X} {ΞΉ : Type u_4} {U : ΞΉ β TopologicalSpace.Opens X} (hU : TopologicalSpace.IsOpenCover U) (H : β (i : ΞΉ), Topology.IsLocallyConstructible (Subtype.val β»ΒΉ' s)) : Topology.IsLocallyConstructible s - Topology.IsLocallyConstructible.iff_of_isOpenCover π Mathlib.Topology.Constructible
{X : Type u_2} [TopologicalSpace X] {s : Set X} {ΞΉ : Type u_4} {U : ΞΉ β TopologicalSpace.Opens X} (hU : TopologicalSpace.IsOpenCover U) : Topology.IsLocallyConstructible s β β (i : ΞΉ), Topology.IsLocallyConstructible (Subtype.val β»ΒΉ' s) - MeasurableSet.image_inclusion' π Mathlib.MeasureTheory.MeasurableSpace.Constructions
{Ξ± : Type u_1} {m : MeasurableSpace Ξ±} {s t : Set Ξ±} (h : s β t) {u : Set βs} (hs : MeasurableSet (Subtype.val β»ΒΉ' s)) (hu : MeasurableSet u) : MeasurableSet (Set.inclusion h '' u) - HasCountableSeparatingOn.subtype_iff π Mathlib.Order.Filter.CountableSeparatingOn
{Ξ± : Type u_1} {p : Set Ξ± β Prop} {t : Set Ξ±} : HasCountableSeparatingOn (βt) (fun u => β v, p v β§ Subtype.val β»ΒΉ' v = u) Set.univ β HasCountableSeparatingOn Ξ± p t - HasCountableSeparatingOn.of_subtype π Mathlib.Order.Filter.CountableSeparatingOn
{Ξ± : Type u_1} {p : Set Ξ± β Prop} {t : Set Ξ±} {q : Set βt β Prop} [h : HasCountableSeparatingOn (βt) q Set.univ] (hpq : β (U : Set βt), q U β β V, p V β§ Subtype.val β»ΒΉ' V = U) : HasCountableSeparatingOn Ξ± p t - AlgebraicGeometry.Scheme.Opens.toSpecΞ_preimage_zeroLocus π Mathlib.AlgebraicGeometry.AffineScheme
{X : AlgebraicGeometry.Scheme} (U : X.Opens) (s : Set β(X.presheaf.obj (Opposite.op U))) : β(CategoryTheory.ConcreteCategory.hom U.toSpecΞ.base) β»ΒΉ' PrimeSpectrum.zeroLocus s = Subtype.val β»ΒΉ' X.zeroLocus s - Measurable.measurableSet_preimage_iff_preimage_val π Mathlib.MeasureTheory.Constructions.Polish.Basic
{X : Type u_3} {Z : Type u_5} [MeasurableSpace X] [StandardBorelSpace X] [MeasurableSpace Z] {f : X β Z} [MeasurableSpace.CountablySeparated β(Set.range f)] (hf : Measurable f) {s : Set Z} : MeasurableSet (f β»ΒΉ' s) β MeasurableSet (Subtype.val β»ΒΉ' s) - compactlyGeneratedSpace_of_isOpen_of_t2 π Mathlib.Topology.Compactness.CompactlyGeneratedSpace
{X : Type u} [TopologicalSpace X] [T2Space X] (h : β (s : Set X), (β (K : Set X), IsCompact K β IsOpen (Subtype.val β»ΒΉ' s)) β IsOpen s) : CompactlyGeneratedSpace X - Matroid.restrictSubtype_inter_indep_iff π Mathlib.Data.Matroid.Map
{Ξ± : Type u_1} {X I : Set Ξ±} {M : Matroid Ξ±} : (M.restrictSubtype X).Indep (Subtype.val β»ΒΉ' I) β M.Indep (X β© I) - Matroid.restrictSubtype_indep_iff_of_subset π Mathlib.Data.Matroid.Map
{Ξ± : Type u_1} {X I : Set Ξ±} {M : Matroid Ξ±} (hIX : I β X) : (M.restrictSubtype X).Indep (Subtype.val β»ΒΉ' I) β M.Indep I - Matroid.mapSetEquiv_indep_iff π Mathlib.Data.Matroid.Map
{Ξ± : Type u_1} {Ξ² : Type u_2} (M : Matroid Ξ±) {E : Set Ξ²} (e : βM.E β βE) {I : Set Ξ²} : (M.mapSetEquiv e).Indep I β M.Indep (Subtype.val '' (βe.symm '' (Subtype.val β»ΒΉ' I))) β§ I β E - Dynamics.coverEntropyInf_restrict_subset π Mathlib.Dynamics.TopologicalEntropy.Semiconj
{X : Type u_1} [UniformSpace X] {T : X β X} {F G : Set X} (hF : F β G) (hG : Set.MapsTo T G G) : Dynamics.coverEntropyInf (Set.MapsTo.restrict T G G hG) (Subtype.val β»ΒΉ' F) = Dynamics.coverEntropyInf T F - Dynamics.coverEntropy_restrict_subset π Mathlib.Dynamics.TopologicalEntropy.Semiconj
{X : Type u_1} [UniformSpace X] {T : X β X} {F G : Set X} (hF : F β G) (hG : Set.MapsTo T G G) : Dynamics.coverEntropy (Set.MapsTo.restrict T G G hG) (Subtype.val β»ΒΉ' F) = Dynamics.coverEntropy T F - Ordinal.accPt_subtype π Mathlib.SetTheory.Ordinal.Topology
{p o : Ordinal.{u_1}} (S : Set Ordinal.{u_1}) (hpo : p < o) : AccPt p (Filter.principal S) β AccPt β¨p, hpoβ© (Filter.principal (Subtype.val β»ΒΉ' S)) - Topology.image_snd_preimageImageRestrict π Mathlib.Topology.IsClosedRestrict
{ΞΉ : Type u_1} {Ξ± : ΞΉ β Type u_2} {s : Set ((i : ΞΉ) β Ξ± i)} {S : Set ΞΉ} [(i : ΞΉ) β TopologicalSpace (Ξ± i)] : Prod.snd '' (β(Homeomorph.preimageImageRestrict Ξ± S s) '' ((fun x => βx) β»ΒΉ' s)) = S.restrict '' s
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 40fea08