Metamath Proof Explorer


Theorem isassad

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

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