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 36794
Description: A proof of ax-8 2148 that does not rely on ax-8 2148. It employs df-ss 3923 to perform alpha-renaming and eliminates disjoint variable conditions using ax-9 2156. Contrary to in-ax8 36793, this proof does not rely on df-cleq 2757, 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 2049 . . . . . . 7 (𝑥 = 𝑦 → (𝑥 = 𝑤𝑦 = 𝑤))
2 ax12v2 2218 . . . . . . . . . . 11 (𝑥 = 𝑤 → (𝑥𝑡 → ∀𝑥(𝑥 = 𝑤𝑥𝑡)))
32imp 412 . . . . . . . . . 10 ((𝑥 = 𝑤𝑥𝑡) → ∀𝑥(𝑥 = 𝑤𝑥𝑡))
4 equsb3 2141 . . . . . . . . . . . . . . 15 ([𝑥 / 𝑣]𝑣 = 𝑤𝑥 = 𝑤)
54bicomi 227 . . . . . . . . . . . . . 14 (𝑥 = 𝑤 ↔ [𝑥 / 𝑣]𝑣 = 𝑤)
65imbi1i 352 . . . . . . . . . . . . 13 ((𝑥 = 𝑤𝑥𝑡) ↔ ([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡))
76albii 1852 . . . . . . . . . . . 12 (∀𝑥(𝑥 = 𝑤𝑥𝑡) ↔ ∀𝑥([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡))
8 df-clab 2744 . . . . . . . . . . . . . . . 16 (𝑥 ∈ {𝑣𝑣 = 𝑤} ↔ [𝑥 / 𝑣]𝑣 = 𝑤)
98bicomi 227 . . . . . . . . . . . . . . 15 ([𝑥 / 𝑣]𝑣 = 𝑤𝑥 ∈ {𝑣𝑣 = 𝑤})
109imbi1i 352 . . . . . . . . . . . . . 14 (([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡) ↔ (𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡))
1110albii 1852 . . . . . . . . . . . . 13 (∀𝑥([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡) ↔ ∀𝑥(𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡))
12 df-ss 3923 . . . . . . . . . . . . . 14 ({𝑣𝑣 = 𝑤} ⊆ 𝑡 ↔ ∀𝑥(𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡))
13 df-ss 3923 . . . . . . . . . . . . . 14 ({𝑣𝑣 = 𝑤} ⊆ 𝑡 ↔ ∀𝑦(𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡))
1412, 13bitr3i 280 . . . . . . . . . . . . 13 (∀𝑥(𝑥 ∈ {𝑣𝑣 = 𝑤} → 𝑥𝑡) ↔ ∀𝑦(𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡))
15 df-clab 2744 . . . . . . . . . . . . . . 15 (𝑦 ∈ {𝑣𝑣 = 𝑤} ↔ [𝑦 / 𝑣]𝑣 = 𝑤)
1615imbi1i 352 . . . . . . . . . . . . . 14 ((𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡) ↔ ([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡))
1716albii 1852 . . . . . . . . . . . . 13 (∀𝑦(𝑦 ∈ {𝑣𝑣 = 𝑤} → 𝑦𝑡) ↔ ∀𝑦([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡))
1811, 14, 173bitri 300 . . . . . . . . . . . 12 (∀𝑥([𝑥 / 𝑣]𝑣 = 𝑤𝑥𝑡) ↔ ∀𝑦([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡))
19 equsb3 2141 . . . . . . . . . . . . . 14 ([𝑦 / 𝑣]𝑣 = 𝑤𝑦 = 𝑤)
2019imbi1i 352 . . . . . . . . . . . . 13 (([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡) ↔ (𝑦 = 𝑤𝑦𝑡))
2120albii 1852 . . . . . . . . . . . 12 (∀𝑦([𝑦 / 𝑣]𝑣 = 𝑤𝑦𝑡) ↔ ∀𝑦(𝑦 = 𝑤𝑦𝑡))
227, 18, 213bitri 300 . . . . . . . . . . 11 (∀𝑥(𝑥 = 𝑤𝑥𝑡) ↔ ∀𝑦(𝑦 = 𝑤𝑦𝑡))
2322biimpi 219 . . . . . . . . . 10 (∀𝑥(𝑥 = 𝑤𝑥𝑡) → ∀𝑦(𝑦 = 𝑤𝑦𝑡))
24 sp 2222 . . . . . . . . . 10 (∀𝑦(𝑦 = 𝑤𝑦𝑡) → (𝑦 = 𝑤𝑦𝑡))
253, 23, 243syl 19 . . . . . . . . 9 ((𝑥 = 𝑤𝑥𝑡) → (𝑦 = 𝑤𝑦𝑡))
2625ex 418 . . . . . . . 8 (𝑥 = 𝑤 → (𝑥𝑡 → (𝑦 = 𝑤𝑦𝑡)))
2726com23 87 . . . . . . 7 (𝑥 = 𝑤 → (𝑦 = 𝑤 → (𝑥𝑡𝑦𝑡)))
281, 27sylcom 31 . . . . . 6 (𝑥 = 𝑦 → (𝑥 = 𝑤 → (𝑥𝑡𝑦𝑡)))
2928com12 33 . . . . 5 (𝑥 = 𝑤 → (𝑥 = 𝑦 → (𝑥𝑡𝑦𝑡)))
3029equcoms 2053 . . . 4 (𝑤 = 𝑥 → (𝑥 = 𝑦 → (𝑥𝑡𝑦𝑡)))
31 ax6ev 2002 . . . 4 𝑤 𝑤 = 𝑥
3230, 31exlimiiv 1964 . . 3 (𝑥 = 𝑦 → (𝑥𝑡𝑦𝑡))
33 ax9 2160 . . . . 5 (𝑧 = 𝑡 → (𝑥𝑧𝑥𝑡))
3433equcoms 2053 . . . 4 (𝑡 = 𝑧 → (𝑥𝑧𝑥𝑡))
35 ax9 2160 . . . 4 (𝑡 = 𝑧 → (𝑦𝑡𝑦𝑧))
3634, 35imim12d 82 . . 3 (𝑡 = 𝑧 → ((𝑥𝑡𝑦𝑡) → (𝑥𝑧𝑦𝑧)))
3732, 36syl5 35 . 2 (𝑡 = 𝑧 → (𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧)))
38 ax6ev 2002 . 2 𝑡 𝑡 = 𝑧
3937, 38exlimiiv 1964 1 (𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401  wal 1568  [wsb 2099  wcel 2146  {cab 2743  wss 3906
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-9 2156  ax-12 2216
This proof depends on definitions:  df-bi 210  df-an 402  df-ex 1813  df-sb 2100  df-clab 2744  df-ss 3923
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator