Users' Mathboxes Mathbox for BJ < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  bj-axseprep Structured version   Visualization version   GIF version

Theorem bj-axseprep 37564
Description: Axiom of separation (universal closure of ax-sep 5247) from a weak form of the axiom of replacement requiring that the functional relation in it be a (total) function and the weak emptyset axiom (existence of an empty set provided existence of a set), as written in the theorem's hypotheses.

This result shows that the weak emptyset axiom is not only the result of a cheap way to avoid an axiom redundancy (in this case, the existence axiom extru 1996) by adding it as an antecedent, but also permits to prove nontrivial results that hold in nonnecessarily nonempty universes.

This proof is by cases so is not intuitionistic. The statement does not require a nonempty universe; most of the proof does not either, and the parts that do (e.g., near sb8ef 2387 and sbequ12r 2288 and eueq2 3674) could be reworked to avoid it. Proof modifications should not introduce steps relying on a nonempty universe, like alrimiv 1948. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

Hypotheses
Ref Expression
bj-axseprep.axnulw (∃𝑥⊤ → ∃𝑦𝑧𝑦 ⊥)
bj-axseprep.axrep 𝑥(∀𝑧𝑥 ∃!𝑡𝜓 → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓))
bj-axseprep.ps (𝜓 ↔ ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
Assertion
Ref Expression
bj-axseprep 𝑥𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))
Distinct variable groups:   𝑡,𝑎,𝑥,𝑦,𝑧   𝜑,𝑎,𝑡,𝑥,𝑦
Allowed substitution hints:   𝜑(𝑧)   𝜓(𝑥,𝑦,𝑧,𝑡,𝑎)

Proof of Theorem bj-axseprep
StepHypRef Expression
1 ax5e 1933 . . . 4 (∃𝑎𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)))
21ax-gen 1816 . . 3 𝑥(∃𝑎𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)))
3 bj-eximcom 37094 . . . . 5 (∃𝑎(∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))) → (∀𝑎𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑎𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
4 bj-axseprep.axrep . . . . . . . . 9 𝑥(∀𝑧𝑥 ∃!𝑡𝜓 → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓))
5 bj-axseprep.ps . . . . . . . . . . . . 13 (𝜓 ↔ ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
65eubii 2613 . . . . . . . . . . . 12 (∃!𝑡𝜓 ↔ ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
76ralbii 3109 . . . . . . . . . . 11 (∀𝑧𝑥 ∃!𝑡𝜓 ↔ ∀𝑧𝑥 ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
85rexbii 3110 . . . . . . . . . . . . . 14 (∃𝑧𝑥 𝜓 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
98bibi2i 339 . . . . . . . . . . . . 13 ((𝑡𝑦 ↔ ∃𝑧𝑥 𝜓) ↔ (𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))))
109albii 1840 . . . . . . . . . . . 12 (∀𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓) ↔ ∀𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))))
1110exbii 1869 . . . . . . . . . . 11 (∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓) ↔ ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))))
127, 11imbi12i 352 . . . . . . . . . 10 ((∀𝑧𝑥 ∃!𝑡𝜓 → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓)) ↔ (∀𝑧𝑥 ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)) → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))))
1312albii 1840 . . . . . . . . 9 (∀𝑥(∀𝑧𝑥 ∃!𝑡𝜓 → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 𝜓)) ↔ ∀𝑥(∀𝑧𝑥 ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)) → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))))
144, 13mpbi 232 . . . . . . . 8 𝑥(∀𝑧𝑥 ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)) → ∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))))
15 vex 3459 . . . . . . . . . . 11 𝑧 ∈ V
16 vex 3459 . . . . . . . . . . 11 𝑎 ∈ V
1715, 16eueq2 3674 . . . . . . . . . 10 ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))
1817rgenw 3081 . . . . . . . . 9 𝑧𝑥 ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))
1918ax-gen 1816 . . . . . . . 8 𝑥𝑧𝑥 ∃!𝑡((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))
2014, 19bj-almp 37059 . . . . . . 7 𝑥𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
2120ax-gen 1816 . . . . . 6 𝑎𝑥𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
22 alcom 2194 . . . . . 6 (∀𝑎𝑥𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) ↔ ∀𝑥𝑎𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))))
2321, 22mpbi 232 . . . . 5 𝑥𝑎𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)))
243, 23bj-almpig 37068 . . . 4 𝑥(∃𝑎(∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))) → ∃𝑎𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)))
25 df-rex 3088 . . . . . . 7 (∃𝑧𝑥 𝜑 ↔ ∃𝑧(𝑧𝑥𝜑))
26 nfv 1935 . . . . . . . 8 𝑎(𝑧𝑥𝜑)
2726sb8ef 2387 . . . . . . 7 (∃𝑧(𝑧𝑥𝜑) ↔ ∃𝑎[𝑎 / 𝑧](𝑧𝑥𝜑))
2825, 27bitri 277 . . . . . 6 (∃𝑧𝑥 𝜑 ↔ ∃𝑎[𝑎 / 𝑧](𝑧𝑥𝜑))
29 df-rex 3088 . . . . . . . . . . . . . 14 (∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)) ↔ ∃𝑧(𝑧𝑥 ∧ ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))))
30 andi 1021 . . . . . . . . . . . . . . 15 ((𝑧𝑥 ∧ ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) ↔ ((𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ (𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))))
3130exbii 1869 . . . . . . . . . . . . . 14 (∃𝑧(𝑧𝑥 ∧ ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) ↔ ∃𝑧((𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ (𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))))
32 19.43 1903 . . . . . . . . . . . . . 14 (∃𝑧((𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ (𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))) ↔ (∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ ∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))))
3329, 31, 323bitri 299 . . . . . . . . . . . . 13 (∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)) ↔ (∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ ∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))))
34 equcom 2039 . . . . . . . . . . . . . . . . . . . 20 (𝑧 = 𝑡𝑡 = 𝑧)
3534anbi1i 633 . . . . . . . . . . . . . . . . . . 19 ((𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)) ↔ (𝑡 = 𝑧 ∧ (𝑧𝑥𝜑)))
36 ancom 464 . . . . . . . . . . . . . . . . . . 19 ((𝑡 = 𝑧 ∧ (𝑧𝑥𝜑)) ↔ ((𝑧𝑥𝜑) ∧ 𝑡 = 𝑧))
37 anass 472 . . . . . . . . . . . . . . . . . . 19 (((𝑧𝑥𝜑) ∧ 𝑡 = 𝑧) ↔ (𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)))
3835, 36, 373bitri 299 . . . . . . . . . . . . . . . . . 18 ((𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)) ↔ (𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)))
3938exbii 1869 . . . . . . . . . . . . . . . . 17 (∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)) ↔ ∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)))
4039biimpri 230 . . . . . . . . . . . . . . . 16 (∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) → ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)))
4140a1i 11 . . . . . . . . . . . . . . 15 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) → ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))))
42 simprr 782 . . . . . . . . . . . . . . . . 17 ((𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎)) → 𝑡 = 𝑎)
4342exlimiv 1951 . . . . . . . . . . . . . . . 16 (∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎)) → 𝑡 = 𝑎)
44 sbequi 2118 . . . . . . . . . . . . . . . . . . 19 (𝑎 = 𝑡 → ([𝑎 / 𝑧](𝑧𝑥𝜑) → [𝑡 / 𝑧](𝑧𝑥𝜑)))
4544equcoms 2041 . . . . . . . . . . . . . . . . . 18 (𝑡 = 𝑎 → ([𝑎 / 𝑧](𝑧𝑥𝜑) → [𝑡 / 𝑧](𝑧𝑥𝜑)))
4645com12 32 . . . . . . . . . . . . . . . . 17 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (𝑡 = 𝑎 → [𝑡 / 𝑧](𝑧𝑥𝜑)))
47 sb5 2311 . . . . . . . . . . . . . . . . 17 ([𝑡 / 𝑧](𝑧𝑥𝜑) ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)))
4846, 47imbitrdi 253 . . . . . . . . . . . . . . . 16 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (𝑡 = 𝑎 → ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))))
4943, 48syl5 34 . . . . . . . . . . . . . . 15 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎)) → ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))))
5041, 49jaod 870 . . . . . . . . . . . . . 14 ([𝑎 / 𝑧](𝑧𝑥𝜑) → ((∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ ∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))))
51 orc 878 . . . . . . . . . . . . . . 15 (∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) → (∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ ∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))))
5239, 51sylbi 219 . . . . . . . . . . . . . 14 (∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)) → (∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ ∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))))
5350, 52impbid1 227 . . . . . . . . . . . . 13 ([𝑎 / 𝑧](𝑧𝑥𝜑) → ((∃𝑧(𝑧𝑥 ∧ (𝜑𝑡 = 𝑧)) ∨ ∃𝑧(𝑧𝑥 ∧ (¬ 𝜑𝑡 = 𝑎))) ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))))
5433, 53bitrid 285 . . . . . . . . . . . 12 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎)) ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))))
5554bibi2d 344 . . . . . . . . . . 11 ([𝑎 / 𝑧](𝑧𝑥𝜑) → ((𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) ↔ (𝑡𝑦 ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)))))
5655biimpd 231 . . . . . . . . . 10 ([𝑎 / 𝑧](𝑧𝑥𝜑) → ((𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → (𝑡𝑦 ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)))))
5756alimdv 1937 . . . . . . . . 9 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (∀𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∀𝑡(𝑡𝑦 ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)))))
58 nfv 1935 . . . . . . . . . . 11 𝑧 𝑡𝑦
59 nfe1 2185 . . . . . . . . . . 11 𝑧𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))
6058, 59nfbi 1924 . . . . . . . . . 10 𝑧(𝑡𝑦 ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)))
61 nfv 1935 . . . . . . . . . 10 𝑡(𝑧𝑦 ↔ (𝑧𝑥𝜑))
62 elequ1 2150 . . . . . . . . . . 11 (𝑡 = 𝑧 → (𝑡𝑦𝑧𝑦))
6347bicomi 226 . . . . . . . . . . . 12 (∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)) ↔ [𝑡 / 𝑧](𝑧𝑥𝜑))
64 sbequ12r 2288 . . . . . . . . . . . 12 (𝑡 = 𝑧 → ([𝑡 / 𝑧](𝑧𝑥𝜑) ↔ (𝑧𝑥𝜑)))
6563, 64bitrid 285 . . . . . . . . . . 11 (𝑡 = 𝑧 → (∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑)) ↔ (𝑧𝑥𝜑)))
6662, 65bibi12d 347 . . . . . . . . . 10 (𝑡 = 𝑧 → ((𝑡𝑦 ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))) ↔ (𝑧𝑦 ↔ (𝑧𝑥𝜑))))
6760, 61, 66cbvalv1 2373 . . . . . . . . 9 (∀𝑡(𝑡𝑦 ↔ ∃𝑧(𝑧 = 𝑡 ∧ (𝑧𝑥𝜑))) ↔ ∀𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)))
6857, 67imbitrdi 253 . . . . . . . 8 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (∀𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∀𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
6968eximdv 1938 . . . . . . 7 ([𝑎 / 𝑧](𝑧𝑥𝜑) → (∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
7069eximi 1856 . . . . . 6 (∃𝑎[𝑎 / 𝑧](𝑧𝑥𝜑) → ∃𝑎(∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
7128, 70sylbi 219 . . . . 5 (∃𝑧𝑥 𝜑 → ∃𝑎(∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
7271ax-gen 1816 . . . 4 𝑥(∃𝑧𝑥 𝜑 → ∃𝑎(∃𝑦𝑡(𝑡𝑦 ↔ ∃𝑧𝑥 ((𝜑𝑡 = 𝑧) ∨ (¬ 𝜑𝑡 = 𝑎))) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
7324, 72barbara 2690 . . 3 𝑥(∃𝑧𝑥 𝜑 → ∃𝑎𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)))
742, 73barbara 2690 . 2 𝑥(∃𝑧𝑥 𝜑 → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)))
75 ralnex 3089 . . . . 5 (∀𝑧𝑥 ¬ 𝜑 ↔ ¬ ∃𝑧𝑥 𝜑)
76 df-ral 3078 . . . . . 6 (∀𝑧𝑥 ¬ 𝜑 ↔ ∀𝑧(𝑧𝑥 → ¬ 𝜑))
77 df-ral 3078 . . . . . . 7 (∀𝑧𝑦 ⊥ ↔ ∀𝑧(𝑧𝑦 → ⊥))
78 dfnot 1580 . . . . . . . . . . 11 𝑧𝑦 ↔ (𝑧𝑦 → ⊥))
7978bicomi 226 . . . . . . . . . 10 ((𝑧𝑦 → ⊥) ↔ ¬ 𝑧𝑦)
80 imnan 403 . . . . . . . . . 10 ((𝑧𝑥 → ¬ 𝜑) ↔ ¬ (𝑧𝑥𝜑))
81 pm5.21 834 . . . . . . . . . 10 ((¬ 𝑧𝑦 ∧ ¬ (𝑧𝑥𝜑)) → (𝑧𝑦 ↔ (𝑧𝑥𝜑)))
8279, 80, 81syl2anb 607 . . . . . . . . 9 (((𝑧𝑦 → ⊥) ∧ (𝑧𝑥 → ¬ 𝜑)) → (𝑧𝑦 ↔ (𝑧𝑥𝜑)))
8382expcom 417 . . . . . . . 8 ((𝑧𝑥 → ¬ 𝜑) → ((𝑧𝑦 → ⊥) → (𝑧𝑦 ↔ (𝑧𝑥𝜑))))
8483al2imi 1836 . . . . . . 7 (∀𝑧(𝑧𝑥 → ¬ 𝜑) → (∀𝑧(𝑧𝑦 → ⊥) → ∀𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
8577, 84biimtrid 244 . . . . . 6 (∀𝑧(𝑧𝑥 → ¬ 𝜑) → (∀𝑧𝑦 ⊥ → ∀𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
8676, 85sylbi 219 . . . . 5 (∀𝑧𝑥 ¬ 𝜑 → (∀𝑧𝑦 ⊥ → ∀𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
8775, 86sylbir 237 . . . 4 (¬ ∃𝑧𝑥 𝜑 → (∀𝑧𝑦 ⊥ → ∀𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
8887eximdv 1938 . . 3 (¬ ∃𝑧𝑥 𝜑 → (∃𝑦𝑧𝑦 ⊥ → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
89 bj-axseprep.axnulw . . . 4 (∃𝑥⊤ → ∃𝑦𝑧𝑦 ⊥)
90 bj-alextruim 37114 . . . 4 (∀𝑥𝑦𝑧𝑦 ⊥ ↔ (∃𝑥⊤ → ∃𝑦𝑧𝑦 ⊥))
9189, 90mpbir 233 . . 3 𝑥𝑦𝑧𝑦
9288, 91bj-almpig 37068 . 2 𝑥(¬ ∃𝑧𝑥 𝜑 → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑)))
93 pm2.61 193 . . 3 ((∃𝑧𝑥 𝜑 → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))) → ((¬ ∃𝑧𝑥 𝜑 → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))) → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
9493al2imi 1836 . 2 (∀𝑥(∃𝑧𝑥 𝜑 → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))) → (∀𝑥(¬ ∃𝑧𝑥 𝜑 → ∃𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))) → ∀𝑥𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))))
9574, 92, 94mp2 9 1 𝑥𝑦𝑧(𝑧𝑦 ↔ (𝑧𝑥𝜑))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 208  wa 399  wo 858  wal 1559   = wceq 1561  wtru 1562  wfal 1573  wex 1800  [wsb 2091  wcel 2143  ∃!weu 2596  wral 3077  wrex 3087
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1816  ax-4 1830  ax-5 1931  ax-6 1988  ax-7 2029  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-tru 1564  df-fal 1574  df-ex 1801  df-nf 1805  df-sb 2092  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-ral 3078  df-rex 3088  df-v 3457
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator