dynamics.minimal
⟷
Mathlib.Dynamics.Minimal
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-/
-import Mathbin.GroupTheory.GroupAction.Basic
-import Mathbin.Topology.Algebra.ConstMulAction
+import GroupTheory.GroupAction.Basic
+import Topology.Algebra.ConstMulAction
#align_import dynamics.minimal from "leanprover-community/mathlib"@"0a0ec35061ed9960bf0e7ffb0335f44447b58977"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module dynamics.minimal
-! leanprover-community/mathlib commit 0a0ec35061ed9960bf0e7ffb0335f44447b58977
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.GroupTheory.GroupAction.Basic
import Mathbin.Topology.Algebra.ConstMulAction
+#align_import dynamics.minimal from "leanprover-community/mathlib"@"0a0ec35061ed9960bf0e7ffb0335f44447b58977"
+
/-!
# Minimal action of a group
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -58,17 +58,21 @@ open MulAction Set
variable (M G : Type _) {α : Type _} [Monoid M] [Group G] [TopologicalSpace α] [MulAction M α]
[MulAction G α]
+#print MulAction.dense_orbit /-
@[to_additive]
theorem MulAction.dense_orbit [IsMinimal M α] (x : α) : Dense (orbit M x) :=
MulAction.IsMinimal.dense_orbit x
#align mul_action.dense_orbit MulAction.dense_orbit
#align add_action.dense_orbit AddAction.dense_orbit
+-/
+#print denseRange_smul /-
@[to_additive]
theorem denseRange_smul [IsMinimal M α] (x : α) : DenseRange fun c : M => c • x :=
MulAction.dense_orbit M x
#align dense_range_smul denseRange_smul
#align dense_range_vadd denseRange_vadd
+-/
#print MulAction.isMinimal_of_pretransitive /-
@[to_additive]
@@ -79,20 +83,25 @@ instance (priority := 100) MulAction.isMinimal_of_pretransitive [IsPretransitive
#align add_action.is_minimal_of_pretransitive AddAction.isMinimal_of_pretransitive
-/
+#print IsOpen.exists_smul_mem /-
@[to_additive]
theorem IsOpen.exists_smul_mem [IsMinimal M α] (x : α) {U : Set α} (hUo : IsOpen U)
(hne : U.Nonempty) : ∃ c : M, c • x ∈ U :=
(denseRange_smul M x).exists_mem_open hUo hne
#align is_open.exists_smul_mem IsOpen.exists_smul_mem
#align is_open.exists_vadd_mem IsOpen.exists_vadd_mem
+-/
+#print IsOpen.iUnion_preimage_smul /-
@[to_additive]
theorem IsOpen.iUnion_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
(hne : U.Nonempty) : (⋃ c : M, (· • ·) c ⁻¹' U) = univ :=
iUnion_eq_univ_iff.2 fun x => hUo.exists_smul_mem M x hne
#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smul
#align is_open.Union_preimage_vadd IsOpen.iUnion_preimage_vadd
+-/
+#print IsOpen.iUnion_smul /-
@[to_additive]
theorem IsOpen.iUnion_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne : U.Nonempty) :
(⋃ g : G, g • U) = univ :=
@@ -101,7 +110,9 @@ theorem IsOpen.iUnion_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne :
⟨g⁻¹, _, hg, inv_smul_smul _ _⟩
#align is_open.Union_smul IsOpen.iUnion_smul
#align is_open.Union_vadd IsOpen.iUnion_vadd
+-/
+#print IsCompact.exists_finite_cover_smul /-
@[to_additive]
theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul G α] {K U : Set α}
(hK : IsCompact K) (hUo : IsOpen U) (hne : U.Nonempty) : ∃ I : Finset G, K ⊆ ⋃ g ∈ I, g • U :=
@@ -111,7 +122,9 @@ theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul
_ = ⋃ g : G, g • U := (hUo.iUnion_smul G hne).symm
#align is_compact.exists_finite_cover_smul IsCompact.exists_finite_cover_smul
#align is_compact.exists_finite_cover_vadd IsCompact.exists_finite_cover_vadd
+-/
+#print dense_of_nonempty_smul_invariant /-
@[to_additive]
theorem dense_of_nonempty_smul_invariant [IsMinimal M α] {s : Set α} (hne : s.Nonempty)
(hsmul : ∀ c : M, c • s ⊆ s) : Dense s :=
@@ -119,7 +132,9 @@ theorem dense_of_nonempty_smul_invariant [IsMinimal M α] {s : Set α} (hne : s.
(MulAction.dense_orbit M x).mono (range_subset_iff.2 fun c => hsmul c <| ⟨x, hx, rfl⟩)
#align dense_of_nonempty_smul_invariant dense_of_nonempty_smul_invariant
#align dense_of_nonempty_vadd_invariant dense_of_nonempty_vadd_invariant
+-/
+#print eq_empty_or_univ_of_smul_invariant_closed /-
@[to_additive]
theorem eq_empty_or_univ_of_smul_invariant_closed [IsMinimal M α] {s : Set α} (hs : IsClosed s)
(hsmul : ∀ c : M, c • s ⊆ s) : s = ∅ ∨ s = univ :=
@@ -127,7 +142,9 @@ theorem eq_empty_or_univ_of_smul_invariant_closed [IsMinimal M α] {s : Set α}
hs.closure_eq ▸ (dense_of_nonempty_smul_invariant M hne hsmul).closure_eq
#align eq_empty_or_univ_of_smul_invariant_closed eq_empty_or_univ_of_smul_invariant_closed
#align eq_empty_or_univ_of_vadd_invariant_closed eq_empty_or_univ_of_vadd_invariant_closed
+-/
+#print isMinimal_iff_closed_smul_invariant /-
@[to_additive]
theorem isMinimal_iff_closed_smul_invariant [ContinuousConstSMul M α] :
IsMinimal M α ↔ ∀ s : Set α, IsClosed s → (∀ c : M, c • s ⊆ s) → s = ∅ ∨ s = univ :=
@@ -138,4 +155,5 @@ theorem isMinimal_iff_closed_smul_invariant [ContinuousConstSMul M α] :
(orbit_nonempty _).closure.ne_empty]
#align is_minimal_iff_closed_smul_invariant isMinimal_iff_closed_smul_invariant
#align is_minimal_iff_closed_vadd_invariant isMinimal_iff_closed_vadd_invariant
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -109,7 +109,6 @@ theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul
calc
K ⊆ univ := subset_univ K
_ = ⋃ g : G, g • U := (hUo.iUnion_smul G hne).symm
-
#align is_compact.exists_finite_cover_smul IsCompact.exists_finite_cover_smul
#align is_compact.exists_finite_cover_vadd IsCompact.exists_finite_cover_vadd
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -37,7 +37,7 @@ open scoped Pointwise
/-- An action of an additive monoid `M` on a topological space is called *minimal* if the `M`-orbit
of every point `x : α` is dense. -/
class AddAction.IsMinimal (M α : Type _) [AddMonoid M] [TopologicalSpace α] [AddAction M α] :
- Prop where
+ Prop where
dense_orbit : ∀ x : α, Dense (AddAction.orbit M x)
#align add_action.is_minimal AddAction.IsMinimal
-/
@@ -47,7 +47,7 @@ class AddAction.IsMinimal (M α : Type _) [AddMonoid M] [TopologicalSpace α] [A
point `x : α` is dense. -/
@[to_additive]
class MulAction.IsMinimal (M α : Type _) [Monoid M] [TopologicalSpace α] [MulAction M α] :
- Prop where
+ Prop where
dense_orbit : ∀ x : α, Dense (MulAction.orbit M x)
#align mul_action.is_minimal MulAction.IsMinimal
#align add_action.is_minimal AddAction.IsMinimal
@@ -135,7 +135,7 @@ theorem isMinimal_iff_closed_smul_invariant [ContinuousConstSMul M α] :
by
constructor; · intro h s; exact eq_empty_or_univ_of_smul_invariant_closed M
refine' fun H => ⟨fun x => dense_iff_closure_eq.2 <| (H _ _ _).resolve_left _⟩
- exacts[isClosed_closure, fun c => smul_closure_orbit_subset _ _,
+ exacts [isClosed_closure, fun c => smul_closure_orbit_subset _ _,
(orbit_nonempty _).closure.ne_empty]
#align is_minimal_iff_closed_smul_invariant isMinimal_iff_closed_smul_invariant
#align is_minimal_iff_closed_vadd_invariant isMinimal_iff_closed_vadd_invariant
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -31,7 +31,7 @@ group action, minimal
-/
-open Pointwise
+open scoped Pointwise
#print AddAction.IsMinimal /-
/-- An action of an additive monoid `M` on a topological space is called *minimal* if the `M`-orbit
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -58,24 +58,12 @@ open MulAction Set
variable (M G : Type _) {α : Type _} [Monoid M] [Group G] [TopologicalSpace α] [MulAction M α]
[MulAction G α]
-/- warning: mul_action.dense_orbit -> MulAction.dense_orbit is a dubious translation:
-lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] (x : α), Dense.{u2} α _inst_3 (MulAction.orbit.{u1, u2} M α _inst_1 _inst_4 x)
-but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] (x : α), Dense.{u1} α _inst_3 (MulAction.orbit.{u2, u1} M α _inst_1 _inst_4 x)
-Case conversion may be inaccurate. Consider using '#align mul_action.dense_orbit MulAction.dense_orbitₓ'. -/
@[to_additive]
theorem MulAction.dense_orbit [IsMinimal M α] (x : α) : Dense (orbit M x) :=
MulAction.IsMinimal.dense_orbit x
#align mul_action.dense_orbit MulAction.dense_orbit
#align add_action.dense_orbit AddAction.dense_orbit
-/- warning: dense_range_smul -> denseRange_smul is a dubious translation:
-lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] (x : α), DenseRange.{u2, u1} α _inst_3 M (fun (c : M) => SMul.smul.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4) c x)
-but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] (x : α), DenseRange.{u1, u2} α _inst_3 M (fun (c : M) => HSMul.hSMul.{u2, u1, u1} M α α (instHSMul.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4)) c x)
-Case conversion may be inaccurate. Consider using '#align dense_range_smul denseRange_smulₓ'. -/
@[to_additive]
theorem denseRange_smul [IsMinimal M α] (x : α) : DenseRange fun c : M => c • x :=
MulAction.dense_orbit M x
@@ -91,12 +79,6 @@ instance (priority := 100) MulAction.isMinimal_of_pretransitive [IsPretransitive
#align add_action.is_minimal_of_pretransitive AddAction.isMinimal_of_pretransitive
-/
-/- warning: is_open.exists_smul_mem -> IsOpen.exists_smul_mem is a dubious translation:
-lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] (x : α) {U : Set.{u2} α}, (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Exists.{succ u1} M (fun (c : M) => Membership.Mem.{u2, u2} α (Set.{u2} α) (Set.hasMem.{u2} α) (SMul.smul.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4) c x) U))
-but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] (x : α) {U : Set.{u1} α}, (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Exists.{succ u2} M (fun (c : M) => Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) (HSMul.hSMul.{u2, u1, u1} M α α (instHSMul.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4)) c x) U))
-Case conversion may be inaccurate. Consider using '#align is_open.exists_smul_mem IsOpen.exists_smul_memₓ'. -/
@[to_additive]
theorem IsOpen.exists_smul_mem [IsMinimal M α] (x : α) {U : Set α} (hUo : IsOpen U)
(hne : U.Nonempty) : ∃ c : M, c • x ∈ U :=
@@ -104,12 +86,6 @@ theorem IsOpen.exists_smul_mem [IsMinimal M α] (x : α) {U : Set α} (hUo : IsO
#align is_open.exists_smul_mem IsOpen.exists_smul_mem
#align is_open.exists_vadd_mem IsOpen.exists_vadd_mem
-/- warning: is_open.Union_preimage_smul -> IsOpen.iUnion_preimage_smul is a dubious translation:
-lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] {U : Set.{u2} α}, (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Eq.{succ u2} (Set.{u2} α) (Set.iUnion.{u2, succ u1} α M (fun (c : M) => Set.preimage.{u2, u2} α α (SMul.smul.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4) c) U)) (Set.univ.{u2} α))
-but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] {U : Set.{u1} α}, (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Eq.{succ u1} (Set.{u1} α) (Set.iUnion.{u1, succ u2} α M (fun (c : M) => Set.preimage.{u1, u1} α α ((fun (x._@.Mathlib.Dynamics.Minimal._hyg.339 : M) (x._@.Mathlib.Dynamics.Minimal._hyg.341 : α) => HSMul.hSMul.{u2, u1, u1} M α α (instHSMul.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4)) x._@.Mathlib.Dynamics.Minimal._hyg.339 x._@.Mathlib.Dynamics.Minimal._hyg.341) c) U)) (Set.univ.{u1} α))
-Case conversion may be inaccurate. Consider using '#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smulₓ'. -/
@[to_additive]
theorem IsOpen.iUnion_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
(hne : U.Nonempty) : (⋃ c : M, (· • ·) c ⁻¹' U) = univ :=
@@ -117,12 +93,6 @@ theorem IsOpen.iUnion_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen
#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smul
#align is_open.Union_preimage_vadd IsOpen.iUnion_preimage_vadd
-/- warning: is_open.Union_smul -> IsOpen.iUnion_smul is a dubious translation:
-lean 3 declaration is
- forall (G : Type.{u1}) {α : Type.{u2}} [_inst_2 : Group.{u1} G] [_inst_3 : TopologicalSpace.{u2} α] [_inst_5 : MulAction.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_3 _inst_5] {U : Set.{u2} α}, (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Eq.{succ u2} (Set.{u2} α) (Set.iUnion.{u2, succ u1} α G (fun (g : G) => SMul.smul.{u1, u2} G (Set.{u2} α) (Set.smulSet.{u1, u2} G α (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)) g U)) (Set.univ.{u2} α))
-but is expected to have type
- forall (G : Type.{u2}) {α : Type.{u1}} [_inst_2 : Group.{u2} G] [_inst_3 : TopologicalSpace.{u1} α] [_inst_5 : MulAction.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_3 _inst_5] {U : Set.{u1} α}, (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Eq.{succ u1} (Set.{u1} α) (Set.iUnion.{u1, succ u2} α G (fun (g : G) => HSMul.hSMul.{u2, u1, u1} G (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} G (Set.{u1} α) (Set.smulSet.{u2, u1} G α (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5))) g U)) (Set.univ.{u1} α))
-Case conversion may be inaccurate. Consider using '#align is_open.Union_smul IsOpen.iUnion_smulₓ'. -/
@[to_additive]
theorem IsOpen.iUnion_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne : U.Nonempty) :
(⋃ g : G, g • U) = univ :=
@@ -132,12 +102,6 @@ theorem IsOpen.iUnion_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne :
#align is_open.Union_smul IsOpen.iUnion_smul
#align is_open.Union_vadd IsOpen.iUnion_vadd
-/- warning: is_compact.exists_finite_cover_smul -> IsCompact.exists_finite_cover_smul is a dubious translation:
-lean 3 declaration is
- forall (G : Type.{u1}) {α : Type.{u2}} [_inst_2 : Group.{u1} G] [_inst_3 : TopologicalSpace.{u2} α] [_inst_5 : MulAction.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_3 _inst_5] [_inst_7 : ContinuousConstSMul.{u1, u2} G α _inst_3 (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)] {K : Set.{u2} α} {U : Set.{u2} α}, (IsCompact.{u2} α _inst_3 K) -> (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Exists.{succ u1} (Finset.{u1} G) (fun (I : Finset.{u1} G) => HasSubset.Subset.{u2} (Set.{u2} α) (Set.hasSubset.{u2} α) K (Set.iUnion.{u2, succ u1} α G (fun (g : G) => Set.iUnion.{u2, 0} α (Membership.Mem.{u1, u1} G (Finset.{u1} G) (Finset.hasMem.{u1} G) g I) (fun (H : Membership.Mem.{u1, u1} G (Finset.{u1} G) (Finset.hasMem.{u1} G) g I) => SMul.smul.{u1, u2} G (Set.{u2} α) (Set.smulSet.{u1, u2} G α (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)) g U)))))
-but is expected to have type
- forall (G : Type.{u2}) {α : Type.{u1}} [_inst_2 : Group.{u2} G] [_inst_3 : TopologicalSpace.{u1} α] [_inst_5 : MulAction.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_3 _inst_5] [_inst_7 : ContinuousConstSMul.{u2, u1} G α _inst_3 (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5)] {K : Set.{u1} α} {U : Set.{u1} α}, (IsCompact.{u1} α _inst_3 K) -> (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Exists.{succ u2} (Finset.{u2} G) (fun (I : Finset.{u2} G) => HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) K (Set.iUnion.{u1, succ u2} α G (fun (g : G) => Set.iUnion.{u1, 0} α (Membership.mem.{u2, u2} G (Finset.{u2} G) (Finset.instMembershipFinset.{u2} G) g I) (fun (H : Membership.mem.{u2, u2} G (Finset.{u2} G) (Finset.instMembershipFinset.{u2} G) g I) => HSMul.hSMul.{u2, u1, u1} G (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} G (Set.{u1} α) (Set.smulSet.{u2, u1} G α (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5))) g U)))))
-Case conversion may be inaccurate. Consider using '#align is_compact.exists_finite_cover_smul IsCompact.exists_finite_cover_smulₓ'. -/
@[to_additive]
theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul G α] {K U : Set α}
(hK : IsCompact K) (hUo : IsOpen U) (hne : U.Nonempty) : ∃ I : Finset G, K ⊆ ⋃ g ∈ I, g • U :=
@@ -149,12 +113,6 @@ theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul
#align is_compact.exists_finite_cover_smul IsCompact.exists_finite_cover_smul
#align is_compact.exists_finite_cover_vadd IsCompact.exists_finite_cover_vadd
-/- warning: dense_of_nonempty_smul_invariant -> dense_of_nonempty_smul_invariant is a dubious translation:
-lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] {s : Set.{u2} α}, (Set.Nonempty.{u2} α s) -> (forall (c : M), HasSubset.Subset.{u2} (Set.{u2} α) (Set.hasSubset.{u2} α) (SMul.smul.{u1, u2} M (Set.{u2} α) (Set.smulSet.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4)) c s) s) -> (Dense.{u2} α _inst_3 s)
-but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] {s : Set.{u1} α}, (Set.Nonempty.{u1} α s) -> (forall (c : M), HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (HSMul.hSMul.{u2, u1, u1} M (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} M (Set.{u1} α) (Set.smulSet.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4))) c s) s) -> (Dense.{u1} α _inst_3 s)
-Case conversion may be inaccurate. Consider using '#align dense_of_nonempty_smul_invariant dense_of_nonempty_smul_invariantₓ'. -/
@[to_additive]
theorem dense_of_nonempty_smul_invariant [IsMinimal M α] {s : Set α} (hne : s.Nonempty)
(hsmul : ∀ c : M, c • s ⊆ s) : Dense s :=
@@ -163,12 +121,6 @@ theorem dense_of_nonempty_smul_invariant [IsMinimal M α] {s : Set α} (hne : s.
#align dense_of_nonempty_smul_invariant dense_of_nonempty_smul_invariant
#align dense_of_nonempty_vadd_invariant dense_of_nonempty_vadd_invariant
-/- warning: eq_empty_or_univ_of_smul_invariant_closed -> eq_empty_or_univ_of_smul_invariant_closed is a dubious translation:
-lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] {s : Set.{u2} α}, (IsClosed.{u2} α _inst_3 s) -> (forall (c : M), HasSubset.Subset.{u2} (Set.{u2} α) (Set.hasSubset.{u2} α) (SMul.smul.{u1, u2} M (Set.{u2} α) (Set.smulSet.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4)) c s) s) -> (Or (Eq.{succ u2} (Set.{u2} α) s (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.hasEmptyc.{u2} α))) (Eq.{succ u2} (Set.{u2} α) s (Set.univ.{u2} α)))
-but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] {s : Set.{u1} α}, (IsClosed.{u1} α _inst_3 s) -> (forall (c : M), HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (HSMul.hSMul.{u2, u1, u1} M (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} M (Set.{u1} α) (Set.smulSet.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4))) c s) s) -> (Or (Eq.{succ u1} (Set.{u1} α) s (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.instEmptyCollectionSet.{u1} α))) (Eq.{succ u1} (Set.{u1} α) s (Set.univ.{u1} α)))
-Case conversion may be inaccurate. Consider using '#align eq_empty_or_univ_of_smul_invariant_closed eq_empty_or_univ_of_smul_invariant_closedₓ'. -/
@[to_additive]
theorem eq_empty_or_univ_of_smul_invariant_closed [IsMinimal M α] {s : Set α} (hs : IsClosed s)
(hsmul : ∀ c : M, c • s ⊆ s) : s = ∅ ∨ s = univ :=
@@ -177,12 +129,6 @@ theorem eq_empty_or_univ_of_smul_invariant_closed [IsMinimal M α] {s : Set α}
#align eq_empty_or_univ_of_smul_invariant_closed eq_empty_or_univ_of_smul_invariant_closed
#align eq_empty_or_univ_of_vadd_invariant_closed eq_empty_or_univ_of_vadd_invariant_closed
-/- warning: is_minimal_iff_closed_smul_invariant -> isMinimal_iff_closed_smul_invariant is a dubious translation:
-lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : ContinuousConstSMul.{u1, u2} M α _inst_3 (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4)], Iff (MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4) (forall (s : Set.{u2} α), (IsClosed.{u2} α _inst_3 s) -> (forall (c : M), HasSubset.Subset.{u2} (Set.{u2} α) (Set.hasSubset.{u2} α) (SMul.smul.{u1, u2} M (Set.{u2} α) (Set.smulSet.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4)) c s) s) -> (Or (Eq.{succ u2} (Set.{u2} α) s (EmptyCollection.emptyCollection.{u2} (Set.{u2} α) (Set.hasEmptyc.{u2} α))) (Eq.{succ u2} (Set.{u2} α) s (Set.univ.{u2} α))))
-but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : ContinuousConstSMul.{u2, u1} M α _inst_3 (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4)], Iff (MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4) (forall (s : Set.{u1} α), (IsClosed.{u1} α _inst_3 s) -> (forall (c : M), HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (HSMul.hSMul.{u2, u1, u1} M (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} M (Set.{u1} α) (Set.smulSet.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4))) c s) s) -> (Or (Eq.{succ u1} (Set.{u1} α) s (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.instEmptyCollectionSet.{u1} α))) (Eq.{succ u1} (Set.{u1} α) s (Set.univ.{u1} α))))
-Case conversion may be inaccurate. Consider using '#align is_minimal_iff_closed_smul_invariant isMinimal_iff_closed_smul_invariantₓ'. -/
@[to_additive]
theorem isMinimal_iff_closed_smul_invariant [ContinuousConstSMul M α] :
IsMinimal M α ↔ ∀ s : Set α, IsClosed s → (∀ c : M, c • s ⊆ s) → s = ∅ ∨ s = univ :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -187,9 +187,7 @@ Case conversion may be inaccurate. Consider using '#align is_minimal_iff_closed_
theorem isMinimal_iff_closed_smul_invariant [ContinuousConstSMul M α] :
IsMinimal M α ↔ ∀ s : Set α, IsClosed s → (∀ c : M, c • s ⊆ s) → s = ∅ ∨ s = univ :=
by
- constructor;
- · intro h s
- exact eq_empty_or_univ_of_smul_invariant_closed M
+ constructor; · intro h s; exact eq_empty_or_univ_of_smul_invariant_closed M
refine' fun H => ⟨fun x => dense_iff_closure_eq.2 <| (H _ _ _).resolve_left _⟩
exacts[isClosed_closure, fun c => smul_closure_orbit_subset _ _,
(orbit_nonempty _).closure.ne_empty]
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -104,39 +104,39 @@ theorem IsOpen.exists_smul_mem [IsMinimal M α] (x : α) {U : Set α} (hUo : IsO
#align is_open.exists_smul_mem IsOpen.exists_smul_mem
#align is_open.exists_vadd_mem IsOpen.exists_vadd_mem
-/- warning: is_open.Union_preimage_smul -> IsOpen.unionᵢ_preimage_smul is a dubious translation:
+/- warning: is_open.Union_preimage_smul -> IsOpen.iUnion_preimage_smul is a dubious translation:
lean 3 declaration is
- forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] {U : Set.{u2} α}, (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Eq.{succ u2} (Set.{u2} α) (Set.unionᵢ.{u2, succ u1} α M (fun (c : M) => Set.preimage.{u2, u2} α α (SMul.smul.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4) c) U)) (Set.univ.{u2} α))
+ forall (M : Type.{u1}) {α : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_3 : TopologicalSpace.{u2} α] [_inst_4 : MulAction.{u1, u2} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u1, u2} M α _inst_1 _inst_3 _inst_4] {U : Set.{u2} α}, (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Eq.{succ u2} (Set.{u2} α) (Set.iUnion.{u2, succ u1} α M (fun (c : M) => Set.preimage.{u2, u2} α α (SMul.smul.{u1, u2} M α (MulAction.toHasSmul.{u1, u2} M α _inst_1 _inst_4) c) U)) (Set.univ.{u2} α))
but is expected to have type
- forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] {U : Set.{u1} α}, (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Eq.{succ u1} (Set.{u1} α) (Set.unionᵢ.{u1, succ u2} α M (fun (c : M) => Set.preimage.{u1, u1} α α ((fun (x._@.Mathlib.Dynamics.Minimal._hyg.339 : M) (x._@.Mathlib.Dynamics.Minimal._hyg.341 : α) => HSMul.hSMul.{u2, u1, u1} M α α (instHSMul.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4)) x._@.Mathlib.Dynamics.Minimal._hyg.339 x._@.Mathlib.Dynamics.Minimal._hyg.341) c) U)) (Set.univ.{u1} α))
-Case conversion may be inaccurate. Consider using '#align is_open.Union_preimage_smul IsOpen.unionᵢ_preimage_smulₓ'. -/
+ forall (M : Type.{u2}) {α : Type.{u1}} [_inst_1 : Monoid.{u2} M] [_inst_3 : TopologicalSpace.{u1} α] [_inst_4 : MulAction.{u2, u1} M α _inst_1] [_inst_6 : MulAction.IsMinimal.{u2, u1} M α _inst_1 _inst_3 _inst_4] {U : Set.{u1} α}, (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Eq.{succ u1} (Set.{u1} α) (Set.iUnion.{u1, succ u2} α M (fun (c : M) => Set.preimage.{u1, u1} α α ((fun (x._@.Mathlib.Dynamics.Minimal._hyg.339 : M) (x._@.Mathlib.Dynamics.Minimal._hyg.341 : α) => HSMul.hSMul.{u2, u1, u1} M α α (instHSMul.{u2, u1} M α (MulAction.toSMul.{u2, u1} M α _inst_1 _inst_4)) x._@.Mathlib.Dynamics.Minimal._hyg.339 x._@.Mathlib.Dynamics.Minimal._hyg.341) c) U)) (Set.univ.{u1} α))
+Case conversion may be inaccurate. Consider using '#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smulₓ'. -/
@[to_additive]
-theorem IsOpen.unionᵢ_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
+theorem IsOpen.iUnion_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
(hne : U.Nonempty) : (⋃ c : M, (· • ·) c ⁻¹' U) = univ :=
- unionᵢ_eq_univ_iff.2 fun x => hUo.exists_smul_mem M x hne
-#align is_open.Union_preimage_smul IsOpen.unionᵢ_preimage_smul
-#align is_open.Union_preimage_vadd IsOpen.unionᵢ_preimage_vadd
+ iUnion_eq_univ_iff.2 fun x => hUo.exists_smul_mem M x hne
+#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smul
+#align is_open.Union_preimage_vadd IsOpen.iUnion_preimage_vadd
-/- warning: is_open.Union_smul -> IsOpen.unionᵢ_smul is a dubious translation:
+/- warning: is_open.Union_smul -> IsOpen.iUnion_smul is a dubious translation:
lean 3 declaration is
- forall (G : Type.{u1}) {α : Type.{u2}} [_inst_2 : Group.{u1} G] [_inst_3 : TopologicalSpace.{u2} α] [_inst_5 : MulAction.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_3 _inst_5] {U : Set.{u2} α}, (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Eq.{succ u2} (Set.{u2} α) (Set.unionᵢ.{u2, succ u1} α G (fun (g : G) => SMul.smul.{u1, u2} G (Set.{u2} α) (Set.smulSet.{u1, u2} G α (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)) g U)) (Set.univ.{u2} α))
+ forall (G : Type.{u1}) {α : Type.{u2}} [_inst_2 : Group.{u1} G] [_inst_3 : TopologicalSpace.{u2} α] [_inst_5 : MulAction.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_3 _inst_5] {U : Set.{u2} α}, (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Eq.{succ u2} (Set.{u2} α) (Set.iUnion.{u2, succ u1} α G (fun (g : G) => SMul.smul.{u1, u2} G (Set.{u2} α) (Set.smulSet.{u1, u2} G α (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)) g U)) (Set.univ.{u2} α))
but is expected to have type
- forall (G : Type.{u2}) {α : Type.{u1}} [_inst_2 : Group.{u2} G] [_inst_3 : TopologicalSpace.{u1} α] [_inst_5 : MulAction.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_3 _inst_5] {U : Set.{u1} α}, (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Eq.{succ u1} (Set.{u1} α) (Set.unionᵢ.{u1, succ u2} α G (fun (g : G) => HSMul.hSMul.{u2, u1, u1} G (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} G (Set.{u1} α) (Set.smulSet.{u2, u1} G α (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5))) g U)) (Set.univ.{u1} α))
-Case conversion may be inaccurate. Consider using '#align is_open.Union_smul IsOpen.unionᵢ_smulₓ'. -/
+ forall (G : Type.{u2}) {α : Type.{u1}} [_inst_2 : Group.{u2} G] [_inst_3 : TopologicalSpace.{u1} α] [_inst_5 : MulAction.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_3 _inst_5] {U : Set.{u1} α}, (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Eq.{succ u1} (Set.{u1} α) (Set.iUnion.{u1, succ u2} α G (fun (g : G) => HSMul.hSMul.{u2, u1, u1} G (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} G (Set.{u1} α) (Set.smulSet.{u2, u1} G α (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5))) g U)) (Set.univ.{u1} α))
+Case conversion may be inaccurate. Consider using '#align is_open.Union_smul IsOpen.iUnion_smulₓ'. -/
@[to_additive]
-theorem IsOpen.unionᵢ_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne : U.Nonempty) :
+theorem IsOpen.iUnion_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne : U.Nonempty) :
(⋃ g : G, g • U) = univ :=
- unionᵢ_eq_univ_iff.2 fun x =>
+ iUnion_eq_univ_iff.2 fun x =>
let ⟨g, hg⟩ := hUo.exists_smul_mem G x hne
⟨g⁻¹, _, hg, inv_smul_smul _ _⟩
-#align is_open.Union_smul IsOpen.unionᵢ_smul
-#align is_open.Union_vadd IsOpen.unionᵢ_vadd
+#align is_open.Union_smul IsOpen.iUnion_smul
+#align is_open.Union_vadd IsOpen.iUnion_vadd
/- warning: is_compact.exists_finite_cover_smul -> IsCompact.exists_finite_cover_smul is a dubious translation:
lean 3 declaration is
- forall (G : Type.{u1}) {α : Type.{u2}} [_inst_2 : Group.{u1} G] [_inst_3 : TopologicalSpace.{u2} α] [_inst_5 : MulAction.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_3 _inst_5] [_inst_7 : ContinuousConstSMul.{u1, u2} G α _inst_3 (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)] {K : Set.{u2} α} {U : Set.{u2} α}, (IsCompact.{u2} α _inst_3 K) -> (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Exists.{succ u1} (Finset.{u1} G) (fun (I : Finset.{u1} G) => HasSubset.Subset.{u2} (Set.{u2} α) (Set.hasSubset.{u2} α) K (Set.unionᵢ.{u2, succ u1} α G (fun (g : G) => Set.unionᵢ.{u2, 0} α (Membership.Mem.{u1, u1} G (Finset.{u1} G) (Finset.hasMem.{u1} G) g I) (fun (H : Membership.Mem.{u1, u1} G (Finset.{u1} G) (Finset.hasMem.{u1} G) g I) => SMul.smul.{u1, u2} G (Set.{u2} α) (Set.smulSet.{u1, u2} G α (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)) g U)))))
+ forall (G : Type.{u1}) {α : Type.{u2}} [_inst_2 : Group.{u1} G] [_inst_3 : TopologicalSpace.{u2} α] [_inst_5 : MulAction.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_3 _inst_5] [_inst_7 : ContinuousConstSMul.{u1, u2} G α _inst_3 (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)] {K : Set.{u2} α} {U : Set.{u2} α}, (IsCompact.{u2} α _inst_3 K) -> (IsOpen.{u2} α _inst_3 U) -> (Set.Nonempty.{u2} α U) -> (Exists.{succ u1} (Finset.{u1} G) (fun (I : Finset.{u1} G) => HasSubset.Subset.{u2} (Set.{u2} α) (Set.hasSubset.{u2} α) K (Set.iUnion.{u2, succ u1} α G (fun (g : G) => Set.iUnion.{u2, 0} α (Membership.Mem.{u1, u1} G (Finset.{u1} G) (Finset.hasMem.{u1} G) g I) (fun (H : Membership.Mem.{u1, u1} G (Finset.{u1} G) (Finset.hasMem.{u1} G) g I) => SMul.smul.{u1, u2} G (Set.{u2} α) (Set.smulSet.{u1, u2} G α (MulAction.toHasSmul.{u1, u2} G α (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)) _inst_5)) g U)))))
but is expected to have type
- forall (G : Type.{u2}) {α : Type.{u1}} [_inst_2 : Group.{u2} G] [_inst_3 : TopologicalSpace.{u1} α] [_inst_5 : MulAction.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_3 _inst_5] [_inst_7 : ContinuousConstSMul.{u2, u1} G α _inst_3 (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5)] {K : Set.{u1} α} {U : Set.{u1} α}, (IsCompact.{u1} α _inst_3 K) -> (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Exists.{succ u2} (Finset.{u2} G) (fun (I : Finset.{u2} G) => HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) K (Set.unionᵢ.{u1, succ u2} α G (fun (g : G) => Set.unionᵢ.{u1, 0} α (Membership.mem.{u2, u2} G (Finset.{u2} G) (Finset.instMembershipFinset.{u2} G) g I) (fun (H : Membership.mem.{u2, u2} G (Finset.{u2} G) (Finset.instMembershipFinset.{u2} G) g I) => HSMul.hSMul.{u2, u1, u1} G (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} G (Set.{u1} α) (Set.smulSet.{u2, u1} G α (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5))) g U)))))
+ forall (G : Type.{u2}) {α : Type.{u1}} [_inst_2 : Group.{u2} G] [_inst_3 : TopologicalSpace.{u1} α] [_inst_5 : MulAction.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))] [_inst_6 : MulAction.IsMinimal.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_3 _inst_5] [_inst_7 : ContinuousConstSMul.{u2, u1} G α _inst_3 (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5)] {K : Set.{u1} α} {U : Set.{u1} α}, (IsCompact.{u1} α _inst_3 K) -> (IsOpen.{u1} α _inst_3 U) -> (Set.Nonempty.{u1} α U) -> (Exists.{succ u2} (Finset.{u2} G) (fun (I : Finset.{u2} G) => HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) K (Set.iUnion.{u1, succ u2} α G (fun (g : G) => Set.iUnion.{u1, 0} α (Membership.mem.{u2, u2} G (Finset.{u2} G) (Finset.instMembershipFinset.{u2} G) g I) (fun (H : Membership.mem.{u2, u2} G (Finset.{u2} G) (Finset.instMembershipFinset.{u2} G) g I) => HSMul.hSMul.{u2, u1, u1} G (Set.{u1} α) (Set.{u1} α) (instHSMul.{u2, u1} G (Set.{u1} α) (Set.smulSet.{u2, u1} G α (MulAction.toSMul.{u2, u1} G α (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _inst_5))) g U)))))
Case conversion may be inaccurate. Consider using '#align is_compact.exists_finite_cover_smul IsCompact.exists_finite_cover_smulₓ'. -/
@[to_additive]
theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul G α] {K U : Set α}
@@ -144,7 +144,7 @@ theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul
(hK.elim_finite_subcover (fun g : G => g • U) fun g => hUo.smul _) <|
calc
K ⊆ univ := subset_univ K
- _ = ⋃ g : G, g • U := (hUo.unionᵢ_smul G hne).symm
+ _ = ⋃ g : G, g • U := (hUo.iUnion_smul G hne).symm
#align is_compact.exists_finite_cover_smul IsCompact.exists_finite_cover_smul
#align is_compact.exists_finite_cover_vadd IsCompact.exists_finite_cover_vadd
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
(· op ·) a
by (a op ·)
(#8843)
I used the regex \(\(· (.) ·\) (.)\)
, replacing with ($2 $1 ·)
.
@@ -75,7 +75,7 @@ theorem IsOpen.exists_smul_mem [IsMinimal M α] (x : α) {U : Set α} (hUo : IsO
@[to_additive]
theorem IsOpen.iUnion_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
- (hne : U.Nonempty) : ⋃ c : M, (· • ·) c ⁻¹' U = univ :=
+ (hne : U.Nonempty) : ⋃ c : M, (c • ·) ⁻¹' U = univ :=
iUnion_eq_univ_iff.2 fun x ↦ hUo.exists_smul_mem M x hne
#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smul
#align is_open.Union_preimage_vadd IsOpen.iUnion_preimage_vadd
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -29,7 +29,7 @@ open Pointwise
/-- An action of an additive monoid `M` on a topological space is called *minimal* if the `M`-orbit
of every point `x : α` is dense. -/
-class AddAction.IsMinimal (M α : Type _) [AddMonoid M] [TopologicalSpace α] [AddAction M α] :
+class AddAction.IsMinimal (M α : Type*) [AddMonoid M] [TopologicalSpace α] [AddAction M α] :
Prop where
dense_orbit : ∀ x : α, Dense (AddAction.orbit M x)
#align add_action.is_minimal AddAction.IsMinimal
@@ -37,14 +37,14 @@ class AddAction.IsMinimal (M α : Type _) [AddMonoid M] [TopologicalSpace α] [A
/-- An action of a monoid `M` on a topological space is called *minimal* if the `M`-orbit of every
point `x : α` is dense. -/
@[to_additive]
-class MulAction.IsMinimal (M α : Type _) [Monoid M] [TopologicalSpace α] [MulAction M α] :
+class MulAction.IsMinimal (M α : Type*) [Monoid M] [TopologicalSpace α] [MulAction M α] :
Prop where
dense_orbit : ∀ x : α, Dense (MulAction.orbit M x)
#align mul_action.is_minimal MulAction.IsMinimal
open MulAction Set
-variable (M G : Type _) {α : Type _} [Monoid M] [Group G] [TopologicalSpace α] [MulAction M α]
+variable (M G : Type*) {α : Type*} [Monoid M] [Group G] [TopologicalSpace α] [MulAction M α]
[MulAction G α]
@[to_additive]
@@ -2,15 +2,12 @@
Copyright (c) 2021 Yury G. Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module dynamics.minimal
-! leanprover-community/mathlib commit 4c19a16e4b705bf135cf9a80ac18fcc99c438514
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.GroupTheory.GroupAction.Basic
import Mathlib.Topology.Algebra.ConstMulAction
+#align_import dynamics.minimal from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
+
/-!
# Minimal action of a group
@@ -78,14 +78,14 @@ theorem IsOpen.exists_smul_mem [IsMinimal M α] (x : α) {U : Set α} (hUo : IsO
@[to_additive]
theorem IsOpen.iUnion_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
- (hne : U.Nonempty) : (⋃ c : M, (· • ·) c ⁻¹' U) = univ :=
+ (hne : U.Nonempty) : ⋃ c : M, (· • ·) c ⁻¹' U = univ :=
iUnion_eq_univ_iff.2 fun x ↦ hUo.exists_smul_mem M x hne
#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smul
#align is_open.Union_preimage_vadd IsOpen.iUnion_preimage_vadd
@[to_additive]
theorem IsOpen.iUnion_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne : U.Nonempty) :
- (⋃ g : G, g • U) = univ :=
+ ⋃ g : G, g • U = univ :=
iUnion_eq_univ_iff.2 fun x ↦
let ⟨g, hg⟩ := hUo.exists_smul_mem G x hne
⟨g⁻¹, _, hg, inv_smul_smul _ _⟩
@@ -125,7 +125,7 @@ theorem isMinimal_iff_closed_smul_invariant [ContinuousConstSMul M α] :
· intro _ _
exact eq_empty_or_univ_of_smul_invariant_closed M
refine' fun H ↦ ⟨fun _ ↦ dense_iff_closure_eq.2 <| (H _ _ _).resolve_left _⟩
- exacts[isClosed_closure, fun _ ↦ smul_closure_orbit_subset _ _,
+ exacts [isClosed_closure, fun _ ↦ smul_closure_orbit_subset _ _,
(orbit_nonempty _).closure.ne_empty]
#align is_minimal_iff_closed_smul_invariant isMinimal_iff_closed_smul_invariant
#align is_minimal_iff_closed_vadd_invariant isMinimal_iff_closed_vadd_invariant
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -77,20 +77,20 @@ theorem IsOpen.exists_smul_mem [IsMinimal M α] (x : α) {U : Set α} (hUo : IsO
#align is_open.exists_vadd_mem IsOpen.exists_vadd_mem
@[to_additive]
-theorem IsOpen.unionᵢ_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
+theorem IsOpen.iUnion_preimage_smul [IsMinimal M α] {U : Set α} (hUo : IsOpen U)
(hne : U.Nonempty) : (⋃ c : M, (· • ·) c ⁻¹' U) = univ :=
- unionᵢ_eq_univ_iff.2 fun x ↦ hUo.exists_smul_mem M x hne
-#align is_open.Union_preimage_smul IsOpen.unionᵢ_preimage_smul
-#align is_open.Union_preimage_vadd IsOpen.unionᵢ_preimage_vadd
+ iUnion_eq_univ_iff.2 fun x ↦ hUo.exists_smul_mem M x hne
+#align is_open.Union_preimage_smul IsOpen.iUnion_preimage_smul
+#align is_open.Union_preimage_vadd IsOpen.iUnion_preimage_vadd
@[to_additive]
-theorem IsOpen.unionᵢ_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne : U.Nonempty) :
+theorem IsOpen.iUnion_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne : U.Nonempty) :
(⋃ g : G, g • U) = univ :=
- unionᵢ_eq_univ_iff.2 fun x ↦
+ iUnion_eq_univ_iff.2 fun x ↦
let ⟨g, hg⟩ := hUo.exists_smul_mem G x hne
⟨g⁻¹, _, hg, inv_smul_smul _ _⟩
-#align is_open.Union_smul IsOpen.unionᵢ_smul
-#align is_open.Union_vadd IsOpen.unionᵢ_vadd
+#align is_open.Union_smul IsOpen.iUnion_smul
+#align is_open.Union_vadd IsOpen.iUnion_vadd
@[to_additive]
theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul G α]
@@ -98,7 +98,7 @@ theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul
∃ I : Finset G, K ⊆ ⋃ g ∈ I, g • U :=
(hK.elim_finite_subcover (fun g ↦ g • U) fun _ ↦ hUo.smul _) <| calc
K ⊆ univ := subset_univ K
- _ = ⋃ g : G, g • U := (hUo.unionᵢ_smul G hne).symm
+ _ = ⋃ g : G, g • U := (hUo.iUnion_smul G hne).symm
#align is_compact.exists_finite_cover_smul IsCompact.exists_finite_cover_smul
#align is_compact.exists_finite_cover_vadd IsCompact.exists_finite_cover_vadd
@@ -93,7 +93,7 @@ theorem IsOpen.unionᵢ_smul [IsMinimal G α] {U : Set α} (hUo : IsOpen U) (hne
#align is_open.Union_vadd IsOpen.unionᵢ_vadd
@[to_additive]
-theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [HasContinuousConstSMul G α]
+theorem IsCompact.exists_finite_cover_smul [IsMinimal G α] [ContinuousConstSMul G α]
{K U : Set α} (hK : IsCompact K) (hUo : IsOpen U) (hne : U.Nonempty) :
∃ I : Finset G, K ⊆ ⋃ g ∈ I, g • U :=
(hK.elim_finite_subcover (fun g ↦ g • U) fun _ ↦ hUo.smul _) <| calc
@@ -119,7 +119,7 @@ theorem eq_empty_or_univ_of_smul_invariant_closed [IsMinimal M α] {s : Set α}
#align eq_empty_or_univ_of_vadd_invariant_closed eq_empty_or_univ_of_vadd_invariant_closed
@[to_additive]
-theorem isMinimal_iff_closed_smul_invariant [HasContinuousConstSMul M α] :
+theorem isMinimal_iff_closed_smul_invariant [ContinuousConstSMul M α] :
IsMinimal M α ↔ ∀ s : Set α, IsClosed s → (∀ c : M, c • s ⊆ s) → s = ∅ ∨ s = univ := by
constructor
· intro _ _
The unported dependencies are