measure_theory.function.special_functions.innerMathlib.MeasureTheory.Function.SpecialFunctions.Inner

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -18,7 +18,7 @@ import MeasureTheory.Constructions.BorelSpace.Complex
 
 variable {α : Type _} {𝕜 : Type _} {E : Type _}
 
-variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
+variable [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
Diff
@@ -25,8 +25,8 @@ local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 #print Measurable.inner /-
 @[measurability]
 theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
-    [TopologicalSpace.SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
-    (hg : Measurable g) : Measurable fun t => ⟪f t, g t⟫ :=
+    [SecondCountableTopology E] {f g : α → E} (hf : Measurable f) (hg : Measurable g) :
+    Measurable fun t => ⟪f t, g t⟫ :=
   Continuous.measurable2 continuous_inner hf hg
 #align measurable.inner Measurable.inner
 -/
@@ -34,8 +34,8 @@ theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeas
 #print AEMeasurable.inner /-
 @[measurability]
 theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
-    [TopologicalSpace.SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
-    (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) : AEMeasurable (fun x => ⟪f x, g x⟫) μ :=
+    [SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E} (hf : AEMeasurable f μ)
+    (hg : AEMeasurable g μ) : AEMeasurable (fun x => ⟪f x, g x⟫) μ :=
   by
   refine' ⟨fun x => ⟪hf.mk f x, hg.mk g x⟫, hf.measurable_mk.inner hg.measurable_mk, _⟩
   refine' hf.ae_eq_mk.mp (hg.ae_eq_mk.mono fun x hxg hxf => _)
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
-import Mathbin.Analysis.InnerProductSpace.Basic
-import Mathbin.MeasureTheory.Constructions.BorelSpace.Complex
+import Analysis.InnerProductSpace.Basic
+import MeasureTheory.Constructions.BorelSpace.Complex
 
 #align_import measure_theory.function.special_functions.inner from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module measure_theory.function.special_functions.inner
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.InnerProductSpace.Basic
 import Mathbin.MeasureTheory.Constructions.BorelSpace.Complex
 
+#align_import measure_theory.function.special_functions.inner from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
+
 /-!
 # Measurability of scalar products
 
Diff
@@ -23,16 +23,18 @@ variable {α : Type _} {𝕜 : Type _} {E : Type _}
 
 variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
--- mathport name: «expr⟪ , ⟫»
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
+#print Measurable.inner /-
 @[measurability]
 theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
     (hg : Measurable g) : Measurable fun t => ⟪f t, g t⟫ :=
   Continuous.measurable2 continuous_inner hf hg
 #align measurable.inner Measurable.inner
+-/
 
+#print AEMeasurable.inner /-
 @[measurability]
 theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
@@ -44,4 +46,5 @@ theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMe
   congr
   exacts [hxf, hxg]
 #align ae_measurable.inner AEMeasurable.inner
+-/
 
Diff
@@ -42,6 +42,6 @@ theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMe
   refine' hf.ae_eq_mk.mp (hg.ae_eq_mk.mono fun x hxg hxf => _)
   dsimp only
   congr
-  exacts[hxf, hxg]
+  exacts [hxf, hxg]
 #align ae_measurable.inner AEMeasurable.inner
 
Diff
@@ -26,12 +26,6 @@ variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 -- mathport name: «expr⟪ , ⟫»
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
-/- warning: measurable.inner -> Measurable.inner is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {E : Type.{u3}} [_inst_1 : IsROrC.{u2} 𝕜] [_inst_2 : NormedAddCommGroup.{u3} E] [_inst_3 : InnerProductSpace.{u2, u3} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u1} α} [_inst_4 : MeasurableSpace.{u3} E] [_inst_5 : OpensMeasurableSpace.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2))))] {f : α -> E} {g : α -> E}, (Measurable.{u1, u3} α E m _inst_4 f) -> (Measurable.{u1, u3} α E m _inst_4 g) -> (Measurable.{u1, u2} α 𝕜 m (IsROrC.measurableSpace.{u2} 𝕜 _inst_1) (fun (t : α) => Inner.inner.{u2, u3} 𝕜 E (InnerProductSpace.toHasInner.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_3) (f t) (g t)))
-but is expected to have type
-  forall {α : Type.{u3}} {𝕜 : Type.{u1}} {E : Type.{u2}} [_inst_1 : IsROrC.{u1} 𝕜] [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : InnerProductSpace.{u1, u2} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u3} α} [_inst_4 : MeasurableSpace.{u2} E] [_inst_5 : OpensMeasurableSpace.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2))))] {f : α -> E} {g : α -> E}, (Measurable.{u3, u2} α E m _inst_4 f) -> (Measurable.{u3, u2} α E m _inst_4 g) -> (Measurable.{u3, u1} α 𝕜 m (IsROrC.measurableSpace.{u1} 𝕜 _inst_1) (fun (t : α) => Inner.inner.{u1, u2} 𝕜 E (InnerProductSpace.toInner.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_3) (f t) (g t)))
-Case conversion may be inaccurate. Consider using '#align measurable.inner Measurable.innerₓ'. -/
 @[measurability]
 theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
@@ -39,12 +33,6 @@ theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeas
   Continuous.measurable2 continuous_inner hf hg
 #align measurable.inner Measurable.inner
 
-/- warning: ae_measurable.inner -> AEMeasurable.inner is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {E : Type.{u3}} [_inst_1 : IsROrC.{u2} 𝕜] [_inst_2 : NormedAddCommGroup.{u3} E] [_inst_3 : InnerProductSpace.{u2, u3} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u1} α} [_inst_4 : MeasurableSpace.{u3} E] [_inst_5 : OpensMeasurableSpace.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2))))] {μ : MeasureTheory.Measure.{u1} α m} {f : α -> E} {g : α -> E}, (AEMeasurable.{u1, u3} α E _inst_4 m f μ) -> (AEMeasurable.{u1, u3} α E _inst_4 m g μ) -> (AEMeasurable.{u1, u2} α 𝕜 (IsROrC.measurableSpace.{u2} 𝕜 _inst_1) m (fun (x : α) => Inner.inner.{u2, u3} 𝕜 E (InnerProductSpace.toHasInner.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_3) (f x) (g x)) μ)
-but is expected to have type
-  forall {α : Type.{u3}} {𝕜 : Type.{u1}} {E : Type.{u2}} [_inst_1 : IsROrC.{u1} 𝕜] [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : InnerProductSpace.{u1, u2} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u3} α} [_inst_4 : MeasurableSpace.{u2} E] [_inst_5 : OpensMeasurableSpace.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2))))] {μ : MeasureTheory.Measure.{u3} α m} {f : α -> E} {g : α -> E}, (AEMeasurable.{u3, u2} α E _inst_4 m f μ) -> (AEMeasurable.{u3, u2} α E _inst_4 m g μ) -> (AEMeasurable.{u3, u1} α 𝕜 (IsROrC.measurableSpace.{u1} 𝕜 _inst_1) m (fun (x : α) => Inner.inner.{u1, u2} 𝕜 E (InnerProductSpace.toInner.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_3) (f x) (g x)) μ)
-Case conversion may be inaccurate. Consider using '#align ae_measurable.inner AEMeasurable.innerₓ'. -/
 @[measurability]
 theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 
 ! This file was ported from Lean 3 source module measure_theory.function.special_functions.inner
-! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.MeasureTheory.Constructions.BorelSpace.Complex
 
 /-!
 # Measurability of scalar products
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 -/
 
 
Diff
@@ -23,6 +23,12 @@ variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 -- mathport name: «expr⟪ , ⟫»
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
+/- warning: measurable.inner -> Measurable.inner is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {E : Type.{u3}} [_inst_1 : IsROrC.{u2} 𝕜] [_inst_2 : NormedAddCommGroup.{u3} E] [_inst_3 : InnerProductSpace.{u2, u3} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u1} α} [_inst_4 : MeasurableSpace.{u3} E] [_inst_5 : OpensMeasurableSpace.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2))))] {f : α -> E} {g : α -> E}, (Measurable.{u1, u3} α E m _inst_4 f) -> (Measurable.{u1, u3} α E m _inst_4 g) -> (Measurable.{u1, u2} α 𝕜 m (IsROrC.measurableSpace.{u2} 𝕜 _inst_1) (fun (t : α) => Inner.inner.{u2, u3} 𝕜 E (InnerProductSpace.toHasInner.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_3) (f t) (g t)))
+but is expected to have type
+  forall {α : Type.{u3}} {𝕜 : Type.{u1}} {E : Type.{u2}} [_inst_1 : IsROrC.{u1} 𝕜] [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : InnerProductSpace.{u1, u2} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u3} α} [_inst_4 : MeasurableSpace.{u2} E] [_inst_5 : OpensMeasurableSpace.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2))))] {f : α -> E} {g : α -> E}, (Measurable.{u3, u2} α E m _inst_4 f) -> (Measurable.{u3, u2} α E m _inst_4 g) -> (Measurable.{u3, u1} α 𝕜 m (IsROrC.measurableSpace.{u1} 𝕜 _inst_1) (fun (t : α) => Inner.inner.{u1, u2} 𝕜 E (InnerProductSpace.toInner.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_3) (f t) (g t)))
+Case conversion may be inaccurate. Consider using '#align measurable.inner Measurable.innerₓ'. -/
 @[measurability]
 theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
@@ -30,6 +36,12 @@ theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeas
   Continuous.measurable2 continuous_inner hf hg
 #align measurable.inner Measurable.inner
 
+/- warning: ae_measurable.inner -> AEMeasurable.inner is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {𝕜 : Type.{u2}} {E : Type.{u3}} [_inst_1 : IsROrC.{u2} 𝕜] [_inst_2 : NormedAddCommGroup.{u3} E] [_inst_3 : InnerProductSpace.{u2, u3} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u1} α} [_inst_4 : MeasurableSpace.{u3} E] [_inst_5 : OpensMeasurableSpace.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u3} E (UniformSpace.toTopologicalSpace.{u3} E (PseudoMetricSpace.toUniformSpace.{u3} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u3} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} E _inst_2))))] {μ : MeasureTheory.Measure.{u1} α m} {f : α -> E} {g : α -> E}, (AEMeasurable.{u1, u3} α E _inst_4 m f μ) -> (AEMeasurable.{u1, u3} α E _inst_4 m g μ) -> (AEMeasurable.{u1, u2} α 𝕜 (IsROrC.measurableSpace.{u2} 𝕜 _inst_1) m (fun (x : α) => Inner.inner.{u2, u3} 𝕜 E (InnerProductSpace.toHasInner.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_3) (f x) (g x)) μ)
+but is expected to have type
+  forall {α : Type.{u3}} {𝕜 : Type.{u1}} {E : Type.{u2}} [_inst_1 : IsROrC.{u1} 𝕜] [_inst_2 : NormedAddCommGroup.{u2} E] [_inst_3 : InnerProductSpace.{u1, u2} 𝕜 E _inst_1 _inst_2] {m : MeasurableSpace.{u3} α} [_inst_4 : MeasurableSpace.{u2} E] [_inst_5 : OpensMeasurableSpace.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2)))) _inst_4] [_inst_6 : TopologicalSpace.SecondCountableTopology.{u2} E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_2))))] {μ : MeasureTheory.Measure.{u3} α m} {f : α -> E} {g : α -> E}, (AEMeasurable.{u3, u2} α E _inst_4 m f μ) -> (AEMeasurable.{u3, u2} α E _inst_4 m g μ) -> (AEMeasurable.{u3, u1} α 𝕜 (IsROrC.measurableSpace.{u1} 𝕜 _inst_1) m (fun (x : α) => Inner.inner.{u1, u2} 𝕜 E (InnerProductSpace.toInner.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_3) (f x) (g x)) μ)
+Case conversion may be inaccurate. Consider using '#align ae_measurable.inner AEMeasurable.innerₓ'. -/
 @[measurability]
 theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
Diff
@@ -4,12 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 
 ! This file was ported from Lean 3 source module measure_theory.function.special_functions.inner
-! leanprover-community/mathlib commit 46b633fd842bef9469441c0209906f6dddd2b4f5
+! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.InnerProductSpace.Basic
-import Mathbin.MeasureTheory.Constructions.BorelSpace
+import Mathbin.MeasureTheory.Constructions.BorelSpace.Complex
 
 /-!
 # Measurability of scalar products
Diff
@@ -31,14 +31,14 @@ theorem Measurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeas
 #align measurable.inner Measurable.inner
 
 @[measurability]
-theorem AeMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
+theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
-    (hf : AeMeasurable f μ) (hg : AeMeasurable g μ) : AeMeasurable (fun x => ⟪f x, g x⟫) μ :=
+    (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) : AEMeasurable (fun x => ⟪f x, g x⟫) μ :=
   by
   refine' ⟨fun x => ⟪hf.mk f x, hg.mk g x⟫, hf.measurable_mk.inner hg.measurable_mk, _⟩
   refine' hf.ae_eq_mk.mp (hg.ae_eq_mk.mono fun x hxg hxf => _)
   dsimp only
   congr
   exacts[hxf, hxg]
-#align ae_measurable.inner AeMeasurable.inner
+#align ae_measurable.inner AEMeasurable.inner
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 
 ! This file was ported from Lean 3 source module measure_theory.function.special_functions.inner
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 46b633fd842bef9469441c0209906f6dddd2b4f5
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,7 +16,9 @@ import Mathbin.MeasureTheory.Constructions.BorelSpace
 -/
 
 
-variable {α : Type _} {𝕜 : Type _} {E : Type _} [IsROrC 𝕜] [InnerProductSpace 𝕜 E]
+variable {α : Type _} {𝕜 : Type _} {E : Type _}
+
+variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
 -- mathport name: «expr⟪ , ⟫»
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y

Changes in mathlib4

mathlib3
mathlib4
chore: Rename IsROrC to RCLike (#10819)

IsROrC contains data, which goes against the expectation that classes prefixed with Is are prop-valued. People have been complaining about this on and off, so this PR renames IsROrC to RCLike.

Diff
@@ -14,7 +14,7 @@ import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex
 
 
 variable {α : Type*} {𝕜 : Type*} {E : Type*}
-variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
+variable [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -14,7 +14,6 @@ import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex
 
 
 variable {α : Type*} {𝕜 : Type*} {E : Type*}
-
 variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
chore: bump aesop; update syntax (#10955)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -19,7 +19,7 @@ variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
-@[aesop safe 20 apply (rule_sets [Measurable])]
+@[aesop safe 20 apply (rule_sets := [Measurable])]
 theorem Measurable.inner {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
     (hg : Measurable g) : Measurable fun t => ⟪f t, g t⟫ :=
@@ -38,7 +38,7 @@ theorem Measurable.inner_const {_ : MeasurableSpace α} [MeasurableSpace E] [Ope
     Measurable fun t => ⟪f t, c⟫ :=
   Measurable.inner hf measurable_const
 
-@[aesop safe 20 apply (rule_sets [Measurable])]
+@[aesop safe 20 apply (rule_sets := [Measurable])]
 theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
     (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) : AEMeasurable (fun x => ⟪f x, g x⟫) μ := by
chore: move TopologicalSpace.SecondCountableTopology into the root namespace (#8186)

All the other properties of topological spaces like T0Space or RegularSpace are in the root namespace. Many files were opening TopologicalSpace just for the sake of shortening TopologicalSpace.SecondCountableTopology...

Diff
@@ -21,26 +21,26 @@ local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
 @[aesop safe 20 apply (rule_sets [Measurable])]
 theorem Measurable.inner {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
-    [TopologicalSpace.SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
+    [SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
     (hg : Measurable g) : Measurable fun t => ⟪f t, g t⟫ :=
   Continuous.measurable2 continuous_inner hf hg
 #align measurable.inner Measurable.inner
 
 @[measurability]
 theorem Measurable.const_inner {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
-    [TopologicalSpace.SecondCountableTopology E] {c : E} {f : α → E} (hf : Measurable f) :
+    [SecondCountableTopology E] {c : E} {f : α → E} (hf : Measurable f) :
     Measurable fun t => ⟪c, f t⟫ :=
   Measurable.inner measurable_const hf
 
 @[measurability]
 theorem Measurable.inner_const {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
-    [TopologicalSpace.SecondCountableTopology E] {c : E} {f : α → E} (hf : Measurable f) :
+    [SecondCountableTopology E] {c : E} {f : α → E} (hf : Measurable f) :
     Measurable fun t => ⟪f t, c⟫ :=
   Measurable.inner hf measurable_const
 
 @[aesop safe 20 apply (rule_sets [Measurable])]
 theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
-    [TopologicalSpace.SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
+    [SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
     (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) : AEMeasurable (fun x => ⟪f x, g x⟫) μ := by
   refine' ⟨fun x => ⟪hf.mk f x, hg.mk g x⟫, hf.measurable_mk.inner hg.measurable_mk, _⟩
   refine' hf.ae_eq_mk.mp (hg.ae_eq_mk.mono fun x hxg hxf => _)
@@ -51,7 +51,7 @@ theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMe
 set_option linter.unusedVariables false in
 @[measurability]
 theorem AEMeasurable.const_inner {m : MeasurableSpace α} [MeasurableSpace E]
-    [OpensMeasurableSpace E] [TopologicalSpace.SecondCountableTopology E]
+    [OpensMeasurableSpace E] [SecondCountableTopology E]
     {μ : MeasureTheory.Measure α} {f : α → E} {c : E} (hf : AEMeasurable f μ) :
     AEMeasurable (fun x => ⟪c, f x⟫) μ :=
   AEMeasurable.inner aemeasurable_const hf
@@ -59,7 +59,7 @@ theorem AEMeasurable.const_inner {m : MeasurableSpace α} [MeasurableSpace E]
 set_option linter.unusedVariables false in
 @[measurability]
 theorem AEMeasurable.inner_const {m : MeasurableSpace α} [MeasurableSpace E]
-    [OpensMeasurableSpace E] [TopologicalSpace.SecondCountableTopology E]
+    [OpensMeasurableSpace E] [SecondCountableTopology E]
     {μ : MeasureTheory.Measure α} {f : α → E} {c : E} (hf : AEMeasurable f μ) :
     AEMeasurable (fun x => ⟪f x, c⟫) μ :=
   AEMeasurable.inner hf aemeasurable_const
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -13,7 +13,7 @@ import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex
 -/
 
 
-variable {α : Type _} {𝕜 : Type _} {E : Type _}
+variable {α : Type*} {𝕜 : Type*} {E : Type*}
 
 variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module measure_theory.function.special_functions.inner
-! leanprover-community/mathlib commit bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.InnerProductSpace.Basic
 import Mathlib.MeasureTheory.Constructions.BorelSpace.Complex
 
+#align_import measure_theory.function.special_functions.inner from "leanprover-community/mathlib"@"bf6a01357ff5684b1ebcd0f1a13be314fc82c0bf"
+
 /-!
 # Measurability of scalar products
 -/
feat(MeasureTheory): aesop rules for strong measurability + measurability? tactic (#5427)

This PR adds aesop tags to a few lemmas pertaining to strong measurability, allowing to prove e.g. StronglyMeasurable Real.log using the measurability tactic.

It also implements measurability? via aesop?.

Co-authored-by: Frédéric Dupuis <31101893+dupuisf@users.noreply.github.com>

Diff
@@ -22,7 +22,7 @@ variable [IsROrC 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E]
 
 local notation "⟪" x ", " y "⟫" => @inner 𝕜 _ _ x y
 
-@[measurability]
+@[aesop safe 20 apply (rule_sets [Measurable])]
 theorem Measurable.inner {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {f g : α → E} (hf : Measurable f)
     (hg : Measurable g) : Measurable fun t => ⟪f t, g t⟫ :=
@@ -30,6 +30,18 @@ theorem Measurable.inner {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeas
 #align measurable.inner Measurable.inner
 
 @[measurability]
+theorem Measurable.const_inner {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
+    [TopologicalSpace.SecondCountableTopology E] {c : E} {f : α → E} (hf : Measurable f) :
+    Measurable fun t => ⟪c, f t⟫ :=
+  Measurable.inner measurable_const hf
+
+@[measurability]
+theorem Measurable.inner_const {_ : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
+    [TopologicalSpace.SecondCountableTopology E] {c : E} {f : α → E} (hf : Measurable f) :
+    Measurable fun t => ⟪f t, c⟫ :=
+  Measurable.inner hf measurable_const
+
+@[aesop safe 20 apply (rule_sets [Measurable])]
 theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMeasurableSpace E]
     [TopologicalSpace.SecondCountableTopology E] {μ : MeasureTheory.Measure α} {f g : α → E}
     (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) : AEMeasurable (fun x => ⟪f x, g x⟫) μ := by
@@ -38,3 +50,19 @@ theorem AEMeasurable.inner {m : MeasurableSpace α} [MeasurableSpace E] [OpensMe
   dsimp only
   congr
 #align ae_measurable.inner AEMeasurable.inner
+
+set_option linter.unusedVariables false in
+@[measurability]
+theorem AEMeasurable.const_inner {m : MeasurableSpace α} [MeasurableSpace E]
+    [OpensMeasurableSpace E] [TopologicalSpace.SecondCountableTopology E]
+    {μ : MeasureTheory.Measure α} {f : α → E} {c : E} (hf : AEMeasurable f μ) :
+    AEMeasurable (fun x => ⟪c, f x⟫) μ :=
+  AEMeasurable.inner aemeasurable_const hf
+
+set_option linter.unusedVariables false in
+@[measurability]
+theorem AEMeasurable.inner_const {m : MeasurableSpace α} [MeasurableSpace E]
+    [OpensMeasurableSpace E] [TopologicalSpace.SecondCountableTopology E]
+    {μ : MeasureTheory.Measure α} {f : α → E} {c : E} (hf : AEMeasurable f μ) :
+    AEMeasurable (fun x => ⟪f x, c⟫) μ :=
+  AEMeasurable.inner hf aemeasurable_const
feat: port MeasureTheory.Function.SpecialFunctions.Inner (#4377)

Dependencies 12 + 799

800 files ported (98.5%)
363163 lines ported (98.5%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file