Metamath Proof Explorer


Theorem grpoass

Description: A group operation is associative. (Contributed by NM, 10-Oct-2006) (New usage is discouraged.)

Ref Expression
Hypothesis grpfo.1 𝑋 = ran 𝐺
Assertion grpoass ( ( 𝐺 ∈ GrpOp ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝐶 ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 grpfo.1 𝑋 = ran 𝐺
2 1 isgrpo ( 𝐺 ∈ GrpOp → ( 𝐺 ∈ GrpOp ↔ ( 𝐺 : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ∧ ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ∧ ∃ 𝑢𝑋𝑥𝑋 ( ( 𝑢 𝐺 𝑥 ) = 𝑥 ∧ ∃ 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = 𝑢 ) ) ) )
3 2 ibi ( 𝐺 ∈ GrpOp → ( 𝐺 : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ∧ ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ∧ ∃ 𝑢𝑋𝑥𝑋 ( ( 𝑢 𝐺 𝑥 ) = 𝑥 ∧ ∃ 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = 𝑢 ) ) )
4 3 simp2d ( 𝐺 ∈ GrpOp → ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) )
5 oveq1 ( 𝑥 = 𝐴 → ( 𝑥 𝐺 𝑦 ) = ( 𝐴 𝐺 𝑦 ) )
6 5 oveq1d ( 𝑥 = 𝐴 → ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( ( 𝐴 𝐺 𝑦 ) 𝐺 𝑧 ) )
7 oveq1 ( 𝑥 = 𝐴 → ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) = ( 𝐴 𝐺 ( 𝑦 𝐺 𝑧 ) ) )
8 6 7 eqeq12d ( 𝑥 = 𝐴 → ( ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ↔ ( ( 𝐴 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝐴 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) )
9 oveq2 ( 𝑦 = 𝐵 → ( 𝐴 𝐺 𝑦 ) = ( 𝐴 𝐺 𝐵 ) )
10 9 oveq1d ( 𝑦 = 𝐵 → ( ( 𝐴 𝐺 𝑦 ) 𝐺 𝑧 ) = ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝑧 ) )
11 oveq1 ( 𝑦 = 𝐵 → ( 𝑦 𝐺 𝑧 ) = ( 𝐵 𝐺 𝑧 ) )
12 11 oveq2d ( 𝑦 = 𝐵 → ( 𝐴 𝐺 ( 𝑦 𝐺 𝑧 ) ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝑧 ) ) )
13 10 12 eqeq12d ( 𝑦 = 𝐵 → ( ( ( 𝐴 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝐴 𝐺 ( 𝑦 𝐺 𝑧 ) ) ↔ ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝑧 ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝑧 ) ) ) )
14 oveq2 ( 𝑧 = 𝐶 → ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝑧 ) = ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝐶 ) )
15 oveq2 ( 𝑧 = 𝐶 → ( 𝐵 𝐺 𝑧 ) = ( 𝐵 𝐺 𝐶 ) )
16 15 oveq2d ( 𝑧 = 𝐶 → ( 𝐴 𝐺 ( 𝐵 𝐺 𝑧 ) ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝐶 ) ) )
17 14 16 eqeq12d ( 𝑧 = 𝐶 → ( ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝑧 ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝑧 ) ) ↔ ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝐶 ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝐶 ) ) ) )
18 8 13 17 rspc3v ( ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) → ( ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) → ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝐶 ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝐶 ) ) ) )
19 4 18 mpan9 ( ( 𝐺 ∈ GrpOp ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝐴 𝐺 𝐵 ) 𝐺 𝐶 ) = ( 𝐴 𝐺 ( 𝐵 𝐺 𝐶 ) ) )