Loogle!
Result
Found 9 declarations mentioning Set.pi and Set.iUnion.
- Set.pi_iUnion_eq_iInter_pi 📋 Mathlib.Data.Set.Lattice
{α : Type u_1} {π : α → Type u_12} {α' : Type u_13} (s : α' → Set α) (t : (a : α) → Set (π a)) : (⋃ i, s i).pi t = ⋂ i, (s i).pi t - Set.iUnion_univ_pi 📋 Mathlib.Data.Set.Lattice
{α : Type u_1} {π : α → Type u_12} {ι : α → Type u_13} (t : (a : α) → ι a → Set (π a)) : (⋃ x, Set.univ.pi fun a => t a (x a)) = Set.univ.pi fun a => ⋃ j, t a j - Set.pi_diff_pi_subset 📋 Mathlib.Data.Set.Lattice
{α : Type u_1} {π : α → Type u_12} (i : Set α) (s t : (a : α) → Set (π a)) : i.pi s \ i.pi t ⊆ ⋃ a ∈ i, Function.eval a ⁻¹' (s a \ t a) - Set.biUnion_univ_pi 📋 Mathlib.Data.Set.Lattice
{α : Type u_1} {π : α → Type u_12} {ι : α → Type u_13} (s : (a : α) → Set (ι a)) (t : (a : α) → ι a → Set (π a)) : (⋃ x ∈ Set.univ.pi s, Set.univ.pi fun a => t a (x a)) = Set.univ.pi fun a => ⋃ j ∈ s a, t a j - Set.iUnion_univ_pi_of_monotone 📋 Mathlib.Data.Set.Finite.Lattice
{ι : Type u_1} {ι' : Type u_2} [LinearOrder ι'] [Nonempty ι'] [Finite ι] {α : ι → Type u_3} {s : (i : ι) → ι' → Set (α i)} (hs : ∀ (i : ι), Monotone (s i)) : (⋃ j, Set.univ.pi fun i => s i j) = Set.univ.pi fun i => ⋃ j, s i j - Set.iUnion_pi_of_monotone 📋 Mathlib.Data.Set.Finite.Lattice
{ι : Type u_1} {ι' : Type u_2} [LinearOrder ι'] [Nonempty ι'] {α : ι → Type u_3} {I : Set ι} {s : (i : ι) → ι' → Set (α i)} (hI : I.Finite) (hs : ∀ i ∈ I, Monotone (s i)) : (⋃ j, I.pi fun i => s i j) = I.pi fun i => ⋃ j, s i j - Set.Icc_diff_pi_univ_Ioc_subset 📋 Mathlib.Order.Interval.Set.Pi
{ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → LinearOrder (α i)] (x y z : (i : ι) → α i) : (Set.Icc x z \ Set.univ.pi fun i => Set.Ioc (y i) (z i)) ⊆ ⋃ i, Set.Icc x (Function.update z i (y i)) - Set.Icc_diff_pi_univ_Ioo_subset 📋 Mathlib.Order.Interval.Set.Pi
{ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → LinearOrder (α i)] (x y x' y' : (i : ι) → α i) : (Set.Icc x y \ Set.univ.pi fun i => Set.Ioo (x' i) (y' i)) ⊆ (⋃ i, Set.Icc x (Function.update y i (x' i))) ∪ ⋃ i, Set.Icc (Function.update x i (y' i)) y - MeasureTheory.squareCylinders_eq_iUnion_image 📋 Mathlib.MeasureTheory.Constructions.Cylinders
{ι : Type u_2} {α : ι → Type u_1} (C : (i : ι) → Set (Set (α i))) : MeasureTheory.squareCylinders C = ⋃ s, (fun t => (↑s).pi t) '' Set.univ.pi C
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 ?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.
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 6ff4759 serving mathlib revision 519f454