This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The predicate "is an associative operation". (Contributed by FL, 1-Nov-2009) (New usage is discouraged.)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | isass.1 | ⊢ 𝑋 = dom dom 𝐺 | |
| Assertion | isass | ⊢ ( 𝐺 ∈ 𝐴 → ( 𝐺 ∈ Ass ↔ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ∀ 𝑧 ∈ 𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | isass.1 | ⊢ 𝑋 = dom dom 𝐺 | |
| 2 | dmeq | ⊢ ( 𝑔 = 𝐺 → dom 𝑔 = dom 𝐺 ) | |
| 3 | 2 | dmeqd | ⊢ ( 𝑔 = 𝐺 → dom dom 𝑔 = dom dom 𝐺 ) |
| 4 | 3 | eleq2d | ⊢ ( 𝑔 = 𝐺 → ( 𝑥 ∈ dom dom 𝑔 ↔ 𝑥 ∈ dom dom 𝐺 ) ) |
| 5 | 3 | eleq2d | ⊢ ( 𝑔 = 𝐺 → ( 𝑦 ∈ dom dom 𝑔 ↔ 𝑦 ∈ dom dom 𝐺 ) ) |
| 6 | 3 | eleq2d | ⊢ ( 𝑔 = 𝐺 → ( 𝑧 ∈ dom dom 𝑔 ↔ 𝑧 ∈ dom dom 𝐺 ) ) |
| 7 | 4 5 6 | 3anbi123d | ⊢ ( 𝑔 = 𝐺 → ( ( 𝑥 ∈ dom dom 𝑔 ∧ 𝑦 ∈ dom dom 𝑔 ∧ 𝑧 ∈ dom dom 𝑔 ) ↔ ( 𝑥 ∈ dom dom 𝐺 ∧ 𝑦 ∈ dom dom 𝐺 ∧ 𝑧 ∈ dom dom 𝐺 ) ) ) |
| 8 | oveq | ⊢ ( 𝑔 = 𝐺 → ( 𝑥 𝑔 𝑦 ) = ( 𝑥 𝐺 𝑦 ) ) | |
| 9 | 8 | oveq1d | ⊢ ( 𝑔 = 𝐺 → ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( ( 𝑥 𝐺 𝑦 ) 𝑔 𝑧 ) ) |
| 10 | oveq | ⊢ ( 𝑔 = 𝐺 → ( ( 𝑥 𝐺 𝑦 ) 𝑔 𝑧 ) = ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) ) | |
| 11 | 9 10 | eqtrd | ⊢ ( 𝑔 = 𝐺 → ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) ) |
| 12 | oveq | ⊢ ( 𝑔 = 𝐺 → ( 𝑦 𝑔 𝑧 ) = ( 𝑦 𝐺 𝑧 ) ) | |
| 13 | 12 | oveq2d | ⊢ ( 𝑔 = 𝐺 → ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) = ( 𝑥 𝑔 ( 𝑦 𝐺 𝑧 ) ) ) |
| 14 | oveq | ⊢ ( 𝑔 = 𝐺 → ( 𝑥 𝑔 ( 𝑦 𝐺 𝑧 ) ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) | |
| 15 | 13 14 | eqtrd | ⊢ ( 𝑔 = 𝐺 → ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) |
| 16 | 11 15 | eqeq12d | ⊢ ( 𝑔 = 𝐺 → ( ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ↔ ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| 17 | 7 16 | imbi12d | ⊢ ( 𝑔 = 𝐺 → ( ( ( 𝑥 ∈ dom dom 𝑔 ∧ 𝑦 ∈ dom dom 𝑔 ∧ 𝑧 ∈ dom dom 𝑔 ) → ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ) ↔ ( ( 𝑥 ∈ dom dom 𝐺 ∧ 𝑦 ∈ dom dom 𝐺 ∧ 𝑧 ∈ dom dom 𝐺 ) → ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) ) |
| 18 | 17 | albidv | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑧 ( ( 𝑥 ∈ dom dom 𝑔 ∧ 𝑦 ∈ dom dom 𝑔 ∧ 𝑧 ∈ dom dom 𝑔 ) → ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ) ↔ ∀ 𝑧 ( ( 𝑥 ∈ dom dom 𝐺 ∧ 𝑦 ∈ dom dom 𝐺 ∧ 𝑧 ∈ dom dom 𝐺 ) → ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) ) |
| 19 | 18 | 2albidv | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑥 ∀ 𝑦 ∀ 𝑧 ( ( 𝑥 ∈ dom dom 𝑔 ∧ 𝑦 ∈ dom dom 𝑔 ∧ 𝑧 ∈ dom dom 𝑔 ) → ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ) ↔ ∀ 𝑥 ∀ 𝑦 ∀ 𝑧 ( ( 𝑥 ∈ dom dom 𝐺 ∧ 𝑦 ∈ dom dom 𝐺 ∧ 𝑧 ∈ dom dom 𝐺 ) → ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) ) |
| 20 | r3al | ⊢ ( ∀ 𝑥 ∈ dom dom 𝑔 ∀ 𝑦 ∈ dom dom 𝑔 ∀ 𝑧 ∈ dom dom 𝑔 ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ↔ ∀ 𝑥 ∀ 𝑦 ∀ 𝑧 ( ( 𝑥 ∈ dom dom 𝑔 ∧ 𝑦 ∈ dom dom 𝑔 ∧ 𝑧 ∈ dom dom 𝑔 ) → ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ) ) | |
| 21 | r3al | ⊢ ( ∀ 𝑥 ∈ dom dom 𝐺 ∀ 𝑦 ∈ dom dom 𝐺 ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ↔ ∀ 𝑥 ∀ 𝑦 ∀ 𝑧 ( ( 𝑥 ∈ dom dom 𝐺 ∧ 𝑦 ∈ dom dom 𝐺 ∧ 𝑧 ∈ dom dom 𝐺 ) → ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) | |
| 22 | 19 20 21 | 3bitr4g | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑥 ∈ dom dom 𝑔 ∀ 𝑦 ∈ dom dom 𝑔 ∀ 𝑧 ∈ dom dom 𝑔 ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ↔ ∀ 𝑥 ∈ dom dom 𝐺 ∀ 𝑦 ∈ dom dom 𝐺 ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| 23 | 1 | eqcomi | ⊢ dom dom 𝐺 = 𝑋 |
| 24 | 23 | a1i | ⊢ ( 𝑔 = 𝐺 → dom dom 𝐺 = 𝑋 ) |
| 25 | 24 | raleqdv | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑦 ∈ dom dom 𝐺 ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ↔ ∀ 𝑦 ∈ 𝑋 ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| 26 | 24 25 | raleqbidv | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑥 ∈ dom dom 𝐺 ∀ 𝑦 ∈ dom dom 𝐺 ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| 27 | 24 | raleqdv | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ↔ ∀ 𝑧 ∈ 𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| 28 | 27 | 2ralbidv | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ∀ 𝑧 ∈ dom dom 𝐺 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ∀ 𝑧 ∈ 𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| 29 | 22 26 28 | 3bitrd | ⊢ ( 𝑔 = 𝐺 → ( ∀ 𝑥 ∈ dom dom 𝑔 ∀ 𝑦 ∈ dom dom 𝑔 ∀ 𝑧 ∈ dom dom 𝑔 ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ∀ 𝑧 ∈ 𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |
| 30 | df-ass | ⊢ Ass = { 𝑔 ∣ ∀ 𝑥 ∈ dom dom 𝑔 ∀ 𝑦 ∈ dom dom 𝑔 ∀ 𝑧 ∈ dom dom 𝑔 ( ( 𝑥 𝑔 𝑦 ) 𝑔 𝑧 ) = ( 𝑥 𝑔 ( 𝑦 𝑔 𝑧 ) ) } | |
| 31 | 29 30 | elab2g | ⊢ ( 𝐺 ∈ 𝐴 → ( 𝐺 ∈ Ass ↔ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ∀ 𝑧 ∈ 𝑋 ( ( 𝑥 𝐺 𝑦 ) 𝐺 𝑧 ) = ( 𝑥 𝐺 ( 𝑦 𝐺 𝑧 ) ) ) ) |