Metamath Proof Explorer


Theorem caov4d

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 ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆𝑧𝑆 ) ) → ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
caovd.4 ( 𝜑𝐷𝑆 )
caovd.cl ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆 ) ) → ( 𝑥 𝐹 𝑦 ) ∈ 𝑆 )
Assertion caov4d ( 𝜑 → ( ( 𝐴 𝐹 𝐵 ) 𝐹 ( 𝐶 𝐹 𝐷 ) ) = ( ( 𝐴 𝐹 𝐶 ) 𝐹 ( 𝐵 𝐹 𝐷 ) ) )

Proof

Step Hyp Ref Expression
1 caovd.1 ( 𝜑𝐴𝑆 )
2 caovd.2 ( 𝜑𝐵𝑆 )
3 caovd.3 ( 𝜑𝐶𝑆 )
4 caovd.com ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆 ) ) → ( 𝑥 𝐹 𝑦 ) = ( 𝑦 𝐹 𝑥 ) )
5 caovd.ass ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆𝑧𝑆 ) ) → ( ( 𝑥 𝐹 𝑦 ) 𝐹 𝑧 ) = ( 𝑥 𝐹 ( 𝑦 𝐹 𝑧 ) ) )
6 caovd.4 ( 𝜑𝐷𝑆 )
7 caovd.cl ( ( 𝜑 ∧ ( 𝑥𝑆𝑦𝑆 ) ) → ( 𝑥 𝐹 𝑦 ) ∈ 𝑆 )
8 2 3 6 4 5 caov12d ( 𝜑 → ( 𝐵 𝐹 ( 𝐶 𝐹 𝐷 ) ) = ( 𝐶 𝐹 ( 𝐵 𝐹 𝐷 ) ) )
9 8 oveq2d ( 𝜑 → ( 𝐴 𝐹 ( 𝐵 𝐹 ( 𝐶 𝐹 𝐷 ) ) ) = ( 𝐴 𝐹 ( 𝐶 𝐹 ( 𝐵 𝐹 𝐷 ) ) ) )
10 7 3 6 caovcld ( 𝜑 → ( 𝐶 𝐹 𝐷 ) ∈ 𝑆 )
11 5 1 2 10 caovassd ( 𝜑 → ( ( 𝐴 𝐹 𝐵 ) 𝐹 ( 𝐶 𝐹 𝐷 ) ) = ( 𝐴 𝐹 ( 𝐵 𝐹 ( 𝐶 𝐹 𝐷 ) ) ) )
12 7 2 6 caovcld ( 𝜑 → ( 𝐵 𝐹 𝐷 ) ∈ 𝑆 )
13 5 1 3 12 caovassd ( 𝜑 → ( ( 𝐴 𝐹 𝐶 ) 𝐹 ( 𝐵 𝐹 𝐷 ) ) = ( 𝐴 𝐹 ( 𝐶 𝐹 ( 𝐵 𝐹 𝐷 ) ) ) )
14 9 11 13 3eqtr4d ( 𝜑 → ( ( 𝐴 𝐹 𝐵 ) 𝐹 ( 𝐶 𝐹 𝐷 ) ) = ( ( 𝐴 𝐹 𝐶 ) 𝐹 ( 𝐵 𝐹 𝐷 ) ) )