Users' Mathboxes Mathbox for Wolf Lammen < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  wl-dfcleq Structured version   Visualization version   GIF version

Theorem wl-dfcleq 37848
Description: The defining characterization of class equality. It is proved, over Tarski's FOL, from the axiom of (set) extensionality (ax-ext 2709) and the definition of class equality (df-cleq 2729). Its forward implication is called "class extensionality". Remark: the proof uses axextb 2712 to prove also the hypothesis of df-cleq 2729 that is a degenerate instance, but it could be proved also from minimal propositional calculus and { ax-gen 1797, equid 2014 }. (Contributed by NM, 15-Sep-1993.) (Revised by BJ, 24-Jun-2019.) Base on wl-dfcleq.just 37844. (Revised by Wolf Lammen, 7-Apr-2026.)
Assertion
Ref Expression
wl-dfcleq (𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
Distinct variable groups:   𝑥,𝐴   𝑥,𝐵

Proof of Theorem wl-dfcleq
Dummy variables 𝑦 𝐶 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eleq1w 2820 . . . 4 (𝑥 = 𝑦 → (𝑥𝐴𝑦𝐴))
2 eleq1w 2820 . . . 4 (𝑥 = 𝑦 → (𝑥𝐵𝑦𝐵))
31, 2bibi12d 345 . . 3 (𝑥 = 𝑦 → ((𝑥𝐴𝑥𝐵) ↔ (𝑦𝐴𝑦𝐵)))
43cbvalvw 2038 . 2 (∀𝑥(𝑥𝐴𝑥𝐵) ↔ ∀𝑦(𝑦𝐴𝑦𝐵))
5 eqid 2737 . 2 𝐴 = 𝐴
6 eqtr 2757 . . . 4 ((𝐴 = 𝐵𝐵 = 𝐶) → 𝐴 = 𝐶)
76eqcomd 2743 . . 3 ((𝐴 = 𝐵𝐵 = 𝐶) → 𝐶 = 𝐴)
87ex 412 . 2 (𝐴 = 𝐵 → (𝐵 = 𝐶𝐶 = 𝐴))
9 eqeq2 2749 . . . . . 6 (𝐴 = 𝐵 → (𝑥 = 𝐴𝑥 = 𝐵))
109biimpd 229 . . . . 5 (𝐴 = 𝐵 → (𝑥 = 𝐴𝑥 = 𝐵))
1110anim1d 612 . . . 4 (𝐴 = 𝐵 → ((𝑥 = 𝐴𝑥𝐶) → (𝑥 = 𝐵𝑥𝐶)))
1211eximdv 1919 . . 3 (𝐴 = 𝐵 → (∃𝑥(𝑥 = 𝐴𝑥𝐶) → ∃𝑥(𝑥 = 𝐵𝑥𝐶)))
13 dfclel 2813 . . 3 (𝐴𝐶 ↔ ∃𝑥(𝑥 = 𝐴𝑥𝐶))
14 dfclel 2813 . . 3 (𝐵𝐶 ↔ ∃𝑥(𝑥 = 𝐵𝑥𝐶))
1512, 13, 143imtr4g 296 . 2 (𝐴 = 𝐵 → (𝐴𝐶𝐵𝐶))
16 wl-dfcleq.basic 37843 . . . . . 6 (𝐴 = 𝐵 ↔ ∀𝑦(𝑦𝐴𝑦𝐵))
17 biimp 215 . . . . . . . 8 ((𝑦𝐴𝑦𝐵) → (𝑦𝐴𝑦𝐵))
1817alimi 1813 . . . . . . 7 (∀𝑦(𝑦𝐴𝑦𝐵) → ∀𝑦(𝑦𝐴𝑦𝐵))
191biimpd 229 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥𝐴𝑦𝐴))
2019eqcoms 2745 . . . . . . . . 9 (𝑦 = 𝑥 → (𝑥𝐴𝑦𝐴))
21 eleq1w 2820 . . . . . . . . . 10 (𝑦 = 𝑥 → (𝑦𝐵𝑥𝐵))
2221biimpd 229 . . . . . . . . 9 (𝑦 = 𝑥 → (𝑦𝐵𝑥𝐵))
2320, 22imim12d 81 . . . . . . . 8 (𝑦 = 𝑥 → ((𝑦𝐴𝑦𝐵) → (𝑥𝐴𝑥𝐵)))
2423spimvw 1988 . . . . . . 7 (∀𝑦(𝑦𝐴𝑦𝐵) → (𝑥𝐴𝑥𝐵))
2518, 24syl 17 . . . . . 6 (∀𝑦(𝑦𝐴𝑦𝐵) → (𝑥𝐴𝑥𝐵))
2616, 25sylbi 217 . . . . 5 (𝐴 = 𝐵 → (𝑥𝐴𝑥𝐵))
2726anim2d 613 . . . 4 (𝐴 = 𝐵 → ((𝑥 = 𝐶𝑥𝐴) → (𝑥 = 𝐶𝑥𝐵)))
2827eximdv 1919 . . 3 (𝐴 = 𝐵 → (∃𝑥(𝑥 = 𝐶𝑥𝐴) → ∃𝑥(𝑥 = 𝐶𝑥𝐵)))
29 dfclel 2813 . . 3 (𝐶𝐴 ↔ ∃𝑥(𝑥 = 𝐶𝑥𝐴))
30 dfclel 2813 . . 3 (𝐶𝐵 ↔ ∃𝑥(𝑥 = 𝐶𝑥𝐵))
3128, 29, 303imtr4g 296 . 2 (𝐴 = 𝐵 → (𝐶𝐴𝐶𝐵))
324, 5, 8, 15, 31wl-dfcleq.just 37844 1 (𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wal 1540   = wceq 1542  wex 1781  wcel 2114
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-ext 2709
This theorem depends on definitions:  df-bi 207  df-an 396  df-ex 1782  df-cleq 2729  df-clel 2812
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator