Metamath Proof Explorer


Theorem caovassg

Description: Convert an operation associative law to class notation. (Contributed by Mario Carneiro, 1-Jun-2013) (Revised by Mario Carneiro, 26-May-2014)

Ref Expression
Hypothesis caovassg.1 ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆 ) ) → ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
Assertion caovassg ( ( 𝜑 ∧ ( 𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆 ∧ 𝐶 ∈ 𝑆 ) ) → ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 caovassg.1 ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆 ) ) → ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
2 1 ralrimivvva ⊢ ( 𝜑 → ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ∀ 𝑧 ∈ 𝑆 ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
3 oveq1 ⊢ ( 𝑥 = 𝐴 → ( 𝑥 𝐹 𝑦 ) = ( 𝐴 𝐹 𝑦 ) )
4 3 oveq1d ⊢ ( 𝑥 = 𝐴 → ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( ( 𝐴 𝐹 𝑦 ) 𝐹 𝑧 ) )
5 oveq1 ⊢ ( 𝑥 = 𝐴 → ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) = ( 𝐴 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
6 4 5 eqeq12d ⊢ ( 𝑥 = 𝐴 → ( ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) ↔ ( ( 𝐴 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝐴 𝐹 ( 𝑦 𝐹 𝑧 ) ) ) )
7 oveq2 ⊢ ( 𝑦 = 𝐵 → ( 𝐴 𝐹 𝑦 ) = ( 𝐴 𝐹 𝐵 ) )
8 7 oveq1d ⊢ ( 𝑦 = 𝐵 → ( ( 𝐴 𝐹 𝑦 ) 𝐹 𝑧 ) = ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝑧 ) )
9 oveq1 ⊢ ( 𝑦 = 𝐵 → ( 𝑦 𝐹 𝑧 ) = ( 𝐵 𝐹 𝑧 ) )
10 9 oveq2d ⊢ ( 𝑦 = 𝐵 → ( 𝐴 𝐹 ( 𝑦 𝐹 𝑧 ) ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝑧 ) ) )
11 8 10 eqeq12d ⊢ ( 𝑦 = 𝐵 → ( ( ( 𝐴 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝐴 𝐹 ( 𝑦 𝐹 𝑧 ) ) ↔ ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝑧 ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝑧 ) ) ) )
12 oveq2 ⊢ ( 𝑧 = 𝐶 → ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝑧 ) = ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) )
13 oveq2 ⊢ ( 𝑧 = 𝐶 → ( 𝐵 𝐹 𝑧 ) = ( 𝐵 𝐹 𝐶 ) )
14 13 oveq2d ⊢ ( 𝑧 = 𝐶 → ( 𝐴 𝐹 ( 𝐵 𝐹 𝑧 ) ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝐶 ) ) )
15 12 14 eqeq12d ⊢ ( 𝑧 = 𝐶 → ( ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝑧 ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝑧 ) ) ↔ ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝐶 ) ) ) )
16 6 11 15 rspc3v ⊢ ( ( 𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆 ∧ 𝐶 ∈ 𝑆 ) → ( ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ∀ 𝑧 ∈ 𝑆 ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) → ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝐶 ) ) ) )
17 2 16 mpan9 ⊢ ( ( 𝜑 ∧ ( 𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆 ∧ 𝐶 ∈ 𝑆 ) ) → ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝐶 ) ) )