algebra.module.pointwise_pi
⟷
Mathlib.Algebra.Module.PointwisePi
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)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2021 Alex J. Best. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best
-/
-import Data.Set.Pointwise.Smul
+import Data.Set.Pointwise.SMul
import GroupTheory.GroupAction.Pi
#align_import algebra.module.pointwise_pi from "leanprover-community/mathlib"@"f2f413b9d4be3a02840d0663dace76e8fe3da053"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Alex J. Best. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best
-/
-import Mathbin.Data.Set.Pointwise.Smul
-import Mathbin.GroupTheory.GroupAction.Pi
+import Data.Set.Pointwise.Smul
+import GroupTheory.GroupAction.Pi
#align_import algebra.module.pointwise_pi from "leanprover-community/mathlib"@"f2f413b9d4be3a02840d0663dace76e8fe3da053"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Alex J. Best. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best
-
-! This file was ported from Lean 3 source module algebra.module.pointwise_pi
-! leanprover-community/mathlib commit f2f413b9d4be3a02840d0663dace76e8fe3da053
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Data.Set.Pointwise.Smul
import Mathbin.GroupTheory.GroupAction.Pi
+#align_import algebra.module.pointwise_pi from "leanprover-community/mathlib"@"f2f413b9d4be3a02840d0663dace76e8fe3da053"
+
/-!
# Pointwise actions on sets in Pi types
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -32,6 +32,7 @@ open Set
variable {K ι : Type _} {R : ι → Type _}
+#print smul_pi_subset /-
@[to_additive]
theorem smul_pi_subset [∀ i, SMul K (R i)] (r : K) (s : Set ι) (t : ∀ i, Set (R i)) :
r • pi s t ⊆ pi s (r • t) := by
@@ -39,7 +40,9 @@ theorem smul_pi_subset [∀ i, SMul K (R i)] (r : K) (s : Set ι) (t : ∀ i, Se
exact smul_mem_smul_set (h i hi)
#align smul_pi_subset smul_pi_subset
#align vadd_pi_subset vadd_pi_subset
+-/
+#print smul_univ_pi /-
@[to_additive]
theorem smul_univ_pi [∀ i, SMul K (R i)] (r : K) (t : ∀ i, Set (R i)) :
r • pi (univ : Set ι) t = pi (univ : Set ι) (r • t) :=
@@ -50,7 +53,9 @@ theorem smul_univ_pi [∀ i, SMul K (R i)] (r : K) (t : ∀ i, Set (R i)) :
· exact (Classical.choose_spec (h i _)).right
#align smul_univ_pi smul_univ_pi
#align vadd_univ_pi vadd_univ_pi
+-/
+#print smul_pi /-
@[to_additive]
theorem smul_pi [Group K] [∀ i, MulAction K (R i)] (r : K) (S : Set ι) (t : ∀ i, Set (R i)) :
r • S.pi t = S.pi (r • t) :=
@@ -58,9 +63,12 @@ theorem smul_pi [Group K] [∀ i, MulAction K (R i)] (r : K) (S : Set ι) (t :
⟨r⁻¹ • x, fun i hiS => mem_smul_set_iff_inv_smul_mem.mp (h i hiS), smul_inv_smul _ _⟩
#align smul_pi smul_pi
#align vadd_pi vadd_pi
+-/
+#print smul_pi₀ /-
theorem smul_pi₀ [GroupWithZero K] [∀ i, MulAction K (R i)] {r : K} (S : Set ι) (t : ∀ i, Set (R i))
(hr : r ≠ 0) : r • S.pi t = S.pi (r • t) :=
smul_pi (Units.mk0 r hr) S t
#align smul_pi₀ smul_pi₀
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -26,7 +26,7 @@ set multiplication, set addition, pointwise addition, pointwise multiplication,
-/
-open Pointwise
+open scoped Pointwise
open Set
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -32,12 +32,6 @@ open Set
variable {K ι : Type _} {R : ι → Type _}
-/- warning: smul_pi_subset -> smul_pi_subset is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {ι : Type.{u2}} {R : ι -> Type.{u3}} [_inst_1 : forall (i : ι), SMul.{u1, u3} K (R i)] (r : K) (s : Set.{u2} ι) (t : forall (i : ι), Set.{u3} (R i)), HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (forall (i : ι), R i)) (Set.hasSubset.{max u2 u3} (forall (i : ι), R i)) (SMul.smul.{u1, max u2 u3} K (Set.{max u2 u3} (forall (i : ι), R i)) (Set.smulSet.{u1, max u2 u3} K (forall (i : ι), R i) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => R i) (fun (i : ι) => _inst_1 i))) r (Set.pi.{u2, u3} ι (fun (i : ι) => R i) s t)) (Set.pi.{u2, u3} ι (fun (i : ι) => R i) s (SMul.smul.{u1, max u2 u3} K (forall (i : ι), Set.{u3} (R i)) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => Set.{u3} (R i)) (fun (i : ι) => Set.smulSet.{u1, u3} K (R i) (_inst_1 i))) r t))
-but is expected to have type
- forall {K : Type.{u3}} {ι : Type.{u1}} {R : ι -> Type.{u2}} [_inst_1 : forall (i : ι), SMul.{u3, u2} K (R i)] (r : K) (s : Set.{u1} ι) (t : forall (i : ι), Set.{u2} (R i)), HasSubset.Subset.{max u1 u2} (Set.{max u1 u2} (forall (i : ι), R i)) (Set.instHasSubsetSet.{max u1 u2} (forall (i : ι), R i)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.{max u1 u2} (forall (i : ι), R i)) (instHSMul.{u3, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.smulSet.{u3, max u1 u2} K (forall (i : ι), R i) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => R i) (fun (i : ι) => _inst_1 i)))) r (Set.pi.{u1, u2} ι (fun (i : ι) => R i) s t)) (Set.pi.{u1, u2} ι (fun (i : ι) => R i) s (HSMul.hSMul.{u3, max u1 u2, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (forall (i : ι), Set.{u2} (R i)) (instHSMul.{u3, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => Set.{u2} (R i)) (fun (i : ι) => Set.smulSet.{u3, u2} K (R i) (_inst_1 i)))) r t))
-Case conversion may be inaccurate. Consider using '#align smul_pi_subset smul_pi_subsetₓ'. -/
@[to_additive]
theorem smul_pi_subset [∀ i, SMul K (R i)] (r : K) (s : Set ι) (t : ∀ i, Set (R i)) :
r • pi s t ⊆ pi s (r • t) := by
@@ -46,12 +40,6 @@ theorem smul_pi_subset [∀ i, SMul K (R i)] (r : K) (s : Set ι) (t : ∀ i, Se
#align smul_pi_subset smul_pi_subset
#align vadd_pi_subset vadd_pi_subset
-/- warning: smul_univ_pi -> smul_univ_pi is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {ι : Type.{u2}} {R : ι -> Type.{u3}} [_inst_1 : forall (i : ι), SMul.{u1, u3} K (R i)] (r : K) (t : forall (i : ι), Set.{u3} (R i)), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (forall (i : ι), R i)) (SMul.smul.{u1, max u2 u3} K (Set.{max u2 u3} (forall (i : ι), R i)) (Set.smulSet.{u1, max u2 u3} K (forall (i : ι), R i) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => R i) (fun (i : ι) => _inst_1 i))) r (Set.pi.{u2, u3} ι (fun (i : ι) => R i) (Set.univ.{u2} ι) t)) (Set.pi.{u2, u3} ι (fun (i : ι) => R i) (Set.univ.{u2} ι) (SMul.smul.{u1, max u2 u3} K (forall (i : ι), Set.{u3} (R i)) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => Set.{u3} (R i)) (fun (i : ι) => Set.smulSet.{u1, u3} K (R i) (_inst_1 i))) r t))
-but is expected to have type
- forall {K : Type.{u3}} {ι : Type.{u1}} {R : ι -> Type.{u2}} [_inst_1 : forall (i : ι), SMul.{u3, u2} K (R i)] (r : K) (t : forall (i : ι), Set.{u2} (R i)), Eq.{max (succ u1) (succ u2)} (Set.{max u1 u2} (forall (i : ι), R i)) (HSMul.hSMul.{u3, max u2 u1, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.{max u1 u2} (forall (i : ι), R i)) (instHSMul.{u3, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.smulSet.{u3, max u1 u2} K (forall (i : ι), R i) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => R i) (fun (i : ι) => _inst_1 i)))) r (Set.pi.{u1, u2} ι (fun (i : ι) => R i) (Set.univ.{u1} ι) t)) (Set.pi.{u1, u2} ι (fun (i : ι) => R i) (Set.univ.{u1} ι) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (forall (i : ι), Set.{u2} (R i)) (instHSMul.{u3, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => Set.{u2} (R i)) (fun (i : ι) => Set.smulSet.{u3, u2} K (R i) (_inst_1 i)))) r t))
-Case conversion may be inaccurate. Consider using '#align smul_univ_pi smul_univ_piₓ'. -/
@[to_additive]
theorem smul_univ_pi [∀ i, SMul K (R i)] (r : K) (t : ∀ i, Set (R i)) :
r • pi (univ : Set ι) t = pi (univ : Set ι) (r • t) :=
@@ -63,12 +51,6 @@ theorem smul_univ_pi [∀ i, SMul K (R i)] (r : K) (t : ∀ i, Set (R i)) :
#align smul_univ_pi smul_univ_pi
#align vadd_univ_pi vadd_univ_pi
-/- warning: smul_pi -> smul_pi is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {ι : Type.{u2}} {R : ι -> Type.{u3}} [_inst_1 : Group.{u1} K] [_inst_2 : forall (i : ι), MulAction.{u1, u3} K (R i) (DivInvMonoid.toMonoid.{u1} K (Group.toDivInvMonoid.{u1} K _inst_1))] (r : K) (S : Set.{u2} ι) (t : forall (i : ι), Set.{u3} (R i)), Eq.{succ (max u2 u3)} (Set.{max u2 u3} (forall (i : ι), R i)) (SMul.smul.{u1, max u2 u3} K (Set.{max u2 u3} (forall (i : ι), R i)) (Set.smulSet.{u1, max u2 u3} K (forall (i : ι), R i) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => R i) (fun (i : ι) => MulAction.toHasSmul.{u1, u3} K (R i) (DivInvMonoid.toMonoid.{u1} K (Group.toDivInvMonoid.{u1} K _inst_1)) (_inst_2 i)))) r (Set.pi.{u2, u3} ι (fun (i : ι) => R i) S t)) (Set.pi.{u2, u3} ι (fun (i : ι) => R i) S (SMul.smul.{u1, max u2 u3} K (forall (i : ι), Set.{u3} (R i)) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => Set.{u3} (R i)) (fun (i : ι) => Set.smulSet.{u1, u3} K (R i) (MulAction.toHasSmul.{u1, u3} K (R i) (DivInvMonoid.toMonoid.{u1} K (Group.toDivInvMonoid.{u1} K _inst_1)) (_inst_2 i)))) r t))
-but is expected to have type
- forall {K : Type.{u3}} {ι : Type.{u1}} {R : ι -> Type.{u2}} [_inst_1 : Group.{u3} K] [_inst_2 : forall (i : ι), MulAction.{u3, u2} K (R i) (DivInvMonoid.toMonoid.{u3} K (Group.toDivInvMonoid.{u3} K _inst_1))] (r : K) (S : Set.{u1} ι) (t : forall (i : ι), Set.{u2} (R i)), Eq.{max (succ u1) (succ u2)} (Set.{max u1 u2} (forall (i : ι), R i)) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.{max u1 u2} (forall (i : ι), R i)) (instHSMul.{u3, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.smulSet.{u3, max u1 u2} K (forall (i : ι), R i) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => R i) (fun (i : ι) => MulAction.toSMul.{u3, u2} K (R i) (DivInvMonoid.toMonoid.{u3} K (Group.toDivInvMonoid.{u3} K _inst_1)) (_inst_2 i))))) r (Set.pi.{u1, u2} ι (fun (i : ι) => R i) S t)) (Set.pi.{u1, u2} ι (fun (i : ι) => R i) S (HSMul.hSMul.{u3, max u1 u2, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (forall (i : ι), Set.{u2} (R i)) (instHSMul.{u3, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => Set.{u2} (R i)) (fun (i : ι) => Set.smulSet.{u3, u2} K (R i) (MulAction.toSMul.{u3, u2} K (R i) (DivInvMonoid.toMonoid.{u3} K (Group.toDivInvMonoid.{u3} K _inst_1)) (_inst_2 i))))) r t))
-Case conversion may be inaccurate. Consider using '#align smul_pi smul_piₓ'. -/
@[to_additive]
theorem smul_pi [Group K] [∀ i, MulAction K (R i)] (r : K) (S : Set ι) (t : ∀ i, Set (R i)) :
r • S.pi t = S.pi (r • t) :=
@@ -77,12 +59,6 @@ theorem smul_pi [Group K] [∀ i, MulAction K (R i)] (r : K) (S : Set ι) (t :
#align smul_pi smul_pi
#align vadd_pi vadd_pi
-/- warning: smul_pi₀ -> smul_pi₀ is a dubious translation:
-lean 3 declaration is
- forall {K : Type.{u1}} {ι : Type.{u2}} {R : ι -> Type.{u3}} [_inst_1 : GroupWithZero.{u1} K] [_inst_2 : forall (i : ι), MulAction.{u1, u3} K (R i) (MonoidWithZero.toMonoid.{u1} K (GroupWithZero.toMonoidWithZero.{u1} K _inst_1))] {r : K} (S : Set.{u2} ι) (t : forall (i : ι), Set.{u3} (R i)), (Ne.{succ u1} K r (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (GroupWithZero.toMonoidWithZero.{u1} K _inst_1)))))))) -> (Eq.{succ (max u2 u3)} (Set.{max u2 u3} (forall (i : ι), R i)) (SMul.smul.{u1, max u2 u3} K (Set.{max u2 u3} (forall (i : ι), R i)) (Set.smulSet.{u1, max u2 u3} K (forall (i : ι), R i) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => R i) (fun (i : ι) => MulAction.toHasSmul.{u1, u3} K (R i) (MonoidWithZero.toMonoid.{u1} K (GroupWithZero.toMonoidWithZero.{u1} K _inst_1)) (_inst_2 i)))) r (Set.pi.{u2, u3} ι (fun (i : ι) => R i) S t)) (Set.pi.{u2, u3} ι (fun (i : ι) => R i) S (SMul.smul.{u1, max u2 u3} K (forall (i : ι), Set.{u3} (R i)) (Pi.instSMul.{u2, u3, u1} ι K (fun (i : ι) => Set.{u3} (R i)) (fun (i : ι) => Set.smulSet.{u1, u3} K (R i) (MulAction.toHasSmul.{u1, u3} K (R i) (MonoidWithZero.toMonoid.{u1} K (GroupWithZero.toMonoidWithZero.{u1} K _inst_1)) (_inst_2 i)))) r t)))
-but is expected to have type
- forall {K : Type.{u3}} {ι : Type.{u1}} {R : ι -> Type.{u2}} [_inst_1 : GroupWithZero.{u3} K] [_inst_2 : forall (i : ι), MulAction.{u3, u2} K (R i) (MonoidWithZero.toMonoid.{u3} K (GroupWithZero.toMonoidWithZero.{u3} K _inst_1))] {r : K} (S : Set.{u1} ι) (t : forall (i : ι), Set.{u2} (R i)), (Ne.{succ u3} K r (OfNat.ofNat.{u3} K 0 (Zero.toOfNat0.{u3} K (MonoidWithZero.toZero.{u3} K (GroupWithZero.toMonoidWithZero.{u3} K _inst_1))))) -> (Eq.{max (succ u1) (succ u2)} (Set.{max u1 u2} (forall (i : ι), R i)) (HSMul.hSMul.{u3, max u1 u2, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.{max u1 u2} (forall (i : ι), R i)) (instHSMul.{u3, max u1 u2} K (Set.{max u1 u2} (forall (i : ι), R i)) (Set.smulSet.{u3, max u1 u2} K (forall (i : ι), R i) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => R i) (fun (i : ι) => MulAction.toSMul.{u3, u2} K (R i) (MonoidWithZero.toMonoid.{u3} K (GroupWithZero.toMonoidWithZero.{u3} K _inst_1)) (_inst_2 i))))) r (Set.pi.{u1, u2} ι (fun (i : ι) => R i) S t)) (Set.pi.{u1, u2} ι (fun (i : ι) => R i) S (HSMul.hSMul.{u3, max u1 u2, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (forall (i : ι), Set.{u2} (R i)) (instHSMul.{u3, max u1 u2} K (forall (i : ι), Set.{u2} (R i)) (Pi.instSMul.{u1, u2, u3} ι K (fun (i : ι) => Set.{u2} (R i)) (fun (i : ι) => Set.smulSet.{u3, u2} K (R i) (MulAction.toSMul.{u3, u2} K (R i) (MonoidWithZero.toMonoid.{u3} K (GroupWithZero.toMonoidWithZero.{u3} K _inst_1)) (_inst_2 i))))) r t)))
-Case conversion may be inaccurate. Consider using '#align smul_pi₀ smul_pi₀ₓ'. -/
theorem smul_pi₀ [GroupWithZero K] [∀ i, MulAction K (R i)] {r : K} (S : Set ι) (t : ∀ i, Set (R i))
(hr : r ≠ 0) : r • S.pi t = S.pi (r • t) :=
smul_pi (Units.mk0 r hr) S t
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -23,7 +23,7 @@ open Pointwise
open Set
-variable {K ι : Type _} {R : ι → Type _}
+variable {K ι : Type*} {R : ι → Type*}
@[to_additive]
theorem smul_pi_subset [∀ i, SMul K (R i)] (r : K) (s : Set ι) (t : ∀ i, Set (R i)) :
@@ -2,15 +2,12 @@
Copyright (c) 2021 Alex J. Best. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best
-
-! This file was ported from Lean 3 source module algebra.module.pointwise_pi
-! leanprover-community/mathlib commit 9003f28797c0664a49e4179487267c494477d853
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Data.Set.Pointwise.SMul
import Mathlib.GroupTheory.GroupAction.Pi
+#align_import algebra.module.pointwise_pi from "leanprover-community/mathlib"@"9003f28797c0664a49e4179487267c494477d853"
+
/-!
# Pointwise actions on sets in Pi types
by
s! (#3825)
This PR puts, with one exception, every single remaining by
that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh
. The exception is when the by
begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.
Essentially this is s/\n *by$/ by/g
, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated by
s".
@@ -40,8 +40,7 @@ theorem smul_pi_subset [∀ i, SMul K (R i)] (r : K) (s : Set ι) (t : ∀ i, Se
@[to_additive]
theorem smul_univ_pi [∀ i, SMul K (R i)] (r : K) (t : ∀ i, Set (R i)) :
r • pi (univ : Set ι) t = pi (univ : Set ι) (r • t) :=
- (Subset.antisymm (smul_pi_subset _ _ _)) fun x h ↦
- by
+ (Subset.antisymm (smul_pi_subset _ _ _)) fun x h ↦ by
refine' ⟨fun i ↦ Classical.choose (h i <| Set.mem_univ _), fun i _ ↦ _, funext fun i ↦ _⟩
· exact (Classical.choose_spec (h i <| Set.mem_univ i)).left
· exact (Classical.choose_spec (h i <| Set.mem_univ i)).right
@@ -34,6 +34,7 @@ theorem smul_pi_subset [∀ i, SMul K (R i)] (r : K) (s : Set ι) (t : ∀ i, Se
rintro x ⟨y, h, rfl⟩ i hi
exact smul_mem_smul_set (h i hi)
#align smul_pi_subset smul_pi_subset
+#align vadd_pi_subset vadd_pi_subset
-- Porting note: Lean 4 can't synthesize `Set.mem_univ i`?
@[to_additive]
@@ -45,6 +46,7 @@ theorem smul_univ_pi [∀ i, SMul K (R i)] (r : K) (t : ∀ i, Set (R i)) :
· exact (Classical.choose_spec (h i <| Set.mem_univ i)).left
· exact (Classical.choose_spec (h i <| Set.mem_univ i)).right
#align smul_univ_pi smul_univ_pi
+#align vadd_univ_pi vadd_univ_pi
@[to_additive]
theorem smul_pi [Group K] [∀ i, MulAction K (R i)] (r : K) (S : Set ι) (t : ∀ i, Set (R i)) :
@@ -52,6 +54,7 @@ theorem smul_pi [Group K] [∀ i, MulAction K (R i)] (r : K) (S : Set ι) (t :
(Subset.antisymm (smul_pi_subset _ _ _)) fun x h ↦
⟨r⁻¹ • x, fun i hiS ↦ mem_smul_set_iff_inv_smul_mem.mp (h i hiS), smul_inv_smul _ _⟩
#align smul_pi smul_pi
+#align vadd_pi vadd_pi
theorem smul_pi₀ [GroupWithZero K] [∀ i, MulAction K (R i)] {r : K} (S : Set ι) (t : ∀ i, Set (R i))
(hr : r ≠ 0) : r • S.pi t = S.pi (r • t) :=
The unported dependencies are