Metamath Proof Explorer


Theorem isassad

Description: Sufficient condition for being an associative algebra. (Contributed by Mario Carneiro, 5-Dec-2014)

Ref Expression
Hypotheses isassad.v ( 𝜑𝑉 = ( Base ‘ 𝑊 ) )
isassad.f ( 𝜑𝐹 = ( Scalar ‘ 𝑊 ) )
isassad.b ( 𝜑𝐵 = ( Base ‘ 𝐹 ) )
isassad.s ( 𝜑· = ( ·𝑠𝑊 ) )
isassad.t ( 𝜑× = ( .r𝑊 ) )
isassad.1 ( 𝜑𝑊 ∈ LMod )
isassad.2 ( 𝜑𝑊 ∈ Ring )
isassad.3 ( 𝜑𝐹 ∈ CRing )
isassad.4 ( ( 𝜑 ∧ ( 𝑟𝐵𝑥𝑉𝑦𝑉 ) ) → ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) )
isassad.5 ( ( 𝜑 ∧ ( 𝑟𝐵𝑥𝑉𝑦𝑉 ) ) → ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) )
Assertion isassad ( 𝜑𝑊 ∈ AssAlg )

Proof

Step Hyp Ref Expression
1 isassad.v ( 𝜑𝑉 = ( Base ‘ 𝑊 ) )
2 isassad.f ( 𝜑𝐹 = ( Scalar ‘ 𝑊 ) )
3 isassad.b ( 𝜑𝐵 = ( Base ‘ 𝐹 ) )
4 isassad.s ( 𝜑· = ( ·𝑠𝑊 ) )
5 isassad.t ( 𝜑× = ( .r𝑊 ) )
6 isassad.1 ( 𝜑𝑊 ∈ LMod )
7 isassad.2 ( 𝜑𝑊 ∈ Ring )
8 isassad.3 ( 𝜑𝐹 ∈ CRing )
9 isassad.4 ( ( 𝜑 ∧ ( 𝑟𝐵𝑥𝑉𝑦𝑉 ) ) → ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) )
10 isassad.5 ( ( 𝜑 ∧ ( 𝑟𝐵𝑥𝑉𝑦𝑉 ) ) → ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) )
11 2 8 eqeltrrd ( 𝜑 → ( Scalar ‘ 𝑊 ) ∈ CRing )
12 6 7 11 3jca ( 𝜑 → ( 𝑊 ∈ LMod ∧ 𝑊 ∈ Ring ∧ ( Scalar ‘ 𝑊 ) ∈ CRing ) )
13 9 10 jca ( ( 𝜑 ∧ ( 𝑟𝐵𝑥𝑉𝑦𝑉 ) ) → ( ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ∧ ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ) )
14 13 ralrimivvva ( 𝜑 → ∀ 𝑟𝐵𝑥𝑉𝑦𝑉 ( ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ∧ ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ) )
15 2 fveq2d ( 𝜑 → ( Base ‘ 𝐹 ) = ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
16 3 15 eqtrd ( 𝜑𝐵 = ( Base ‘ ( Scalar ‘ 𝑊 ) ) )
17 4 oveqd ( 𝜑 → ( 𝑟 · 𝑥 ) = ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) )
18 eqidd ( 𝜑𝑦 = 𝑦 )
19 5 17 18 oveq123d ( 𝜑 → ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) )
20 eqidd ( 𝜑𝑟 = 𝑟 )
21 5 oveqd ( 𝜑 → ( 𝑥 × 𝑦 ) = ( 𝑥 ( .r𝑊 ) 𝑦 ) )
22 4 20 21 oveq123d ( 𝜑 → ( 𝑟 · ( 𝑥 × 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) )
23 19 22 eqeq12d ( 𝜑 → ( ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ↔ ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) )
24 eqidd ( 𝜑𝑥 = 𝑥 )
25 4 oveqd ( 𝜑 → ( 𝑟 · 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) )
26 5 24 25 oveq123d ( 𝜑 → ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) )
27 26 22 eqeq12d ( 𝜑 → ( ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ↔ ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) )
28 23 27 anbi12d ( 𝜑 → ( ( ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ∧ ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ) ↔ ( ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ∧ ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) ) )
29 1 28 raleqbidv ( 𝜑 → ( ∀ 𝑦𝑉 ( ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ∧ ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ) ↔ ∀ 𝑦 ∈ ( Base ‘ 𝑊 ) ( ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ∧ ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) ) )
30 1 29 raleqbidv ( 𝜑 → ( ∀ 𝑥𝑉𝑦𝑉 ( ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ∧ ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ) ↔ ∀ 𝑥 ∈ ( Base ‘ 𝑊 ) ∀ 𝑦 ∈ ( Base ‘ 𝑊 ) ( ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ∧ ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) ) )
31 16 30 raleqbidv ( 𝜑 → ( ∀ 𝑟𝐵𝑥𝑉𝑦𝑉 ( ( ( 𝑟 · 𝑥 ) × 𝑦 ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ∧ ( 𝑥 × ( 𝑟 · 𝑦 ) ) = ( 𝑟 · ( 𝑥 × 𝑦 ) ) ) ↔ ∀ 𝑟 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∀ 𝑥 ∈ ( Base ‘ 𝑊 ) ∀ 𝑦 ∈ ( Base ‘ 𝑊 ) ( ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ∧ ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) ) )
32 14 31 mpbid ( 𝜑 → ∀ 𝑟 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∀ 𝑥 ∈ ( Base ‘ 𝑊 ) ∀ 𝑦 ∈ ( Base ‘ 𝑊 ) ( ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ∧ ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) )
33 eqid ( Base ‘ 𝑊 ) = ( Base ‘ 𝑊 )
34 eqid ( Scalar ‘ 𝑊 ) = ( Scalar ‘ 𝑊 )
35 eqid ( Base ‘ ( Scalar ‘ 𝑊 ) ) = ( Base ‘ ( Scalar ‘ 𝑊 ) )
36 eqid ( ·𝑠𝑊 ) = ( ·𝑠𝑊 )
37 eqid ( .r𝑊 ) = ( .r𝑊 )
38 33 34 35 36 37 isassa ( 𝑊 ∈ AssAlg ↔ ( ( 𝑊 ∈ LMod ∧ 𝑊 ∈ Ring ∧ ( Scalar ‘ 𝑊 ) ∈ CRing ) ∧ ∀ 𝑟 ∈ ( Base ‘ ( Scalar ‘ 𝑊 ) ) ∀ 𝑥 ∈ ( Base ‘ 𝑊 ) ∀ 𝑦 ∈ ( Base ‘ 𝑊 ) ( ( ( 𝑟 ( ·𝑠𝑊 ) 𝑥 ) ( .r𝑊 ) 𝑦 ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ∧ ( 𝑥 ( .r𝑊 ) ( 𝑟 ( ·𝑠𝑊 ) 𝑦 ) ) = ( 𝑟 ( ·𝑠𝑊 ) ( 𝑥 ( .r𝑊 ) 𝑦 ) ) ) ) )
39 12 32 38 sylanbrc ( 𝜑𝑊 ∈ AssAlg )