MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  eceqoveq Structured version   Visualization version   GIF version

Theorem eceqoveq 8138
Description: Equality of equivalence relation in terms of an operation. (Contributed by NM, 15-Feb-1996.) (Proof shortened by Mario Carneiro, 12-Aug-2015.)
Hypotheses
Ref Expression
eceqoveq.5 Er (𝑆 × 𝑆)
eceqoveq.7 dom + = (𝑆 × 𝑆)
eceqoveq.8 ¬ ∅ ∈ 𝑆
eceqoveq.9 ((𝑥𝑆𝑦𝑆) → (𝑥 + 𝑦) ∈ 𝑆)
eceqoveq.10 (((𝐴𝑆𝐵𝑆) ∧ (𝐶𝑆𝐷𝑆)) → (⟨𝐴, 𝐵𝐶, 𝐷⟩ ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
Assertion
Ref Expression
eceqoveq ((𝐴𝑆𝐶𝑆) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
Distinct variable groups:   𝑥,𝑦, +   𝑥,𝑆,𝑦   𝑥,𝐴,𝑦   𝑥,𝐵,𝑦   𝑥,𝐶,𝑦   𝑥,𝐷,𝑦
Allowed substitution hints:   (𝑥,𝑦)

Proof of Theorem eceqoveq
StepHypRef Expression
1 opelxpi 5394 . . . . . . . 8 ((𝐴𝑆𝐵𝑆) → ⟨𝐴, 𝐵⟩ ∈ (𝑆 × 𝑆))
21ad2antrr 716 . . . . . . 7 ((((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) ∧ [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ) → ⟨𝐴, 𝐵⟩ ∈ (𝑆 × 𝑆))
3 eceqoveq.5 . . . . . . . . 9 Er (𝑆 × 𝑆)
43a1i 11 . . . . . . . 8 ((((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) ∧ [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ) → Er (𝑆 × 𝑆))
5 simpr 479 . . . . . . . 8 ((((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) ∧ [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ) → [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] )
64, 5ereldm 8074 . . . . . . 7 ((((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) ∧ [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ) → (⟨𝐴, 𝐵⟩ ∈ (𝑆 × 𝑆) ↔ ⟨𝐶, 𝐷⟩ ∈ (𝑆 × 𝑆)))
72, 6mpbid 224 . . . . . 6 ((((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) ∧ [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ) → ⟨𝐶, 𝐷⟩ ∈ (𝑆 × 𝑆))
8 opelxp2 5399 . . . . . 6 (⟨𝐶, 𝐷⟩ ∈ (𝑆 × 𝑆) → 𝐷𝑆)
97, 8syl 17 . . . . 5 ((((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) ∧ [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ) → 𝐷𝑆)
109ex 403 . . . 4 (((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] 𝐷𝑆))
11 eceqoveq.9 . . . . . . . 8 ((𝑥𝑆𝑦𝑆) → (𝑥 + 𝑦) ∈ 𝑆)
1211caovcl 7107 . . . . . . 7 ((𝐵𝑆𝐶𝑆) → (𝐵 + 𝐶) ∈ 𝑆)
13 eleq1 2847 . . . . . . 7 ((𝐴 + 𝐷) = (𝐵 + 𝐶) → ((𝐴 + 𝐷) ∈ 𝑆 ↔ (𝐵 + 𝐶) ∈ 𝑆))
1412, 13syl5ibr 238 . . . . . 6 ((𝐴 + 𝐷) = (𝐵 + 𝐶) → ((𝐵𝑆𝐶𝑆) → (𝐴 + 𝐷) ∈ 𝑆))
15 eceqoveq.7 . . . . . . . 8 dom + = (𝑆 × 𝑆)
16 eceqoveq.8 . . . . . . . 8 ¬ ∅ ∈ 𝑆
1715, 16ndmovrcl 7099 . . . . . . 7 ((𝐴 + 𝐷) ∈ 𝑆 → (𝐴𝑆𝐷𝑆))
1817simprd 491 . . . . . 6 ((𝐴 + 𝐷) ∈ 𝑆𝐷𝑆)
1914, 18syl6com 37 . . . . 5 ((𝐵𝑆𝐶𝑆) → ((𝐴 + 𝐷) = (𝐵 + 𝐶) → 𝐷𝑆))
2019adantll 704 . . . 4 (((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) → ((𝐴 + 𝐷) = (𝐵 + 𝐶) → 𝐷𝑆))
213a1i 11 . . . . . . 7 (((𝐴𝑆𝐵𝑆) ∧ (𝐶𝑆𝐷𝑆)) → Er (𝑆 × 𝑆))
221adantr 474 . . . . . . 7 (((𝐴𝑆𝐵𝑆) ∧ (𝐶𝑆𝐷𝑆)) → ⟨𝐴, 𝐵⟩ ∈ (𝑆 × 𝑆))
2321, 22erth 8075 . . . . . 6 (((𝐴𝑆𝐵𝑆) ∧ (𝐶𝑆𝐷𝑆)) → (⟨𝐴, 𝐵𝐶, 𝐷⟩ ↔ [⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ))
24 eceqoveq.10 . . . . . 6 (((𝐴𝑆𝐵𝑆) ∧ (𝐶𝑆𝐷𝑆)) → (⟨𝐴, 𝐵𝐶, 𝐷⟩ ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
2523, 24bitr3d 273 . . . . 5 (((𝐴𝑆𝐵𝑆) ∧ (𝐶𝑆𝐷𝑆)) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
2625expr 450 . . . 4 (((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) → (𝐷𝑆 → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶))))
2710, 20, 26pm5.21ndd 371 . . 3 (((𝐴𝑆𝐵𝑆) ∧ 𝐶𝑆) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
2827an32s 642 . 2 (((𝐴𝑆𝐶𝑆) ∧ 𝐵𝑆) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
29 eqcom 2785 . . . 4 (∅ = [⟨𝐶, 𝐷⟩] ↔ [⟨𝐶, 𝐷⟩] = ∅)
30 erdm 8038 . . . . . . . . . . . 12 ( Er (𝑆 × 𝑆) → dom = (𝑆 × 𝑆))
313, 30ax-mp 5 . . . . . . . . . . 11 dom = (𝑆 × 𝑆)
3231eleq2i 2851 . . . . . . . . . 10 (⟨𝐶, 𝐷⟩ ∈ dom ↔ ⟨𝐶, 𝐷⟩ ∈ (𝑆 × 𝑆))
33 ecdmn0 8073 . . . . . . . . . 10 (⟨𝐶, 𝐷⟩ ∈ dom ↔ [⟨𝐶, 𝐷⟩] ≠ ∅)
34 opelxp 5393 . . . . . . . . . 10 (⟨𝐶, 𝐷⟩ ∈ (𝑆 × 𝑆) ↔ (𝐶𝑆𝐷𝑆))
3532, 33, 343bitr3i 293 . . . . . . . . 9 ([⟨𝐶, 𝐷⟩] ≠ ∅ ↔ (𝐶𝑆𝐷𝑆))
3635simplbi2 496 . . . . . . . 8 (𝐶𝑆 → (𝐷𝑆 → [⟨𝐶, 𝐷⟩] ≠ ∅))
3736ad2antlr 717 . . . . . . 7 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → (𝐷𝑆 → [⟨𝐶, 𝐷⟩] ≠ ∅))
3837necon2bd 2985 . . . . . 6 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ([⟨𝐶, 𝐷⟩] = ∅ → ¬ 𝐷𝑆))
39 simpr 479 . . . . . . . 8 ((𝐴𝑆𝐷𝑆) → 𝐷𝑆)
4039con3i 152 . . . . . . 7 𝐷𝑆 → ¬ (𝐴𝑆𝐷𝑆))
4115ndmov 7097 . . . . . . 7 (¬ (𝐴𝑆𝐷𝑆) → (𝐴 + 𝐷) = ∅)
4240, 41syl 17 . . . . . 6 𝐷𝑆 → (𝐴 + 𝐷) = ∅)
4338, 42syl6 35 . . . . 5 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ([⟨𝐶, 𝐷⟩] = ∅ → (𝐴 + 𝐷) = ∅))
44 eleq1 2847 . . . . . . 7 ((𝐴 + 𝐷) = ∅ → ((𝐴 + 𝐷) ∈ 𝑆 ↔ ∅ ∈ 𝑆))
4516, 44mtbiri 319 . . . . . 6 ((𝐴 + 𝐷) = ∅ → ¬ (𝐴 + 𝐷) ∈ 𝑆)
4635simprbi 492 . . . . . . . 8 ([⟨𝐶, 𝐷⟩] ≠ ∅ → 𝐷𝑆)
4711caovcl 7107 . . . . . . . . . 10 ((𝐴𝑆𝐷𝑆) → (𝐴 + 𝐷) ∈ 𝑆)
4847ex 403 . . . . . . . . 9 (𝐴𝑆 → (𝐷𝑆 → (𝐴 + 𝐷) ∈ 𝑆))
4948ad2antrr 716 . . . . . . . 8 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → (𝐷𝑆 → (𝐴 + 𝐷) ∈ 𝑆))
5046, 49syl5 34 . . . . . . 7 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ([⟨𝐶, 𝐷⟩] ≠ ∅ → (𝐴 + 𝐷) ∈ 𝑆))
5150necon1bd 2987 . . . . . 6 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → (¬ (𝐴 + 𝐷) ∈ 𝑆 → [⟨𝐶, 𝐷⟩] = ∅))
5245, 51syl5 34 . . . . 5 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ((𝐴 + 𝐷) = ∅ → [⟨𝐶, 𝐷⟩] = ∅))
5343, 52impbid 204 . . . 4 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ([⟨𝐶, 𝐷⟩] = ∅ ↔ (𝐴 + 𝐷) = ∅))
5429, 53syl5bb 275 . . 3 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → (∅ = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = ∅))
5531eleq2i 2851 . . . . . . . 8 (⟨𝐴, 𝐵⟩ ∈ dom ↔ ⟨𝐴, 𝐵⟩ ∈ (𝑆 × 𝑆))
56 ecdmn0 8073 . . . . . . . 8 (⟨𝐴, 𝐵⟩ ∈ dom ↔ [⟨𝐴, 𝐵⟩] ≠ ∅)
57 opelxp 5393 . . . . . . . 8 (⟨𝐴, 𝐵⟩ ∈ (𝑆 × 𝑆) ↔ (𝐴𝑆𝐵𝑆))
5855, 56, 573bitr3i 293 . . . . . . 7 ([⟨𝐴, 𝐵⟩] ≠ ∅ ↔ (𝐴𝑆𝐵𝑆))
5958simprbi 492 . . . . . 6 ([⟨𝐴, 𝐵⟩] ≠ ∅ → 𝐵𝑆)
6059necon1bi 2997 . . . . 5 𝐵𝑆 → [⟨𝐴, 𝐵⟩] = ∅)
6160adantl 475 . . . 4 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → [⟨𝐴, 𝐵⟩] = ∅)
6261eqeq1d 2780 . . 3 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ ∅ = [⟨𝐶, 𝐷⟩] ))
63 simpl 476 . . . . . . 7 ((𝐵𝑆𝐶𝑆) → 𝐵𝑆)
6463con3i 152 . . . . . 6 𝐵𝑆 → ¬ (𝐵𝑆𝐶𝑆))
6515ndmov 7097 . . . . . 6 (¬ (𝐵𝑆𝐶𝑆) → (𝐵 + 𝐶) = ∅)
6664, 65syl 17 . . . . 5 𝐵𝑆 → (𝐵 + 𝐶) = ∅)
6766adantl 475 . . . 4 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → (𝐵 + 𝐶) = ∅)
6867eqeq2d 2788 . . 3 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ((𝐴 + 𝐷) = (𝐵 + 𝐶) ↔ (𝐴 + 𝐷) = ∅))
6954, 62, 683bitr4d 303 . 2 (((𝐴𝑆𝐶𝑆) ∧ ¬ 𝐵𝑆) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
7028, 69pm2.61dan 803 1 ((𝐴𝑆𝐶𝑆) → ([⟨𝐴, 𝐵⟩] = [⟨𝐶, 𝐷⟩] ↔ (𝐴 + 𝐷) = (𝐵 + 𝐶)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 198  wa 386   = wceq 1601  wcel 2107  wne 2969  c0 4141  cop 4404   class class class wbr 4888   × cxp 5355  dom cdm 5357  (class class class)co 6924   Er wer 8025  [cec 8026
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1839  ax-4 1853  ax-5 1953  ax-6 2021  ax-7 2055  ax-8 2109  ax-9 2116  ax-10 2135  ax-11 2150  ax-12 2163  ax-13 2334  ax-ext 2754  ax-sep 5019  ax-nul 5027  ax-pow 5079  ax-pr 5140
This theorem depends on definitions:  df-bi 199  df-an 387  df-or 837  df-3an 1073  df-tru 1605  df-ex 1824  df-nf 1828  df-sb 2012  df-mo 2551  df-eu 2587  df-clab 2764  df-cleq 2770  df-clel 2774  df-nfc 2921  df-ne 2970  df-ral 3095  df-rex 3096  df-rab 3099  df-v 3400  df-sbc 3653  df-dif 3795  df-un 3797  df-in 3799  df-ss 3806  df-nul 4142  df-if 4308  df-sn 4399  df-pr 4401  df-op 4405  df-uni 4674  df-br 4889  df-opab 4951  df-xp 5363  df-rel 5364  df-cnv 5365  df-co 5366  df-dm 5367  df-rn 5368  df-res 5369  df-ima 5370  df-iota 6101  df-fv 6145  df-ov 6927  df-er 8028  df-ec 8030
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator