Metamath Proof Explorer


Theorem caov32d

Description: Rearrange arguments in a commutative, associative operation. (Contributed by NM, 26-Aug-1995) (Revised by Mario Carneiro, 30-Dec-2014)

Ref Expression
Hypotheses caovd.1 ( 𝜑𝐴𝑆 )
caovd.2 ( 𝜑𝐵𝑆 )
caovd.3 ( 𝜑𝐶𝑆 )
caovd.com ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆 ) ) → ( 𝑥 𝐹 𝑦 ) = ( 𝑦 𝐹 𝑥 ) )
caovd.ass ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆𝑧𝑆 ) ) → ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
Assertion caov32d ( 𝜑 → ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) = ( ( 𝐴 𝐹 𝐶 ) 𝐹 𝐵 ) )

Proof

Step Hyp Ref Expression
1 caovd.1 ( 𝜑𝐴𝑆 )
2 caovd.2 ( 𝜑𝐵𝑆 )
3 caovd.3 ( 𝜑𝐶𝑆 )
4 caovd.com ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆 ) ) → ( 𝑥 𝐹 𝑦 ) = ( 𝑦 𝐹 𝑥 ) )
5 caovd.ass ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆𝑧𝑆 ) ) → ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
6 4 2 3 caovcomd ( 𝜑 → ( 𝐵 𝐹 𝐶 ) = ( 𝐶 𝐹 𝐵 ) )
7 6 oveq2d ( 𝜑 → ( 𝐴 𝐹 ( 𝐵 𝐹 𝐶 ) ) = ( 𝐴 𝐹 ( 𝐶 𝐹 𝐵 ) ) )
8 5 1 2 3 caovassd ( 𝜑 → ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) = ( 𝐴 𝐹 ( 𝐵 𝐹 𝐶 ) ) )
9 5 1 3 2 caovassd ( 𝜑 → ( ( 𝐴 𝐹 𝐶 ) 𝐹 𝐵 ) = ( 𝐴 𝐹 ( 𝐶 𝐹 𝐵 ) ) )
10 7 8 9 3eqtr4d ( 𝜑 → ( ( 𝐴 𝐹 𝐵 ) 𝐹 𝐶 ) = ( ( 𝐴 𝐹 𝐶 ) 𝐹 𝐵 ) )