This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Convert an operation cancellation law to class notation. (Contributed by NM, 20-Aug-1995)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | caovcan.1 | ⊢ 𝐶 ∈ V | |
| caovcan.2 | ⊢ ( ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ) → ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝑧 ) → 𝑦 = 𝑧 ) ) | ||
| Assertion | caovcan | ⊢ ( ( 𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆 ) → ( ( 𝐴 𝐹 𝐵 ) = ( 𝐴 𝐹 𝐶 ) → 𝐵 = 𝐶 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | caovcan.1 | ⊢ 𝐶 ∈ V | |
| 2 | caovcan.2 | ⊢ ( ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ) → ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝑧 ) → 𝑦 = 𝑧 ) ) | |
| 3 | oveq1 | ⊢ ( 𝑥 = 𝐴 → ( 𝑥 𝐹 𝑦 ) = ( 𝐴 𝐹 𝑦 ) ) | |
| 4 | oveq1 | ⊢ ( 𝑥 = 𝐴 → ( 𝑥 𝐹 𝐶 ) = ( 𝐴 𝐹 𝐶 ) ) | |
| 5 | 3 4 | eqeq12d | ⊢ ( 𝑥 = 𝐴 → ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝐶 ) ↔ ( 𝐴 𝐹 𝑦 ) = ( 𝐴 𝐹 𝐶 ) ) ) |
| 6 | 5 | imbi1d | ⊢ ( 𝑥 = 𝐴 → ( ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝐶 ) → 𝑦 = 𝐶 ) ↔ ( ( 𝐴 𝐹 𝑦 ) = ( 𝐴 𝐹 𝐶 ) → 𝑦 = 𝐶 ) ) ) |
| 7 | oveq2 | ⊢ ( 𝑦 = 𝐵 → ( 𝐴 𝐹 𝑦 ) = ( 𝐴 𝐹 𝐵 ) ) | |
| 8 | 7 | eqeq1d | ⊢ ( 𝑦 = 𝐵 → ( ( 𝐴 𝐹 𝑦 ) = ( 𝐴 𝐹 𝐶 ) ↔ ( 𝐴 𝐹 𝐵 ) = ( 𝐴 𝐹 𝐶 ) ) ) |
| 9 | eqeq1 | ⊢ ( 𝑦 = 𝐵 → ( 𝑦 = 𝐶 ↔ 𝐵 = 𝐶 ) ) | |
| 10 | 8 9 | imbi12d | ⊢ ( 𝑦 = 𝐵 → ( ( ( 𝐴 𝐹 𝑦 ) = ( 𝐴 𝐹 𝐶 ) → 𝑦 = 𝐶 ) ↔ ( ( 𝐴 𝐹 𝐵 ) = ( 𝐴 𝐹 𝐶 ) → 𝐵 = 𝐶 ) ) ) |
| 11 | oveq2 | ⊢ ( 𝑧 = 𝐶 → ( 𝑥 𝐹 𝑧 ) = ( 𝑥 𝐹 𝐶 ) ) | |
| 12 | 11 | eqeq2d | ⊢ ( 𝑧 = 𝐶 → ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝑧 ) ↔ ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝐶 ) ) ) |
| 13 | eqeq2 | ⊢ ( 𝑧 = 𝐶 → ( 𝑦 = 𝑧 ↔ 𝑦 = 𝐶 ) ) | |
| 14 | 12 13 | imbi12d | ⊢ ( 𝑧 = 𝐶 → ( ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝑧 ) → 𝑦 = 𝑧 ) ↔ ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝐶 ) → 𝑦 = 𝐶 ) ) ) |
| 15 | 14 | imbi2d | ⊢ ( 𝑧 = 𝐶 → ( ( ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ) → ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝑧 ) → 𝑦 = 𝑧 ) ) ↔ ( ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ) → ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝐶 ) → 𝑦 = 𝐶 ) ) ) ) |
| 16 | 1 15 2 | vtocl | ⊢ ( ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ) → ( ( 𝑥 𝐹 𝑦 ) = ( 𝑥 𝐹 𝐶 ) → 𝑦 = 𝐶 ) ) |
| 17 | 6 10 16 | vtocl2ga | ⊢ ( ( 𝐴 ∈ 𝑆 ∧ 𝐵 ∈ 𝑆 ) → ( ( 𝐴 𝐹 𝐵 ) = ( 𝐴 𝐹 𝐶 ) → 𝐵 = 𝐶 ) ) |