Users' Mathboxes Mathbox for Gino Giotto < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  ss-ax8 Structured version   Visualization version   GIF version

Theorem ss-ax8 36453
Description: A proof of ax-8 2121 that does not rely on ax-8 2121. It employs df-ss 3900 to perform alpha-renaming and eliminates disjoint variable conditions using ax-9 2129. Contrary to in-ax8 36452, this proof does not rely on df-cleq 2731, therefore using fewer axioms . This method should not be applied to eliminate axiom dependencies. (Contributed by GG, 30-Aug-2025.) (Proof modification is discouraged.) (New usage is discouraged.)
Assertion
Ref Expression
ss-ax8 (𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧))

Proof of Theorem ss-ax8
Dummy variables 𝑡 𝑤 𝑣 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ax7 2023 . . . . . . 7 (𝑥 = 𝑦 → (𝑥 = 𝑤𝑦 = 𝑤))
2 ax12v2 2191 . . . . . . . . . . 11 (𝑥 = 𝑤 → (𝑥𝑡 → ∀𝑥(𝑥 = 𝑤𝑥𝑡)))
32imp 407 . . . . . . . . . 10 ((𝑥 = 𝑤𝑥𝑡) → ∀𝑥(𝑥 = 𝑤𝑥𝑡))
4 equsb3 2114 . . . . . . . . . . . . . . 15 ([𝑥 / 𝑣]𝑣 = 𝑤𝑥 = 𝑤)
54bicomi 225 . . . . . . . . . . . . . 14 (𝑥 = 𝑤 ↔ [𝑥 / 𝑣]𝑣 = 𝑤)
65imbi1i 350 . . . . . . . . . . . . 13 ((𝑥 = 𝑤𝑥𝑡) ↔ ([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡))
76albii 1826 . . . . . . . . . . . 12 (∀𝑥(𝑥 = 𝑤𝑥𝑡) ↔ ∀𝑥([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡))
8 df-clab 2718 . . . . . . . . . . . . . . . 16 (𝑥 ∈ {𝑣𝑣 = 𝑤} ↔ [𝑥 / 𝑣]𝑣 = 𝑤)
98bicomi 225 . . . . . . . . . . . . . . 15 ([𝑥 / 𝑣]𝑣 = 𝑤𝑥 ∈ {𝑣𝑣 = 𝑤})
109imbi1i 350 . . . . . . . . . . . . . 14 (([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡) ↔ (𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡))
1110albii 1826 . . . . . . . . . . . . 13 (∀𝑥([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡) ↔ ∀𝑥(𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡))
12 df-ss 3900 . . . . . . . . . . . . . 14 ({𝑣𝑣 = 𝑤} ⊆ 𝑡 ↔ ∀𝑥(𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡))
13 df-ss 3900 . . . . . . . . . . . . . 14 ({𝑣𝑣 = 𝑤} ⊆ 𝑡 ↔ ∀𝑦(𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡))
1412, 13bitr3i 278 . . . . . . . . . . . . 13 (∀𝑥(𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡) ↔ ∀𝑦(𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡))
15 df-clab 2718 . . . . . . . . . . . . . . 15 (𝑦 ∈ {𝑣𝑣 = 𝑤} ↔ [𝑦 / 𝑣]𝑣 = 𝑤)
1615imbi1i 350 . . . . . . . . . . . . . 14 ((𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡) ↔ ([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡))
1716albii 1826 . . . . . . . . . . . . 13 (∀𝑦(𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡) ↔ ∀𝑦([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡))
1811, 14, 173bitri 298 . . . . . . . . . . . 12 (∀𝑥([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡) ↔ ∀𝑦([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡))
19 equsb3 2114 . . . . . . . . . . . . . 14 ([𝑦 / 𝑣]𝑣 = 𝑤𝑦 = 𝑤)
2019imbi1i 350 . . . . . . . . . . . . 13 (([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡) ↔ (𝑦 = 𝑤𝑦𝑡))
2120albii 1826 . . . . . . . . . . . 12 (∀𝑦([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡) ↔ ∀𝑦(𝑦 = 𝑤𝑦𝑡))
227, 18, 213bitri 298 . . . . . . . . . . 11 (∀𝑥(𝑥 = 𝑤𝑥𝑡) ↔ ∀𝑦(𝑦 = 𝑤𝑦𝑡))
2322biimpi 217 . . . . . . . . . 10 (∀𝑥(𝑥 = 𝑤𝑥𝑡) → ∀𝑦(𝑦 = 𝑤𝑦𝑡))
24 sp 2195 . . . . . . . . . 10 (∀𝑦(𝑦 = 𝑤𝑦𝑡) → (𝑦 = 𝑤𝑦𝑡))
253, 23, 243syl 18 . . . . . . . . 9 ((𝑥 = 𝑤𝑥𝑡) → (𝑦 = 𝑤𝑦𝑡))
2625ex 413 . . . . . . . 8 (𝑥 = 𝑤 → (𝑥𝑡 → (𝑦 = 𝑤𝑦𝑡)))
2726com23 86 . . . . . . 7 (𝑥 = 𝑤 → (𝑦 = 𝑤 → (𝑥𝑡𝑦𝑡)))
281, 27sylcom 30 . . . . . 6 (𝑥 = 𝑦 → (𝑥 = 𝑤 → (𝑥𝑡𝑦𝑡)))
2928com12 32 . . . . 5 (𝑥 = 𝑤 → (𝑥 = 𝑦 → (𝑥𝑡𝑦𝑡)))
3029equcoms 2027 . . . 4 (𝑤 = 𝑥 → (𝑥 = 𝑦 → (𝑥𝑡𝑦𝑡)))
31 ax6ev 1976 . . . 4 𝑤 𝑤 = 𝑥
3230, 31exlimiiv 1938 . . 3 (𝑥 = 𝑦 → (𝑥𝑡𝑦𝑡))
33 ax9 2133 . . . . 5 (𝑧 = 𝑡 → (𝑥𝑧𝑥𝑡))
3433equcoms 2027 . . . 4 (𝑡 = 𝑧 → (𝑥𝑧𝑥𝑡))
35 ax9 2133 . . . 4 (𝑡 = 𝑧 → (𝑦𝑡𝑦𝑧))
3634, 35imim12d 81 . . 3 (𝑡 = 𝑧 → ((𝑥𝑡𝑦𝑡) → (𝑥𝑧𝑦𝑧)))
3732, 36syl5 34 . 2 (𝑡 = 𝑧 → (𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧)))
38 ax6ev 1976 . 2 𝑡 𝑡 = 𝑧
3937, 38exlimiiv 1938 1 (𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396  wal 1545  [wsb 2073  wcel 2119  {cab 2717  wss 3883
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-9 2129  ax-12 2189
This theorem depends on definitions:  df-bi 208  df-an 397  df-ex 1787  df-sb 2074  df-clab 2718  df-ss 3900
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator