topology.algebra.star
⟷
Mathlib.Topology.Algebra.Star
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,10 +3,10 @@ Copyright (c) 2022 Eric Wieser. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Eric Wieser
-/
-import Mathbin.Algebra.Star.Pi
-import Mathbin.Algebra.Star.Prod
-import Mathbin.Topology.Algebra.Constructions
-import Mathbin.Topology.ContinuousFunction.Basic
+import Algebra.Star.Pi
+import Algebra.Star.Prod
+import Topology.Algebra.Constructions
+import Topology.ContinuousFunction.Basic
#align_import topology.algebra.star from "leanprover-community/mathlib"@"50832daea47b195a48b5b33b1c8b2162c48c3afc"
mathlib commit https://github.com/leanprover-community/mathlib/commit/442a83d738cb208d3600056c489be16900ba701d
@@ -124,7 +124,7 @@ instance {C : ι → Type _} [∀ i, TopologicalSpace (C i)] [∀ i, Star (C i)]
instance [Star R] [TopologicalSpace R] [ContinuousStar R] : ContinuousStar Rᵐᵒᵖ :=
⟨MulOpposite.continuous_op.comp <| MulOpposite.continuous_unop.unit⟩
-instance [Monoid R] [StarSemigroup R] [TopologicalSpace R] [ContinuousStar R] : ContinuousStar Rˣ :=
+instance [Monoid R] [StarMul R] [TopologicalSpace R] [ContinuousStar R] : ContinuousStar Rˣ :=
⟨continuous_induced_rng.2 Units.continuous_embedProduct.unit⟩
end Instances
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2022 Eric Wieser. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module topology.algebra.star
-! leanprover-community/mathlib commit 50832daea47b195a48b5b33b1c8b2162c48c3afc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Star.Pi
import Mathbin.Algebra.Star.Prod
import Mathbin.Topology.Algebra.Constructions
import Mathbin.Topology.ContinuousFunction.Basic
+#align_import topology.algebra.star from "leanprover-community/mathlib"@"50832daea47b195a48b5b33b1c8b2162c48c3afc"
+
/-!
# Continuity of `star`
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -69,30 +69,40 @@ theorem tendsto_star (a : R) : Tendsto star (𝓝 a) (𝓝 (star a)) :=
#align tendsto_star tendsto_star
-/
+#print Filter.Tendsto.star /-
theorem Filter.Tendsto.star {f : α → R} {l : Filter α} {y : R} (h : Tendsto f l (𝓝 y)) :
Tendsto (fun x => star (f x)) l (𝓝 (star y)) :=
(continuous_star.Tendsto y).comp h
#align filter.tendsto.star Filter.Tendsto.star
+-/
variable [TopologicalSpace α] {f : α → R} {s : Set α} {x : α}
+#print Continuous.star /-
@[continuity]
theorem Continuous.star (hf : Continuous f) : Continuous fun x => star (f x) :=
continuous_star.comp hf
#align continuous.star Continuous.star
+-/
+#print ContinuousAt.star /-
theorem ContinuousAt.star (hf : ContinuousAt f x) : ContinuousAt (fun x => star (f x)) x :=
continuousAt_star.comp hf
#align continuous_at.star ContinuousAt.star
+-/
+#print ContinuousOn.star /-
theorem ContinuousOn.star (hf : ContinuousOn f s) : ContinuousOn (fun x => star (f x)) s :=
continuous_star.comp_continuousOn hf
#align continuous_on.star ContinuousOn.star
+-/
+#print ContinuousWithinAt.star /-
theorem ContinuousWithinAt.star (hf : ContinuousWithinAt f s x) :
ContinuousWithinAt (fun x => star (f x)) s x :=
hf.unit
#align continuous_within_at.star ContinuousWithinAt.star
+-/
#print starContinuousMap /-
/-- The star operation bundled as a continuous map. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -24,7 +24,7 @@ This file defines the `has_continuous_star` typeclass, along with instances on `
-/
-open Filter Topology
+open scoped Filter Topology
open Filter
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -69,12 +69,6 @@ theorem tendsto_star (a : R) : Tendsto star (𝓝 a) (𝓝 (star a)) :=
#align tendsto_star tendsto_star
-/
-/- warning: filter.tendsto.star -> Filter.Tendsto.star is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} R] [_inst_2 : Star.{u2} R] [_inst_3 : ContinuousStar.{u2} R _inst_1 _inst_2] {f : α -> R} {l : Filter.{u1} α} {y : R}, (Filter.Tendsto.{u1, u2} α R f l (nhds.{u2} R _inst_1 y)) -> (Filter.Tendsto.{u1, u2} α R (fun (x : α) => Star.star.{u2} R _inst_2 (f x)) l (nhds.{u2} R _inst_1 (Star.star.{u2} R _inst_2 y)))
-but is expected to have type
- forall {α : Type.{u1}} [R : TopologicalSpace.{u1} α] [_inst_1 : Star.{u1} α] [_inst_2 : ContinuousStar.{u1} α R _inst_1] {_inst_3 : Type.{u2}} {f : _inst_3 -> α} {l : Filter.{u2} _inst_3} {y : α}, (Filter.Tendsto.{u2, u1} _inst_3 α f l (nhds.{u1} α R y)) -> (Filter.Tendsto.{u2, u1} _inst_3 α (fun (x : _inst_3) => Star.star.{u1} α _inst_1 (f x)) l (nhds.{u1} α R (Star.star.{u1} α _inst_1 y)))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.star Filter.Tendsto.starₓ'. -/
theorem Filter.Tendsto.star {f : α → R} {l : Filter α} {y : R} (h : Tendsto f l (𝓝 y)) :
Tendsto (fun x => star (f x)) l (𝓝 (star y)) :=
(continuous_star.Tendsto y).comp h
@@ -82,43 +76,19 @@ theorem Filter.Tendsto.star {f : α → R} {l : Filter α} {y : R} (h : Tendsto
variable [TopologicalSpace α] {f : α → R} {s : Set α} {x : α}
-/- warning: continuous.star -> Continuous.star is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} R] [_inst_2 : Star.{u2} R] [_inst_3 : ContinuousStar.{u2} R _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u1} α] {f : α -> R}, (Continuous.{u1, u2} α R _inst_4 _inst_1 f) -> (Continuous.{u1, u2} α R _inst_4 _inst_1 (fun (x : α) => Star.star.{u2} R _inst_2 (f x)))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Star.{u1} α] [_inst_3 : ContinuousStar.{u1} α _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u2} R] {f : R -> α}, (Continuous.{u2, u1} R α _inst_4 _inst_1 f) -> (Continuous.{u2, u1} R α _inst_4 _inst_1 (fun (x : R) => Star.star.{u1} α _inst_2 (f x)))
-Case conversion may be inaccurate. Consider using '#align continuous.star Continuous.starₓ'. -/
@[continuity]
theorem Continuous.star (hf : Continuous f) : Continuous fun x => star (f x) :=
continuous_star.comp hf
#align continuous.star Continuous.star
-/- warning: continuous_at.star -> ContinuousAt.star is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} R] [_inst_2 : Star.{u2} R] [_inst_3 : ContinuousStar.{u2} R _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u1} α] {f : α -> R} {x : α}, (ContinuousAt.{u1, u2} α R _inst_4 _inst_1 f x) -> (ContinuousAt.{u1, u2} α R _inst_4 _inst_1 (fun (x : α) => Star.star.{u2} R _inst_2 (f x)) x)
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Star.{u1} α] [_inst_3 : ContinuousStar.{u1} α _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u2} R] {f : R -> α} {x : R}, (ContinuousAt.{u2, u1} R α _inst_4 _inst_1 f x) -> (ContinuousAt.{u2, u1} R α _inst_4 _inst_1 (fun (x : R) => Star.star.{u1} α _inst_2 (f x)) x)
-Case conversion may be inaccurate. Consider using '#align continuous_at.star ContinuousAt.starₓ'. -/
theorem ContinuousAt.star (hf : ContinuousAt f x) : ContinuousAt (fun x => star (f x)) x :=
continuousAt_star.comp hf
#align continuous_at.star ContinuousAt.star
-/- warning: continuous_on.star -> ContinuousOn.star is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} R] [_inst_2 : Star.{u2} R] [_inst_3 : ContinuousStar.{u2} R _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u1} α] {f : α -> R} {s : Set.{u1} α}, (ContinuousOn.{u1, u2} α R _inst_4 _inst_1 f s) -> (ContinuousOn.{u1, u2} α R _inst_4 _inst_1 (fun (x : α) => Star.star.{u2} R _inst_2 (f x)) s)
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Star.{u1} α] [_inst_3 : ContinuousStar.{u1} α _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u2} R] {f : R -> α} {s : Set.{u2} R}, (ContinuousOn.{u2, u1} R α _inst_4 _inst_1 f s) -> (ContinuousOn.{u2, u1} R α _inst_4 _inst_1 (fun (x : R) => Star.star.{u1} α _inst_2 (f x)) s)
-Case conversion may be inaccurate. Consider using '#align continuous_on.star ContinuousOn.starₓ'. -/
theorem ContinuousOn.star (hf : ContinuousOn f s) : ContinuousOn (fun x => star (f x)) s :=
continuous_star.comp_continuousOn hf
#align continuous_on.star ContinuousOn.star
-/- warning: continuous_within_at.star -> ContinuousWithinAt.star is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} R] [_inst_2 : Star.{u2} R] [_inst_3 : ContinuousStar.{u2} R _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u1} α] {f : α -> R} {s : Set.{u1} α} {x : α}, (ContinuousWithinAt.{u1, u2} α R _inst_4 _inst_1 f s x) -> (ContinuousWithinAt.{u1, u2} α R _inst_4 _inst_1 (fun (x : α) => Star.star.{u2} R _inst_2 (f x)) s x)
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Star.{u1} α] [_inst_3 : ContinuousStar.{u1} α _inst_1 _inst_2] [_inst_4 : TopologicalSpace.{u2} R] {f : R -> α} {s : Set.{u2} R} {x : R}, (ContinuousWithinAt.{u2, u1} R α _inst_4 _inst_1 f s x) -> (ContinuousWithinAt.{u2, u1} R α _inst_4 _inst_1 (fun (x : R) => Star.star.{u1} α _inst_2 (f x)) s x)
-Case conversion may be inaccurate. Consider using '#align continuous_within_at.star ContinuousWithinAt.starₓ'. -/
theorem ContinuousWithinAt.star (hf : ContinuousWithinAt f s x) :
ContinuousWithinAt (fun x => star (f x)) s x :=
hf.unit
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -54,15 +54,17 @@ theorem Filter.Tendsto.star {f : α → R} {l : Filter α} {y : R} (h : Tendsto
variable [TopologicalSpace α] {f : α → R} {s : Set α} {x : α}
-@[continuity]
+@[continuity, fun_prop]
theorem Continuous.star (hf : Continuous f) : Continuous fun x => star (f x) :=
continuous_star.comp hf
#align continuous.star Continuous.star
+@[fun_prop]
theorem ContinuousAt.star (hf : ContinuousAt f x) : ContinuousAt (fun x => star (f x)) x :=
continuousAt_star.comp hf
#align continuous_at.star ContinuousAt.star
+@[fun_prop]
theorem ContinuousOn.star (hf : ContinuousOn f s) : ContinuousOn (fun x => star (f x)) s :=
continuous_star.comp_continuousOn hf
#align continuous_on.star ContinuousOn.star
@@ -17,8 +17,6 @@ This file defines the `ContinuousStar` typeclass, along with instances on `Pi`,
`MulOpposite`, and `Units`.
-/
-set_option autoImplicit true
-
open Filter Topology
/-- Basic hypothesis to talk about a topological space with a continuous `star` operator. -/
@@ -31,7 +29,7 @@ export ContinuousStar (continuous_star)
section Continuity
-variable [TopologicalSpace R] [Star R] [ContinuousStar R]
+variable {α R : Type*} [TopologicalSpace R] [Star R] [ContinuousStar R]
theorem continuousOn_star {s : Set R} : ContinuousOn star s :=
continuous_star.continuousOn
@@ -84,6 +82,8 @@ end Continuity
section Instances
+variable {R S ι : Type*}
+
instance [Star R] [Star S] [TopologicalSpace R] [TopologicalSpace S] [ContinuousStar R]
[ContinuousStar S] : ContinuousStar (R × S) :=
⟨(continuous_star.comp continuous_fst).prod_mk (continuous_star.comp continuous_snd)⟩
@@ -89,8 +89,8 @@ instance [Star R] [Star S] [TopologicalSpace R] [TopologicalSpace S] [Continuous
⟨(continuous_star.comp continuous_fst).prod_mk (continuous_star.comp continuous_snd)⟩
instance {C : ι → Type*} [∀ i, TopologicalSpace (C i)] [∀ i, Star (C i)]
- [∀ i, ContinuousStar (C i)] : ContinuousStar (∀ i, C i)
- where continuous_star := continuous_pi fun i => Continuous.star (continuous_apply i)
+ [∀ i, ContinuousStar (C i)] : ContinuousStar (∀ i, C i) where
+ continuous_star := continuous_pi fun i => Continuous.star (continuous_apply i)
instance [Star R] [TopologicalSpace R] [ContinuousStar R] : ContinuousStar Rᵐᵒᵖ :=
⟨MulOpposite.continuous_op.comp <| MulOpposite.continuous_unop.star⟩
Typically a * operation on a mathematical structure R
equipped with a multiplication is an involutive anti-automorphism i.e.
∀ r s : R, star (r * s) = star s * star r
Currently mathlib defines a class StarSemigroup
to be a semigroup satisfying this property. However, the requirement for the multiplication to be associative is unnecessarily restrictive. There are important classes of star-algebra which are not associative (e.g. JB*-algebras).
This PR removes the requirement for a StarSemigroup
to be a semigroup, merely requiring it to have a multiplication.
I've changed the name from StarSemigroup
to StarMul
since it's no longer a semigroup.
Previously opened as a mathlib PR https://github.com/leanprover-community/mathlib/pull/17949
Co-authored-by: Christopher Hoskin <mans0954@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -95,7 +95,7 @@ instance {C : ι → Type*} [∀ i, TopologicalSpace (C i)] [∀ i, Star (C i)]
instance [Star R] [TopologicalSpace R] [ContinuousStar R] : ContinuousStar Rᵐᵒᵖ :=
⟨MulOpposite.continuous_op.comp <| MulOpposite.continuous_unop.star⟩
-instance [Monoid R] [StarSemigroup R] [TopologicalSpace R] [ContinuousStar R] :
+instance [Monoid R] [StarMul R] [TopologicalSpace R] [ContinuousStar R] :
ContinuousStar Rˣ :=
⟨continuous_induced_rng.2 Units.continuous_embedProduct.star⟩
Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.
The intent of this PR is to make autoImplicit
opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true
in the few files that rely on it.
That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.
I claim that many of the uses of autoImplicit
in these files are accidental; situations such as:
variables
are in scope, but pasting the lemma in the wrong sectionHaving set_option autoImplicit false
as the default prevents these types of mistake being made in the 90% of files where autoImplicit
s are not used at all, and causes them to be caught by CI during review.
I think there were various points during the port where we encouraged porters to delete the universes u v
lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.
A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18
as the no:dontcare:yes
vote ratio.
While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true
has been placed locally within a section, rather than at the top of the file.
@@ -17,6 +17,8 @@ This file defines the `ContinuousStar` typeclass, along with instances on `Pi`,
`MulOpposite`, and `Units`.
-/
+set_option autoImplicit true
+
open Filter Topology
/-- Basic hypothesis to talk about a topological space with a continuous `star` operator. -/
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -20,7 +20,7 @@ This file defines the `ContinuousStar` typeclass, along with instances on `Pi`,
open Filter Topology
/-- Basic hypothesis to talk about a topological space with a continuous `star` operator. -/
-class ContinuousStar (R : Type _) [TopologicalSpace R] [Star R] : Prop where
+class ContinuousStar (R : Type*) [TopologicalSpace R] [Star R] : Prop where
/-- The `star` operator is continuous. -/
continuous_star : Continuous (star : R → R)
#align has_continuous_star ContinuousStar
@@ -86,7 +86,7 @@ instance [Star R] [Star S] [TopologicalSpace R] [TopologicalSpace S] [Continuous
[ContinuousStar S] : ContinuousStar (R × S) :=
⟨(continuous_star.comp continuous_fst).prod_mk (continuous_star.comp continuous_snd)⟩
-instance {C : ι → Type _} [∀ i, TopologicalSpace (C i)] [∀ i, Star (C i)]
+instance {C : ι → Type*} [∀ i, TopologicalSpace (C i)] [∀ i, Star (C i)]
[∀ i, ContinuousStar (C i)] : ContinuousStar (∀ i, C i)
where continuous_star := continuous_pi fun i => Continuous.star (continuous_apply i)
@@ -2,17 +2,14 @@
Copyright (c) 2022 Eric Wieser. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module topology.algebra.star
-! 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.Algebra.Star.Pi
import Mathlib.Algebra.Star.Prod
import Mathlib.Topology.Algebra.Constructions
import Mathlib.Topology.ContinuousFunction.Basic
+#align_import topology.algebra.star from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
+
/-!
# Continuity of `star`
We implement the continuity tactic using aesop, this makes it more robust and reduces the code to trivial macros.
@@ -57,7 +57,7 @@ theorem Filter.Tendsto.star {f : α → R} {l : Filter α} {y : R} (h : Tendsto
variable [TopologicalSpace α] {f : α → R} {s : Set α} {x : α}
--- @[continuity] Porting note: restore attribute
+@[continuity]
theorem Continuous.star (hf : Continuous f) : Continuous fun x => star (f x) :=
continuous_star.comp hf
#align continuous.star Continuous.star
The unported dependencies are