Metamath Proof Explorer


Theorem psrass23

Description: Associative identities for the ring of power series. (Contributed by Mario Carneiro, 7-Jan-2015) (Proof shortened by AV, 25-Nov-2019)

Ref Expression
Hypotheses psrring.s 𝑆 = ( 𝐼 mPwSer 𝑅 )
psrring.i ( 𝜑𝐼𝑉 )
psrring.r ( 𝜑𝑅 ∈ Ring )
psrass.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
psrass.t × = ( .r𝑆 )
psrass.b 𝐵 = ( Base ‘ 𝑆 )
psrass.x ( 𝜑𝑋𝐵 )
psrass.y ( 𝜑𝑌𝐵 )
psrcom.c ( 𝜑𝑅 ∈ CRing )
psrass.k 𝐾 = ( Base ‘ 𝑅 )
psrass.n · = ( ·𝑠𝑆 )
psrass.a ( 𝜑𝐴𝐾 )
Assertion psrass23 ( 𝜑 → ( ( ( 𝐴 · 𝑋 ) × 𝑌 ) = ( 𝐴 · ( 𝑋 × 𝑌 ) ) ∧ ( 𝑋 × ( 𝐴 · 𝑌 ) ) = ( 𝐴 · ( 𝑋 × 𝑌 ) ) ) )

Proof

Step Hyp Ref Expression
1 psrring.s 𝑆 = ( 𝐼 mPwSer 𝑅 )
2 psrring.i ( 𝜑𝐼𝑉 )
3 psrring.r ( 𝜑𝑅 ∈ Ring )
4 psrass.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
5 psrass.t × = ( .r𝑆 )
6 psrass.b 𝐵 = ( Base ‘ 𝑆 )
7 psrass.x ( 𝜑𝑋𝐵 )
8 psrass.y ( 𝜑𝑌𝐵 )
9 psrcom.c ( 𝜑𝑅 ∈ CRing )
10 psrass.k 𝐾 = ( Base ‘ 𝑅 )
11 psrass.n · = ( ·𝑠𝑆 )
12 psrass.a ( 𝜑𝐴𝐾 )
13 1 2 3 4 5 6 7 8 10 11 12 psrass23l ( 𝜑 → ( ( 𝐴 · 𝑋 ) × 𝑌 ) = ( 𝐴 · ( 𝑋 × 𝑌 ) ) )
14 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
15 eqid ( .r𝑅 ) = ( .r𝑅 )
16 12 adantr ( ( 𝜑𝑘𝐷 ) → 𝐴𝐾 )
17 16 10 eleqtrdi ( ( 𝜑𝑘𝐷 ) → 𝐴 ∈ ( Base ‘ 𝑅 ) )
18 17 adantr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝐴 ∈ ( Base ‘ 𝑅 ) )
19 8 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑌𝐵 )
20 ssrab2 { 𝑦𝐷𝑦r𝑘 } ⊆ 𝐷
21 eqid { 𝑦𝐷𝑦r𝑘 } = { 𝑦𝐷𝑦r𝑘 }
22 4 21 psrbagconcl ( ( 𝑘𝐷𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑘f𝑥 ) ∈ { 𝑦𝐷𝑦r𝑘 } )
23 22 adantll ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑘f𝑥 ) ∈ { 𝑦𝐷𝑦r𝑘 } )
24 20 23 sselid ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑘f𝑥 ) ∈ 𝐷 )
25 1 11 14 6 15 4 18 19 24 psrvscaval ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) = ( 𝐴 ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) )
26 25 oveq2d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( ( 𝑋𝑥 ) ( .r𝑅 ) ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) ) = ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝐴 ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) )
27 7 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑋𝐵 )
28 1 14 4 6 27 psrelbas ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑋 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
29 simpr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } )
30 20 29 sselid ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑥𝐷 )
31 28 30 ffvelcdmd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑋𝑥 ) ∈ ( Base ‘ 𝑅 ) )
32 1 14 4 6 19 psrelbas ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑌 : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
33 32 24 ffvelcdmd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ∈ ( Base ‘ 𝑅 ) )
34 9 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑅 ∈ CRing )
35 14 15 crngcom ( ( 𝑅 ∈ CRing ∧ 𝑢 ∈ ( Base ‘ 𝑅 ) ∧ 𝑣 ∈ ( Base ‘ 𝑅 ) ) → ( 𝑢 ( .r𝑅 ) 𝑣 ) = ( 𝑣 ( .r𝑅 ) 𝑢 ) )
36 35 3expb ( ( 𝑅 ∈ CRing ∧ ( 𝑢 ∈ ( Base ‘ 𝑅 ) ∧ 𝑣 ∈ ( Base ‘ 𝑅 ) ) ) → ( 𝑢 ( .r𝑅 ) 𝑣 ) = ( 𝑣 ( .r𝑅 ) 𝑢 ) )
37 34 36 sylan ( ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) ∧ ( 𝑢 ∈ ( Base ‘ 𝑅 ) ∧ 𝑣 ∈ ( Base ‘ 𝑅 ) ) ) → ( 𝑢 ( .r𝑅 ) 𝑣 ) = ( 𝑣 ( .r𝑅 ) 𝑢 ) )
38 3 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → 𝑅 ∈ Ring )
39 14 15 ringass ( ( 𝑅 ∈ Ring ∧ ( 𝑢 ∈ ( Base ‘ 𝑅 ) ∧ 𝑣 ∈ ( Base ‘ 𝑅 ) ∧ 𝑤 ∈ ( Base ‘ 𝑅 ) ) ) → ( ( 𝑢 ( .r𝑅 ) 𝑣 ) ( .r𝑅 ) 𝑤 ) = ( 𝑢 ( .r𝑅 ) ( 𝑣 ( .r𝑅 ) 𝑤 ) ) )
40 38 39 sylan ( ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) ∧ ( 𝑢 ∈ ( Base ‘ 𝑅 ) ∧ 𝑣 ∈ ( Base ‘ 𝑅 ) ∧ 𝑤 ∈ ( Base ‘ 𝑅 ) ) ) → ( ( 𝑢 ( .r𝑅 ) 𝑣 ) ( .r𝑅 ) 𝑤 ) = ( 𝑢 ( .r𝑅 ) ( 𝑣 ( .r𝑅 ) 𝑤 ) ) )
41 31 18 33 37 40 caov12d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝐴 ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) = ( 𝐴 ( .r𝑅 ) ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) )
42 26 41 eqtrd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( ( 𝑋𝑥 ) ( .r𝑅 ) ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) ) = ( 𝐴 ( .r𝑅 ) ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) )
43 42 mpteq2dva ( ( 𝜑𝑘𝐷 ) → ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) ) ) = ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( 𝐴 ( .r𝑅 ) ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) )
44 43 oveq2d ( ( 𝜑𝑘𝐷 ) → ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) ) ) ) = ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( 𝐴 ( .r𝑅 ) ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) )
45 eqid ( 0g𝑅 ) = ( 0g𝑅 )
46 3 adantr ( ( 𝜑𝑘𝐷 ) → 𝑅 ∈ Ring )
47 4 psrbaglefi ( 𝑘𝐷 → { 𝑦𝐷𝑦r𝑘 } ∈ Fin )
48 47 adantl ( ( 𝜑𝑘𝐷 ) → { 𝑦𝐷𝑦r𝑘 } ∈ Fin )
49 14 15 38 31 33 ringcld ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ) → ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ∈ ( Base ‘ 𝑅 ) )
50 ovex ( ℕ0m 𝐼 ) ∈ V
51 4 50 rabex2 𝐷 ∈ V
52 51 mptrabex ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ∈ V
53 funmpt Fun ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) )
54 fvex ( 0g𝑅 ) ∈ V
55 52 53 54 3pm3.2i ( ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ∈ V ∧ Fun ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ∧ ( 0g𝑅 ) ∈ V )
56 55 a1i ( ( 𝜑𝑘𝐷 ) → ( ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ∈ V ∧ Fun ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ∧ ( 0g𝑅 ) ∈ V ) )
57 suppssdm ( ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ dom ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) )
58 eqid ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) = ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) )
59 58 dmmptss dom ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ⊆ { 𝑦𝐷𝑦r𝑘 }
60 57 59 sstri ( ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ { 𝑦𝐷𝑦r𝑘 }
61 60 a1i ( ( 𝜑𝑘𝐷 ) → ( ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ { 𝑦𝐷𝑦r𝑘 } )
62 suppssfifsupp ( ( ( ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ∈ V ∧ Fun ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ∧ ( 0g𝑅 ) ∈ V ) ∧ ( { 𝑦𝐷𝑦r𝑘 } ∈ Fin ∧ ( ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) supp ( 0g𝑅 ) ) ⊆ { 𝑦𝐷𝑦r𝑘 } ) ) → ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) finSupp ( 0g𝑅 ) )
63 56 48 61 62 syl12anc ( ( 𝜑𝑘𝐷 ) → ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) finSupp ( 0g𝑅 ) )
64 14 45 15 46 48 17 49 63 gsummulc2 ( ( 𝜑𝑘𝐷 ) → ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( 𝐴 ( .r𝑅 ) ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) = ( 𝐴 ( .r𝑅 ) ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) )
65 44 64 eqtrd ( ( 𝜑𝑘𝐷 ) → ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) ) ) ) = ( 𝐴 ( .r𝑅 ) ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) )
66 65 mpteq2dva ( 𝜑 → ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) ) ) ) ) = ( 𝑘𝐷 ↦ ( 𝐴 ( .r𝑅 ) ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) ) )
67 1 11 10 6 3 12 8 psrvscacl ( 𝜑 → ( 𝐴 · 𝑌 ) ∈ 𝐵 )
68 1 6 15 5 4 7 67 psrmulfval ( 𝜑 → ( 𝑋 × ( 𝐴 · 𝑌 ) ) = ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( ( 𝐴 · 𝑌 ) ‘ ( 𝑘f𝑥 ) ) ) ) ) ) )
69 1 6 5 3 7 8 psrmulcl ( 𝜑 → ( 𝑋 × 𝑌 ) ∈ 𝐵 )
70 1 11 10 6 15 4 12 69 psrvsca ( 𝜑 → ( 𝐴 · ( 𝑋 × 𝑌 ) ) = ( ( 𝐷 × { 𝐴 } ) ∘f ( .r𝑅 ) ( 𝑋 × 𝑌 ) ) )
71 51 a1i ( 𝜑𝐷 ∈ V )
72 ovex ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ∈ V
73 72 a1i ( ( 𝜑𝑘𝐷 ) → ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ∈ V )
74 fconstmpt ( 𝐷 × { 𝐴 } ) = ( 𝑘𝐷𝐴 )
75 74 a1i ( 𝜑 → ( 𝐷 × { 𝐴 } ) = ( 𝑘𝐷𝐴 ) )
76 1 6 15 5 4 7 8 psrmulfval ( 𝜑 → ( 𝑋 × 𝑌 ) = ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) )
77 71 16 73 75 76 offval2 ( 𝜑 → ( ( 𝐷 × { 𝐴 } ) ∘f ( .r𝑅 ) ( 𝑋 × 𝑌 ) ) = ( 𝑘𝐷 ↦ ( 𝐴 ( .r𝑅 ) ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) ) )
78 70 77 eqtrd ( 𝜑 → ( 𝐴 · ( 𝑋 × 𝑌 ) ) = ( 𝑘𝐷 ↦ ( 𝐴 ( .r𝑅 ) ( 𝑅 Σg ( 𝑥 ∈ { 𝑦𝐷𝑦r𝑘 } ↦ ( ( 𝑋𝑥 ) ( .r𝑅 ) ( 𝑌 ‘ ( 𝑘f𝑥 ) ) ) ) ) ) ) )
79 66 68 78 3eqtr4d ( 𝜑 → ( 𝑋 × ( 𝐴 · 𝑌 ) ) = ( 𝐴 · ( 𝑋 × 𝑌 ) ) )
80 13 79 jca ( 𝜑 → ( ( ( 𝐴 · 𝑋 ) × 𝑌 ) = ( 𝐴 · ( 𝑋 × 𝑌 ) ) ∧ ( 𝑋 × ( 𝐴 · 𝑌 ) ) = ( 𝐴 · ( 𝑋 × 𝑌 ) ) ) )