Loogle!
Result
Found 121 declarations mentioning MulAction.orbitRel.
- MulAction.orbitRel 📋 Mathlib.GroupTheory.GroupAction.Defs
(G : Type u_1) (α : Type u_2) [Group G] [MulAction G α] : Setoid α - MulAction.orbitRel.Quotient.mem_orbit 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {a : α} {x : MulAction.orbitRel.Quotient G α} : a ∈ x.orbit ↔ Quotient.mk'' a = x - MulAction.orbitRel.Quotient.orbit_mk 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] (a : α) : MulAction.orbitRel.Quotient.orbit (Quotient.mk'' a) = MulAction.orbit G a - MulAction.orbitRel_apply 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {a b : α} : (MulAction.orbitRel G α) a b ↔ a ∈ MulAction.orbit G b - MulAction.selfEquivSigmaOrbits 📋 Mathlib.GroupTheory.GroupAction.Defs
(G : Type u_1) (α : Type u_2) [Group G] [MulAction G α] : α ≃ (ω : MulAction.orbitRel.Quotient G α) × ↑(MulAction.orbit G (Quotient.out ω)) - MulAction.orbitRel.Quotient.quotient_smul_eq 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {g : G} {a : α} : ⟦g • a⟧ = ⟦a⟧ - MulAction.orbitRel.Quotient.orbit_eq_orbit_out 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] (x : MulAction.orbitRel.Quotient G α) {φ : MulAction.orbitRel.Quotient G α → α} (hφ : Function.RightInverse φ Quotient.mk') : x.orbit = MulAction.orbit G (φ x) - MulAction.quotient_preimage_image_eq_union_mul 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] (U : Set α) : Quotient.mk' ⁻¹' Quotient.mk' '' U = ⋃ g, (fun x => g • x) '' U - MulAction.image_inter_image_iff 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] (U V : Set α) : Quotient.mk' '' U ∩ Quotient.mk' '' V = ∅ ↔ ∀ x ∈ U, ∀ (g : G), g • x ∉ V - MulAction.disjoint_image_image_iff 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {U V : Set α} : Disjoint (Quotient.mk' '' U) (Quotient.mk' '' V) ↔ ∀ x ∈ U, ∀ (g : G), g • x ∉ V - MulAction.orbitRel.quotient_eq_of_quotient_subgroup_eq 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {H : Subgroup G} {a b : α} (h : ⟦a⟧ = ⟦b⟧) : ⟦a⟧ = ⟦b⟧ - MulAction.orbitRel.quotient_eq_of_quotient_subgroup_eq' 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {H : Subgroup G} {a b : α} (h : Quotient.mk'' a = Quotient.mk'' b) : Quotient.mk'' a = Quotient.mk'' b - MulAction.orbitRel.Quotient.subgroup_quotient_eq_iff 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {H : Subgroup G} {x : MulAction.orbitRel.Quotient G α} {a b : ↑x.orbit} : ⟦a⟧ = ⟦b⟧ ↔ ⟦↑a⟧ = ⟦↑b⟧ - MulAction.orbitRel.Quotient.mem_subgroup_orbit_iff' 📋 Mathlib.GroupTheory.GroupAction.Defs
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {H : Subgroup G} {x : MulAction.orbitRel.Quotient G α} {a b : ↑x.orbit} {c : α} (h : ⟦a⟧ = ⟦b⟧) : ↑a ∈ MulAction.orbit (↥H) c ↔ ↑b ∈ MulAction.orbit (↥H) c - ConjAct.orbitRel_conjAct 📋 Mathlib.GroupTheory.GroupAction.ConjAct
{G : Type u_3} [Group G] : ⇑(MulAction.orbitRel (ConjAct G) G) = IsConj - Units.orbitRel_nonZero_iff 📋 Mathlib.GroupTheory.GroupAction.SubMulAction
(R : Type u_1) (M : Type u_2) [Monoid R] [AddCommMonoid M] [DistribMulAction R M] (x y : { v // v ≠ 0 }) : (MulAction.orbitRel Rˣ { v // v ≠ 0 }) x y ↔ (MulAction.orbitRel Rˣ M) ↑x ↑y - SubMulAction.orbitRel_of_subMul 📋 Mathlib.GroupTheory.GroupAction.SubMulAction
{R : Type u} {M : Type v} [Group R] [MulAction R M] (p : SubMulAction R M) : MulAction.orbitRel R ↥p = Setoid.comap Subtype.val (MulAction.orbitRel R M) - MulAction.orbitRel_le_fst 📋 Mathlib.GroupTheory.GroupAction.Basic
(G : Type u_1) (α : Type u_2) (β : Type u_3) [Group G] [MulAction G α] [MulAction G β] : MulAction.orbitRel G (α × β) ≤ Setoid.comap Prod.fst (MulAction.orbitRel G α) - MulAction.orbitRel_le_snd 📋 Mathlib.GroupTheory.GroupAction.Basic
(G : Type u_1) (α : Type u_2) (β : Type u_3) [Group G] [MulAction G α] [MulAction G β] : MulAction.orbitRel G (α × β) ≤ Setoid.comap Prod.snd (MulAction.orbitRel G β) - MulAction.orbitRel_subgroup_le 📋 Mathlib.GroupTheory.GroupAction.Basic
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] (H : Subgroup G) : MulAction.orbitRel (↥H) α ≤ MulAction.orbitRel G α - MulAction.stabilizerEquivStabilizerOfOrbitRel 📋 Mathlib.GroupTheory.GroupAction.Basic
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] {a b : α} (h : (MulAction.orbitRel G α) a b) : ↥(MulAction.stabilizer G a) ≃* ↥(MulAction.stabilizer G b) - MulAction.orbitRel_subgroupOf 📋 Mathlib.GroupTheory.GroupAction.Basic
{G : Type u_1} {α : Type u_2} [Group G] [MulAction G α] (H K : Subgroup G) : MulAction.orbitRel (↥(H.subgroupOf K)) α = MulAction.orbitRel (↥(H ⊓ K)) α - MulAction.sigmaFixedByEquivOrbitsProdGroup 📋 Mathlib.GroupTheory.GroupAction.Quotient
(G : Type u) (X : Type v) [Group G] [MulAction G X] : (g : G) × ↑(MulAction.fixedBy X g) ≃ Quotient (MulAction.orbitRel G X) × G - MulAction.selfEquivOrbitsQuotientProd 📋 Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u} {X : Type v} [Group G] [MulAction G X] (h : ∀ (b : X), MulAction.stabilizer G b = ⊥) : X ≃ Quotient (MulAction.orbitRel G X) × G - MulAction.selfEquivSigmaOrbitsQuotientStabilizer 📋 Mathlib.GroupTheory.GroupAction.Quotient
(G : Type u) (X : Type v) [Group G] [MulAction G X] : X ≃ (ω : Quotient (MulAction.orbitRel G X)) × G ⧸ MulAction.stabilizer G ω.out - MulAction.selfEquivOrbitsQuotientProd' 📋 Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u} {X : Type v} [Group G] [MulAction G X] {φ : Quotient (MulAction.orbitRel G X) → X} (hφ : Function.LeftInverse Quotient.mk'' φ) (h : ∀ (b : X), MulAction.stabilizer G b = ⊥) : X ≃ Quotient (MulAction.orbitRel G X) × G - MulAction.selfEquivSigmaOrbitsQuotientStabilizer' 📋 Mathlib.GroupTheory.GroupAction.Quotient
(G : Type u) (X : Type v) [Group G] [MulAction G X] {φ : Quotient (MulAction.orbitRel G X) → X} (hφ : Function.LeftInverse Quotient.mk'' φ) : X ≃ (ω : Quotient (MulAction.orbitRel G X)) × G ⧸ MulAction.stabilizer G (φ ω) - MulAction.sum_card_fixedBy_eq_card_orbits_mul_card_group 📋 Mathlib.GroupTheory.GroupAction.Quotient
(G : Type u) (X : Type v) [Group G] [MulAction G X] [Fintype G] [(g : G) → Fintype ↑(MulAction.fixedBy X g)] [Fintype (Quotient (MulAction.orbitRel G X))] : ∑ g, Fintype.card ↑(MulAction.fixedBy X g) = Fintype.card (Quotient (MulAction.orbitRel G X)) * Fintype.card G - MulAction.equivSubgroupOrbits 📋 Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u} (X : Type v) [Group G] [MulAction G X] (H : Subgroup G) : MulAction.orbitRel.Quotient (↥H) X ≃ (ω : Quotient (MulAction.orbitRel G X)) × MulAction.orbitRel.Quotient ↥H ↑(MulAction.orbitRel.Quotient.orbit ω) - MulAction.equivSubgroupOrbitsSetoidComap 📋 Mathlib.GroupTheory.GroupAction.Quotient
{G : Type u} {X : Type v} [Group G] [MulAction G X] (H : Subgroup G) (ω : Quotient (MulAction.orbitRel G X)) : MulAction.orbitRel.Quotient ↥H ↑(MulAction.orbitRel.Quotient.orbit ω) ≃ Quotient (Setoid.comap Subtype.val (MulAction.orbitRel (↥H) X)) - Subgroup.quotientEquivSigmaZMod 📋 Mathlib.Data.ZMod.QuotientGroup
{G : Type u_2} [Group G] (H : Subgroup G) (g : G) : G ⧸ H ≃ (q : MulAction.orbitRel.Quotient (↥(Subgroup.zpowers g)) (G ⧸ H)) × ZMod (Function.minimalPeriod (fun x => g • x) (Quotient.out q)) - Subgroup.index_eq_sum_minimalPeriod 📋 Mathlib.Data.ZMod.QuotientGroup
{G : Type u_2} [Group G] (H : Subgroup G) (g : G) [Finite (G ⧸ H)] [Fintype (Quotient (MulAction.orbitRel (↥(Subgroup.zpowers g)) (G ⧸ H)))] : H.index = ∑ q, Function.minimalPeriod (fun x => g • x) q.out - Subgroup.quotientEquivSigmaZMod_symm_apply 📋 Mathlib.Data.ZMod.QuotientGroup
{G : Type u_2} [Group G] (H : Subgroup G) (g : G) (q : MulAction.orbitRel.Quotient (↥(Subgroup.zpowers g)) (G ⧸ H)) (k : ZMod (Function.minimalPeriod (fun x => g • x) (Quotient.out q))) : (H.quotientEquivSigmaZMod g).symm ⟨q, k⟩ = g ^ k.cast • Quotient.out q - Subgroup.quotientEquivSigmaZMod_apply 📋 Mathlib.Data.ZMod.QuotientGroup
{G : Type u_2} [Group G] (H : Subgroup G) (g : G) (q : MulAction.orbitRel.Quotient (↥(Subgroup.zpowers g)) (G ⧸ H)) (k : ℤ) : (H.quotientEquivSigmaZMod g) (g ^ k • Quotient.out q) = ⟨q, ↑k⟩ - ContinuousConstSMul.secondCountableTopology 📋 Mathlib.Topology.Algebra.ConstMulAction
{Γ : Type u_4} [Group Γ] {T : Type u_5} [TopologicalSpace T] [MulAction Γ T] [SecondCountableTopology T] [ContinuousConstSMul Γ T] : SecondCountableTopology (Quotient (MulAction.orbitRel Γ T)) - isOpenMap_quotient_mk'_mul 📋 Mathlib.Topology.Algebra.ConstMulAction
{Γ : Type u_4} [Group Γ] {T : Type u_5} [TopologicalSpace T] [MulAction Γ T] [ContinuousConstSMul Γ T] : IsOpenMap Quotient.mk' - MulAction.isOpenQuotientMap_quotientMk 📋 Mathlib.Topology.Algebra.ConstMulAction
{Γ : Type u_4} [Group Γ] {T : Type u_5} [TopologicalSpace T] [MulAction Γ T] [ContinuousConstSMul Γ T] : IsOpenQuotientMap (Quotient.mk (MulAction.orbitRel Γ T)) - t2Space_of_properlyDiscontinuousSMul_of_t2Space 📋 Mathlib.Topology.Algebra.ConstMulAction
{Γ : Type u_4} [Group Γ] {T : Type u_5} [TopologicalSpace T] [MulAction Γ T] [T2Space T] [LocallyCompactSpace T] [ContinuousConstSMul Γ T] [ProperlyDiscontinuousSMul Γ T] : T2Space (Quotient (MulAction.orbitRel Γ T)) - MulAction.isClosedMap_quotient 📋 Mathlib.Topology.Algebra.Group.Pointwise
{α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Group α] [MulAction α β] [ContinuousInv α] [ContinuousSMul α β] [CompactSpace α] : IsClosedMap Quotient.mk' - MulAction.automorphize 📋 Mathlib.Topology.Algebra.InfiniteSum.Module
{α : Type u_1} {β : Type u_2} {M : Type u_10} [TopologicalSpace M] [AddCommMonoid M] [Group α] [MulAction α β] (f : β → M) : Quotient (MulAction.orbitRel α β) → M - MulAction.automorphize_smul_left 📋 Mathlib.Topology.Algebra.InfiniteSum.Module
{α : Type u_1} {β : Type u_2} {M : Type u_10} [TopologicalSpace M] [AddCommMonoid M] [T2Space M] {R : Type u_11} [DivisionRing R] [Module R M] [ContinuousConstSMul R M] [Group α] [MulAction α β] (f : β → M) (g : Quotient (MulAction.orbitRel α β) → R) : MulAction.automorphize (g ∘ Quotient.mk' • f) = g • MulAction.automorphize f - MeasureTheory.QuotientMeasureEqMeasurePreimage 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] (ν : MeasureTheory.Measure α := by volume_tac) (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) : Prop - MeasureTheory.IsFundamentalDomain.measurePreserving_quotient_mk 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} {𝓕 : Set α} (h𝓕 : MeasureTheory.IsFundamentalDomain G 𝓕 ν) (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] : MeasureTheory.MeasurePreserving (Quotient.mk (MulAction.orbitRel G α)) (ν.restrict 𝓕) μ - MeasureTheory.QuotientMeasureEqMeasurePreimage.unique 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} [hasFun : MeasureTheory.HasFundamentalDomain G α ν] (μ μ' : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ'] : μ = μ' - MeasureTheory.IsFundamentalDomain.projection_respects_measure 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [i : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] {t : Set α} (fund_dom_t : MeasureTheory.IsFundamentalDomain G t ν) : μ = MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (ν.restrict t) - MeasureTheory.QuotientMeasureEqMeasurePreimage.mk 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : autoParam (MeasureTheory.Measure α) MeasureTheory.QuotientMeasureEqMeasurePreimage._auto_1} {μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))} (projection_respects_measure' : ∀ (t : Set α), MeasureTheory.IsFundamentalDomain G t ν → μ = MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (ν.restrict t)) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ - MeasureTheory.QuotientMeasureEqMeasurePreimage.projection_respects_measure' 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} {inst✝ : Group G} {inst✝¹ : MulAction G α} {inst✝² : MeasurableSpace α} {ν : autoParam (MeasureTheory.Measure α) MeasureTheory.QuotientMeasureEqMeasurePreimage._auto_1} {μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))} [self : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] (t : Set α) : MeasureTheory.IsFundamentalDomain G t ν → μ = MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (ν.restrict t) - MeasureTheory.IsFundamentalDomain.quotientMeasureEqMeasurePreimage_quotientMeasure 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} [MeasureTheory.SMulInvariantMeasure G α ν] [Countable G] [MeasurableConstSMul G α] {s : Set α} (fund_dom_s : MeasureTheory.IsFundamentalDomain G s ν) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν (MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (ν.restrict s)) - MeasureTheory.QuotientMeasureEqMeasurePreimage.sigmaFiniteQuotient 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} [MeasureTheory.SMulInvariantMeasure G α ν] [Countable G] [MeasurableConstSMul G α] [i : MeasureTheory.SigmaFinite ν] [i' : MeasureTheory.HasFundamentalDomain G α ν] (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] : MeasureTheory.SigmaFinite μ - MeasureTheory.QuotientMeasureEqMeasurePreimage.covolume_ne_top 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} [MeasureTheory.SMulInvariantMeasure G α ν] [Countable G] [MeasurableConstSMul G α] (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] [MeasureTheory.IsFiniteMeasure μ] : MeasureTheory.covolume G α ν < ⊤ - MeasureTheory.instSigmaFiniteQuotientOrbitRelOfHasFundamentalDomainOfQuotientMeasureEqMeasurePreimageVolume 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasureTheory.MeasureSpace α] [Countable G] [MeasureTheory.SMulInvariantMeasure G α MeasureTheory.volume] [MeasurableConstSMul G α] [MeasureTheory.SigmaFinite MeasureTheory.volume] [MeasureTheory.HasFundamentalDomain G α MeasureTheory.volume] (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [MeasureTheory.QuotientMeasureEqMeasurePreimage MeasureTheory.volume μ] : MeasureTheory.SigmaFinite μ - MeasureTheory.measure_map_restrict_apply 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] (μ : MeasureTheory.Measure α) (s : Set α) {U : Set (Quotient (MulAction.orbitRel G α))} (meas_U : MeasurableSet U) : (MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (μ.restrict s)) U = μ (Quotient.mk (MulAction.orbitRel G α) ⁻¹' U ∩ s) - MeasureTheory.IsFundamentalDomain.quotientMeasureEqMeasurePreimage 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} [MeasureTheory.SMulInvariantMeasure G α ν] [Countable G] [MeasurableConstSMul G α] {μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))} {s : Set α} (fund_dom_s : MeasureTheory.IsFundamentalDomain G s ν) (h : μ = MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (ν.restrict s)) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ - MeasureTheory.QuotientMeasureEqMeasurePreimage.isFiniteMeasure_quotient 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} [MeasureTheory.SMulInvariantMeasure G α ν] [Countable G] [MeasurableConstSMul G α] (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] [hasFun : MeasureTheory.HasFundamentalDomain G α ν] (h : MeasureTheory.covolume G α ν ≠ ⊤) : MeasureTheory.IsFiniteMeasure μ - MeasureTheory.IsFundamentalDomain.quotientMeasureEqMeasurePreimage_of_zero 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} [MeasureTheory.SMulInvariantMeasure G α ν] [Countable G] [MeasurableConstSMul G α] {s : Set α} (fund_dom_s : MeasureTheory.IsFundamentalDomain G s ν) (vol_s : ν s = 0) : MeasureTheory.QuotientMeasureEqMeasurePreimage ν 0 - MeasureTheory.IsFundamentalDomain.projection_respects_measure_apply 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] {ν : MeasureTheory.Measure α} (μ : MeasureTheory.Measure (Quotient (MulAction.orbitRel G α))) [i : MeasureTheory.QuotientMeasureEqMeasurePreimage ν μ] {t : Set α} (fund_dom_t : MeasureTheory.IsFundamentalDomain G t ν) {U : Set (Quotient (MulAction.orbitRel G α))} (meas_U : MeasurableSet U) : μ U = ν (Quotient.mk (MulAction.orbitRel G α) ⁻¹' U ∩ t) - MeasureTheory.IsFundamentalDomain.quotientMeasure_eq 📋 Mathlib.MeasureTheory.Group.FundamentalDomain
{G : Type u_1} {α : Type u_3} [Group G] [MulAction G α] [MeasurableSpace α] (μ : MeasureTheory.Measure α) [Countable G] {s t : Set α} [MeasureTheory.SMulInvariantMeasure G α μ] [MeasurableConstSMul G α] (fund_dom_s : MeasureTheory.IsFundamentalDomain G s μ) (fund_dom_t : MeasureTheory.IsFundamentalDomain G t μ) : MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (μ.restrict s) = MeasureTheory.Measure.map (Quotient.mk (MulAction.orbitRel G α)) (μ.restrict t) - WeierstrassCurve.Jacobian.nonsingularLift_iff 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} (P : Fin 3 → R) : W'.NonsingularLift ⟦P⟧ ↔ W'.Nonsingular P - WeierstrassCurve.Jacobian.nonsingularLift_some 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} (a b : R) : W'.NonsingularLift ⟦![a, b, 1]⟧ ↔ W'.toAffine.Nonsingular a b - WeierstrassCurve.Jacobian.nonsingularLift_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} [Nontrivial R] : W'.NonsingularLift ⟦![1, 1, 0]⟧ - WeierstrassCurve.Jacobian.smul_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Basic
{R : Type r} [CommRing R] (P : Fin 3 → R) {u : R} (hu : IsUnit u) : ⟦u • P⟧ = ⟦P⟧ - WeierstrassCurve.Jacobian.negMap_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} (P : Fin 3 → R) : W'.negMap ⟦P⟧ = ⟦W'.neg P⟧ - WeierstrassCurve.Jacobian.addMap_of_Z_eq_zero_left 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 → F} {Q : WeierstrassCurve.Jacobian.PointClass F} (hP : W.Nonsingular P) (hQ : W.NonsingularLift Q) (hPz : P 2 = 0) : W.addMap ⟦P⟧ Q = Q - WeierstrassCurve.Jacobian.addMap_of_Z_eq_zero_right 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : WeierstrassCurve.Jacobian.PointClass F} {Q : Fin 3 → F} (hP : W.NonsingularLift P) (hQ : W.Nonsingular Q) (hQz : Q 2 = 0) : W.addMap P ⟦Q⟧ = P - WeierstrassCurve.Jacobian.Point.zero_def 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} [Nontrivial R] : 0 = { point := ⟦![1, 1, 0]⟧, nonsingular := ⋯ } - WeierstrassCurve.Jacobian.Point.zero_point 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} [Nontrivial R] : WeierstrassCurve.Jacobian.Point.point 0 = ⟦![1, 1, 0]⟧ - WeierstrassCurve.Jacobian.Point.toAffineLift_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 → F} (hP : W.NonsingularLift ⟦P⟧) : { point := ⟦P⟧, nonsingular := hP }.toAffineLift = WeierstrassCurve.Jacobian.Point.toAffine W P - WeierstrassCurve.Jacobian.addMap_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} (P Q : Fin 3 → R) : W'.addMap ⟦P⟧ ⟦Q⟧ = ⟦W'.add P Q⟧ - WeierstrassCurve.Jacobian.Point.mk_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} [Nontrivial R] {X Y : R} (h : W'.NonsingularLift ⟦![X, Y, 1]⟧) : { point := ⟦![X, Y, 1]⟧, nonsingular := h } ≠ 0 - WeierstrassCurve.Jacobian.Point.toAffineLift_of_Z_eq_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 → F} (hP : W.NonsingularLift ⟦P⟧) (hPz : P 2 = 0) : { point := ⟦P⟧, nonsingular := hP }.toAffineLift = 0 - WeierstrassCurve.Jacobian.Point.fromAffine_some 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Jacobian R} [Nontrivial R] {X Y : R} (h : W'.toAffine.Nonsingular X Y) : WeierstrassCurve.Jacobian.Point.fromAffine (WeierstrassCurve.Affine.Point.some X Y h) = { point := ⟦![X, Y, 1]⟧, nonsingular := ⋯ } - WeierstrassCurve.Jacobian.negMap_of_Z_eq_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 → F} (hP : W.Nonsingular P) (hPz : P 2 = 0) : W.negMap ⟦P⟧ = ⟦![1, 1, 0]⟧ - WeierstrassCurve.Jacobian.Point.toAffineLift_some 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {X Y : F} (h : W.NonsingularLift ⟦![X, Y, 1]⟧) : { point := ⟦![X, Y, 1]⟧, nonsingular := h }.toAffineLift = WeierstrassCurve.Affine.Point.some X Y ⋯ - WeierstrassCurve.Jacobian.negMap_of_Z_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 → F} (hPz : P 2 ≠ 0) : W.negMap ⟦P⟧ = ⟦![P 0 / P 2 ^ 2, W.toAffine.negY (P 0 / P 2 ^ 2) (P 1 / P 2 ^ 3), 1]⟧ - WeierstrassCurve.Jacobian.Point.toAffineLift_of_Z_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P : Fin 3 → F} {hP : W.NonsingularLift ⟦P⟧} (hPz : P 2 ≠ 0) : { point := ⟦P⟧, nonsingular := hP }.toAffineLift = WeierstrassCurve.Affine.Point.some (P 0 / P 2 ^ 2) (P 1 / P 2 ^ 3) ⋯ - WeierstrassCurve.Jacobian.addMap_of_Y_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} {P Q : Fin 3 → F} (hP : W.Nonsingular P) (hQ : W.Equation Q) (hPz : P 2 ≠ 0) (hQz : Q 2 ≠ 0) (hx : P 0 * Q 2 ^ 2 = Q 0 * P 2 ^ 2) (hy' : P 1 * Q 2 ^ 3 = W.negY Q * P 2 ^ 3) : W.addMap ⟦P⟧ ⟦Q⟧ = ⟦![1, 1, 0]⟧ - WeierstrassCurve.Jacobian.addMap_of_Z_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Jacobian.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Jacobian F} [DecidableEq F] {P Q : Fin 3 → F} (hP : W.Equation P) (hQ : W.Equation Q) (hPz : P 2 ≠ 0) (hQz : Q 2 ≠ 0) (hxy : ¬(P 0 * Q 2 ^ 2 = Q 0 * P 2 ^ 2 ∧ P 1 * Q 2 ^ 3 = W.negY Q * P 2 ^ 3)) : W.addMap ⟦P⟧ ⟦Q⟧ = ⟦![W.toAffine.addX (P 0 / P 2 ^ 2) (Q 0 / Q 2 ^ 2) (W.toAffine.slope (P 0 / P 2 ^ 2) (Q 0 / Q 2 ^ 2) (P 1 / P 2 ^ 3) (Q 1 / Q 2 ^ 3)), W.toAffine.addY (P 0 / P 2 ^ 2) (Q 0 / Q 2 ^ 2) (P 1 / P 2 ^ 3) (W.toAffine.slope (P 0 / P 2 ^ 2) (Q 0 / Q 2 ^ 2) (P 1 / P 2 ^ 3) (Q 1 / Q 2 ^ 3)), 1]⟧ - WeierstrassCurve.Projective.nonsingularLift_iff 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} (P : Fin 3 → R) : W'.NonsingularLift ⟦P⟧ ↔ W'.Nonsingular P - WeierstrassCurve.Projective.nonsingularLift_some 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} (a b : R) : W'.NonsingularLift ⟦![a, b, 1]⟧ ↔ W'.toAffine.Nonsingular a b - WeierstrassCurve.Projective.nonsingularLift_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} [Nontrivial R] : W'.NonsingularLift ⟦![0, 1, 0]⟧ - WeierstrassCurve.Projective.smul_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Basic
{R : Type r} [CommRing R] (P : Fin 3 → R) {u : R} (hu : IsUnit u) : ⟦u • P⟧ = ⟦P⟧ - WeierstrassCurve.Projective.addMap_of_Z_eq_zero_left 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 → F} {Q : WeierstrassCurve.Projective.PointClass F} (hP : W.Nonsingular P) (hQ : W.NonsingularLift Q) (hPz : P 2 = 0) : W.addMap ⟦P⟧ Q = Q - WeierstrassCurve.Projective.addMap_of_Z_eq_zero_right 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : WeierstrassCurve.Projective.PointClass F} {Q : Fin 3 → F} (hP : W.NonsingularLift P) (hQ : W.Nonsingular Q) (hQz : Q 2 = 0) : W.addMap P ⟦Q⟧ = P - WeierstrassCurve.Projective.Point.zero_def 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} [Nontrivial R] : 0 = { point := ⟦![0, 1, 0]⟧, nonsingular := ⋯ } - WeierstrassCurve.Projective.Point.zero_point 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} [Nontrivial R] : WeierstrassCurve.Projective.Point.point 0 = ⟦![0, 1, 0]⟧ - WeierstrassCurve.Projective.negMap_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} (P : Fin 3 → R) : W'.negMap ⟦P⟧ = ⟦W'.neg P⟧ - WeierstrassCurve.Projective.Point.toAffineLift_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 → F} (hP : W.NonsingularLift ⟦P⟧) : { point := ⟦P⟧, nonsingular := hP }.toAffineLift = WeierstrassCurve.Projective.Point.toAffine W P - WeierstrassCurve.Projective.Point.mk_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} [Nontrivial R] {X Y : R} (h : W'.NonsingularLift ⟦![X, Y, 1]⟧) : { point := ⟦![X, Y, 1]⟧, nonsingular := h } ≠ 0 - WeierstrassCurve.Projective.addMap_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} (P Q : Fin 3 → R) : W'.addMap ⟦P⟧ ⟦Q⟧ = ⟦W'.add P Q⟧ - WeierstrassCurve.Projective.Point.toAffineLift_of_Z_eq_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 → F} (hP : W.NonsingularLift ⟦P⟧) (hPz : P 2 = 0) : { point := ⟦P⟧, nonsingular := hP }.toAffineLift = 0 - WeierstrassCurve.Projective.Point.fromAffine_some 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{R : Type r} [CommRing R] {W' : WeierstrassCurve.Projective R} [Nontrivial R] {X Y : R} (h : W'.toAffine.Nonsingular X Y) : WeierstrassCurve.Projective.Point.fromAffine (WeierstrassCurve.Affine.Point.some X Y h) = { point := ⟦![X, Y, 1]⟧, nonsingular := ⋯ } - WeierstrassCurve.Projective.negMap_of_Z_eq_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 → F} (hP : W.Nonsingular P) (hPz : P 2 = 0) : W.negMap ⟦P⟧ = ⟦![0, 1, 0]⟧ - WeierstrassCurve.Projective.Point.toAffineLift_some 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {X Y : F} (h : W.NonsingularLift ⟦![X, Y, 1]⟧) : { point := ⟦![X, Y, 1]⟧, nonsingular := h }.toAffineLift = WeierstrassCurve.Affine.Point.some X Y ⋯ - WeierstrassCurve.Projective.negMap_of_Z_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 → F} (hPz : P 2 ≠ 0) : W.negMap ⟦P⟧ = ⟦![P 0 / P 2, W.toAffine.negY (P 0 / P 2) (P 1 / P 2), 1]⟧ - WeierstrassCurve.Projective.Point.toAffineLift_of_Z_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P : Fin 3 → F} {hP : W.NonsingularLift ⟦P⟧} (hPz : P 2 ≠ 0) : { point := ⟦P⟧, nonsingular := hP }.toAffineLift = WeierstrassCurve.Affine.Point.some (P 0 / P 2) (P 1 / P 2) ⋯ - WeierstrassCurve.Projective.addMap_of_Y_eq 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} {P Q : Fin 3 → F} (hP : W.Nonsingular P) (hQ : W.Equation Q) (hPz : P 2 ≠ 0) (hQz : Q 2 ≠ 0) (hx : P 0 * Q 2 = Q 0 * P 2) (hy' : P 1 * Q 2 = W.negY Q * P 2) : W.addMap ⟦P⟧ ⟦Q⟧ = ⟦![0, 1, 0]⟧ - WeierstrassCurve.Projective.addMap_of_Z_ne_zero 📋 Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Point
{F : Type u} [Field F] {W : WeierstrassCurve.Projective F} [DecidableEq F] {P Q : Fin 3 → F} (hP : W.Equation P) (hQ : W.Equation Q) (hPz : P 2 ≠ 0) (hQz : Q 2 ≠ 0) (hxy : ¬(P 0 * Q 2 = Q 0 * P 2 ∧ P 1 * Q 2 = W.negY Q * P 2)) : W.addMap ⟦P⟧ ⟦Q⟧ = ⟦![W.toAffine.addX (P 0 / P 2) (Q 0 / Q 2) (W.toAffine.slope (P 0 / P 2) (Q 0 / Q 2) (P 1 / P 2) (Q 1 / Q 2)), W.toAffine.addY (P 0 / P 2) (Q 0 / Q 2) (P 1 / P 2) (W.toAffine.slope (P 0 / P 2) (Q 0 / Q 2) (P 1 / P 2) (Q 1 / Q 2)), 1]⟧ - isQuotientCoveringMap_quotientMk_of_properlyDiscontinuousSMul 📋 Mathlib.Topology.Covering.Quotient
{E : Type u_1} [TopologicalSpace E] {G : Type u_3} [Group G] [MulAction G E] [ContinuousConstSMul G E] [ProperlyDiscontinuousSMul G E] [LocallyCompactSpace E] [T2Space E] [IsCancelSMul G E] : IsQuotientCoveringMap (Quotient.mk (MulAction.orbitRel G E)) G - isCoveringMapOn_quotientMk_of_properlyDiscontinuousSMul 📋 Mathlib.Topology.Covering.Quotient
{E : Type u_1} [TopologicalSpace E] {G : Type u_3} [Group G] [MulAction G E] [ContinuousConstSMul G E] [ProperlyDiscontinuousSMul G E] [LocallyCompactSpace E] [T2Space E] : IsCoveringMapOn (Quotient.mk (MulAction.orbitRel G E)) (Quotient.mk (MulAction.orbitRel G E) '' {e | MulAction.stabilizer G e = ⊥}) - t2Space_quotient_mulAction_of_properSMul 📋 Mathlib.Topology.Algebra.ProperAction.Basic
{G : Type u_1} {X : Type u_2} [Group G] [MulAction G X] [TopologicalSpace G] [TopologicalSpace X] [ProperSMul G X] : T2Space (Quotient (MulAction.orbitRel G X)) - isConjRoot_iff_orbitRel 📋 Mathlib.FieldTheory.Minpoly.IsConjRoot
{K : Type u_2} {L : Type u_3} [Field K] [Field L] [Algebra K L] [Normal K L] {x y : L} : IsConjRoot K x y ↔ (MulAction.orbitRel Gal(L/K) L) x y - CategoryTheory.Limits.SingleObj.colimitTypeRel_iff_orbitRel 📋 Mathlib.CategoryTheory.Limits.Shapes.SingleObj
{G : Type v} [Group G] (J : CategoryTheory.Functor (CategoryTheory.SingleObj G) (Type u)) (x y : J.obj (CategoryTheory.SingleObj.star G)) : J.ColimitTypeRel ⟨CategoryTheory.SingleObj.star G, x⟩ ⟨CategoryTheory.SingleObj.star G, y⟩ ↔ (MulAction.orbitRel G (J.obj (CategoryTheory.SingleObj.star G))) x y - CategoryTheory.Limits.SingleObj.colimitTypeRelEquivOrbitRelQuotient_apply 📋 Mathlib.CategoryTheory.Limits.Shapes.SingleObj
{G : Type v} [Group G] (J : CategoryTheory.Functor (CategoryTheory.SingleObj G) (Type u)) (a : Quot J.ColimitTypeRel) : (CategoryTheory.Limits.SingleObj.colimitTypeRelEquivOrbitRelQuotient J) a = Quot.lift (fun p => ⟦p.snd⟧) ⋯ a - CategoryTheory.Limits.SingleObj.colimitTypeRelEquivOrbitRelQuotient_symm_apply 📋 Mathlib.CategoryTheory.Limits.Shapes.SingleObj
{G : Type v} [Group G] (J : CategoryTheory.Functor (CategoryTheory.SingleObj G) (Type u)) (a : Quot ⇑(MulAction.orbitRel G (J.obj (CategoryTheory.SingleObj.star G)))) : (CategoryTheory.Limits.SingleObj.colimitTypeRelEquivOrbitRelQuotient J).symm a = Quot.lift (fun x => Quot.mk J.ColimitTypeRel ⟨CategoryTheory.SingleObj.star G, x⟩) ⋯ a - CategoryTheory.Limits.SingleObj.Types.colimitEquivQuotient_apply 📋 Mathlib.CategoryTheory.Limits.Shapes.SingleObj
{G : Type v} [Group G] (J : CategoryTheory.Functor (CategoryTheory.SingleObj G) (Type u)) (a✝ : CategoryTheory.Limits.colimit J) : (CategoryTheory.Limits.SingleObj.Types.colimitEquivQuotient J) a✝ = Quot.lift (fun p => ⟦p.snd⟧) ⋯ ((CategoryTheory.Limits.Types.colimitEquivColimitType J) a✝) - CategoryTheory.Limits.SingleObj.Types.colimitEquivQuotient_symm_apply 📋 Mathlib.CategoryTheory.Limits.Shapes.SingleObj
{G : Type v} [Group G] (J : CategoryTheory.Functor (CategoryTheory.SingleObj G) (Type u)) (a✝ : MulAction.orbitRel.Quotient G (J.obj (CategoryTheory.SingleObj.star G))) : (CategoryTheory.Limits.SingleObj.Types.colimitEquivQuotient J).symm a✝ = (CategoryTheory.Limits.Types.colimitEquivColimitType J).symm (Quot.lift (fun x => Quot.mk J.ColimitTypeRel ⟨CategoryTheory.SingleObj.star G, x⟩) ⋯ a✝) - MulAction.instChartedSpaceQuotient 📋 Mathlib.Geometry.Manifold.Instances.Quotient
{M : Type u_1} [TopologicalSpace M] {G : Type u_2} [Group G] [MulAction G M] [ProperlyDiscontinuousSMul G M] [ContinuousConstSMul G M] [IsCancelSMul G M] [T2Space M] [LocallyCompactSpace M] {H : Type u_3} [TopologicalSpace H] [ChartedSpace H M] : ChartedSpace H (MulAction.orbitRel.Quotient G M) - MulAction.card_eq_sum_card_group_div_card_stabilizer 📋 Mathlib.GroupTheory.GroupAction.CardCommute
(α : Type u_1) (β : Type u_2) [Group α] [MulAction α β] [Fintype α] [Fintype β] [Fintype (Quotient (MulAction.orbitRel α β))] [(b : β) → Fintype ↥(MulAction.stabilizer α b)] : Fintype.card β = ∑ ω, Fintype.card α / Fintype.card ↥(MulAction.stabilizer α ω.out) - MulAction.card_eq_sum_card_group_div_card_stabilizer' 📋 Mathlib.GroupTheory.GroupAction.CardCommute
(α : Type u_1) (β : Type u_2) [Group α] [MulAction α β] [Fintype α] [Fintype β] [Fintype (Quotient (MulAction.orbitRel α β))] [(b : β) → Fintype ↥(MulAction.stabilizer α b)] {φ : Quotient (MulAction.orbitRel α β) → β} (hφ : Function.LeftInverse Quotient.mk'' φ) : Fintype.card β = ∑ ω, Fintype.card α / Fintype.card ↥(MulAction.stabilizer α (φ ω)) - MonoidHom.transfer_eq_prod_quotient_orbitRel_zpowers_quot 📋 Mathlib.GroupTheory.Transfer
{G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : ↥H →* A) [H.FiniteIndex] (g : G) [Fintype (Quotient (MulAction.orbitRel (↥(Subgroup.zpowers g)) (G ⧸ H)))] : ϕ.transfer g = ∏ q, ϕ ⟨(Quotient.out q.out)⁻¹ * g ^ Function.minimalPeriod (fun x => g • x) q.out * Quotient.out q.out, ⋯⟩ - Subgroup.transferTransversal_apply' 📋 Mathlib.GroupTheory.Transfer
{G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : MulAction.orbitRel.Quotient (↥(Subgroup.zpowers g)) (G ⧸ H)) (k : ZMod (Function.minimalPeriod (fun x => g • x) (Quotient.out q))) : ↑(⋯.leftQuotientEquiv (g ^ k.cast • Quotient.out q)) = g ^ k.cast * Quotient.out (Quotient.out q) - Subgroup.transferTransversal_apply'' 📋 Mathlib.GroupTheory.Transfer
{G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : MulAction.orbitRel.Quotient (↥(Subgroup.zpowers g)) (G ⧸ H)) (k : ZMod (Function.minimalPeriod (fun x => g • x) (Quotient.out q))) : ↑(⋯.leftQuotientEquiv (g ^ k.cast • Quotient.out q)) = if k = 0 then g ^ Function.minimalPeriod (fun x => g • x) (Quotient.out q) * Quotient.out (Quotient.out q) else g ^ k.cast * Quotient.out (Quotient.out q) - Subgroup.transferFunction_apply 📋 Mathlib.GroupTheory.Transfer
{G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : G ⧸ H) : H.transferFunction g q = g ^ ((H.quotientEquivSigmaZMod g) q).snd.cast * Quotient.out (Quotient.out ((H.quotientEquivSigmaZMod g) q).fst) - Projectivization.equivQuotientOrbitRel 📋 Mathlib.LinearAlgebra.Projectivization.Cardinality
(k : Type u_1) (V : Type u_2) [DivisionRing k] [AddCommGroup V] [Module k V] : Projectivization k V ≃ Quotient (MulAction.orbitRel kˣ { v // v ≠ 0 }) - NumberField.InfinitePlace.orbitRelEquiv 📋 Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification
{k : Type u_1} [Field k] {K : Type u_2} [Field K] [Algebra k K] [IsGalois k K] : Quotient (MulAction.orbitRel Gal(K/k) (NumberField.InfinitePlace K)) ≃ NumberField.InfinitePlace k - NumberField.InfinitePlace.orbitRelEquiv_apply_mk'' 📋 Mathlib.NumberTheory.NumberField.InfinitePlace.Ramification
{k : Type u_1} [Field k] {K : Type u_2} [Field K] [Algebra k K] [IsGalois k K] (w : NumberField.InfinitePlace K) : NumberField.InfinitePlace.orbitRelEquiv (Quotient.mk'' w) = w.comap (algebraMap k K) - cosetToCuspOrbit_apply_mk 📋 Mathlib.NumberTheory.ModularForms.Cusps
{𝒢 : Subgroup (GL (Fin 2) ℝ)} [𝒢.IsArithmetic] (g : Matrix.SpecialLinearGroup (Fin 2) ℤ) : cosetToCuspOrbit 𝒢 ⟦g⟧ = ⟦⟨(Matrix.SpecialLinearGroup.mapGL ℝ) g⁻¹ • OnePoint.infty, ⋯⟩⟧ - NumberField.mixedEmbedding.fundamentalCone.quotIntNorm 📋 Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone
{K : Type u_1} [Field K] [NumberField K] : Quotient (MulAction.orbitRel ↥(NumberField.Units.torsion K) ↑(NumberField.mixedEmbedding.fundamentalCone.integerSet K)) → ℕ - NumberField.mixedEmbedding.fundamentalCone.quotIntNorm_apply 📋 Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone
{K : Type u_1} [Field K] [NumberField K] (a : ↑(NumberField.mixedEmbedding.fundamentalCone.integerSet K)) : NumberField.mixedEmbedding.fundamentalCone.quotIntNorm ⟦a⟧ = NumberField.mixedEmbedding.fundamentalCone.intNorm a - NumberField.mixedEmbedding.fundamentalCone.integerSetQuotEquivAssociates 📋 Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone
(K : Type u_1) [Field K] [NumberField K] : Quotient (MulAction.orbitRel ↥(NumberField.Units.torsion K) ↑(NumberField.mixedEmbedding.fundamentalCone.integerSet K)) ≃ Associates ↥(nonZeroDivisors (NumberField.RingOfIntegers K)) - NumberField.mixedEmbedding.fundamentalCone.integerSetQuotEquivAssociates_apply 📋 Mathlib.NumberTheory.NumberField.CanonicalEmbedding.FundamentalCone
{K : Type u_1} [Field K] [NumberField K] (a : ↑(NumberField.mixedEmbedding.fundamentalCone.integerSet K)) : (NumberField.mixedEmbedding.fundamentalCone.integerSetQuotEquivAssociates K) ⟦a⟧ = ⟦NumberField.mixedEmbedding.fundamentalCone.preimageOfMemIntegerSet a⟧
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. 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.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
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. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c