Metamath Proof Explorer


Theorem bj-axseprep

Description: Axiom of separation (universal closure of ax-sep ) 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 ) 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 and sbequ12r and eueq2 ) could be reworked to avoid it. Proof modifications should not introduce steps relying on a nonempty universe, like alrimiv . (Contributed by BJ, 14-Mar-2026) (Proof modification is discouraged.)

Ref Expression
Hypotheses bj-axseprep.axnulw ( ∃ 𝑥 ⊤ → ∃ 𝑦𝑧𝑦 ⊥ )
bj-axseprep.axrep 𝑥 ( ∀ 𝑧𝑥 ∃! 𝑡 𝜓 → ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 𝜓 ) )
bj-axseprep.ps ( 𝜓 ↔ ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
Assertion bj-axseprep 𝑥𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) )

Proof

Step Hyp Ref Expression
1 bj-axseprep.axnulw ( ∃ 𝑥 ⊤ → ∃ 𝑦𝑧𝑦 ⊥ )
2 bj-axseprep.axrep 𝑥 ( ∀ 𝑧𝑥 ∃! 𝑡 𝜓 → ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 𝜓 ) )
3 bj-axseprep.ps ( 𝜓 ↔ ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
4 ax5e ( ∃ 𝑎𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
5 4 ax-gen 𝑥 ( ∃ 𝑎𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
6 bj-eximcom ( ∃ 𝑎 ( ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) → ( ∀ 𝑎𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑎𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
7 3 eubii ( ∃! 𝑡 𝜓 ↔ ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
8 7 ralbii ( ∀ 𝑧𝑥 ∃! 𝑡 𝜓 ↔ ∀ 𝑧𝑥 ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
9 3 rexbii ( ∃ 𝑧𝑥 𝜓 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
10 9 bibi2i ( ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 𝜓 ) ↔ ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
11 10 albii ( ∀ 𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 𝜓 ) ↔ ∀ 𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
12 11 exbii ( ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 𝜓 ) ↔ ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
13 8 12 imbi12i ( ( ∀ 𝑧𝑥 ∃! 𝑡 𝜓 → ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 𝜓 ) ) ↔ ( ∀ 𝑧𝑥 ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) → ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ) )
14 13 albii ( ∀ 𝑥 ( ∀ 𝑧𝑥 ∃! 𝑡 𝜓 → ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 𝜓 ) ) ↔ ∀ 𝑥 ( ∀ 𝑧𝑥 ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) → ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ) )
15 2 14 mpbi 𝑥 ( ∀ 𝑧𝑥 ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) → ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
16 vex 𝑧 ∈ V
17 vex 𝑎 ∈ V
18 16 17 eueq2 ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) )
19 18 rgenw 𝑧𝑥 ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) )
20 19 ax-gen 𝑥𝑧𝑥 ∃! 𝑡 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) )
21 15 20 bj-almp 𝑥𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
22 21 ax-gen 𝑎𝑥𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
23 alcom ( ∀ 𝑎𝑥𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ↔ ∀ 𝑥𝑎𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
24 22 23 mpbi 𝑥𝑎𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) )
25 6 24 bj-almpig 𝑥 ( ∃ 𝑎 ( ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) → ∃ 𝑎𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
26 df-rex ( ∃ 𝑧𝑥 𝜑 ↔ ∃ 𝑧 ( 𝑧𝑥𝜑 ) )
27 nfv 𝑎 ( 𝑧𝑥𝜑 )
28 27 sb8ef ( ∃ 𝑧 ( 𝑧𝑥𝜑 ) ↔ ∃ 𝑎 [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) )
29 26 28 bitri ( ∃ 𝑧𝑥 𝜑 ↔ ∃ 𝑎 [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) )
30 df-rex ( ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ↔ ∃ 𝑧 ( 𝑧𝑥 ∧ ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
31 andi ( ( 𝑧𝑥 ∧ ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ↔ ( ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
32 31 exbii ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ↔ ∃ 𝑧 ( ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
33 19.43 ( ∃ 𝑧 ( ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ↔ ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
34 30 32 33 3bitri ( ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ↔ ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
35 equcom ( 𝑧 = 𝑡𝑡 = 𝑧 )
36 35 anbi1i ( ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ↔ ( 𝑡 = 𝑧 ∧ ( 𝑧𝑥𝜑 ) ) )
37 ancom ( ( 𝑡 = 𝑧 ∧ ( 𝑧𝑥𝜑 ) ) ↔ ( ( 𝑧𝑥𝜑 ) ∧ 𝑡 = 𝑧 ) )
38 anass ( ( ( 𝑧𝑥𝜑 ) ∧ 𝑡 = 𝑧 ) ↔ ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) )
39 36 37 38 3bitri ( ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ↔ ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) )
40 39 exbii ( ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ↔ ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) )
41 40 biimpri ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) → ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) )
42 41 a1i ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) → ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) )
43 simprr ( ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) → 𝑡 = 𝑎 )
44 43 exlimiv ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) → 𝑡 = 𝑎 )
45 sbequi ( 𝑎 = 𝑡 → ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → [ 𝑡 / 𝑧 ] ( 𝑧𝑥𝜑 ) ) )
46 45 equcoms ( 𝑡 = 𝑎 → ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → [ 𝑡 / 𝑧 ] ( 𝑧𝑥𝜑 ) ) )
47 46 com12 ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( 𝑡 = 𝑎 → [ 𝑡 / 𝑧 ] ( 𝑧𝑥𝜑 ) ) )
48 sb5 ( [ 𝑡 / 𝑧 ] ( 𝑧𝑥𝜑 ) ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) )
49 47 48 imbitrdi ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( 𝑡 = 𝑎 → ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) )
50 44 49 syl5 ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) → ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) )
51 42 50 jaod ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) )
52 orc ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) → ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
53 40 52 sylbi ( ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) → ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) )
54 51 53 impbid1 ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ( ∃ 𝑧 ( 𝑧𝑥 ∧ ( 𝜑𝑡 = 𝑧 ) ) ∨ ∃ 𝑧 ( 𝑧𝑥 ∧ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) )
55 34 54 bitrid ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) )
56 55 bibi2d ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) ↔ ( 𝑡𝑦 ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) ) )
57 56 biimpd ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ( 𝑡𝑦 ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) ) )
58 57 alimdv ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ∀ 𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∀ 𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) ) )
59 nfv 𝑧 𝑡𝑦
60 nfe1 𝑧𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) )
61 59 60 nfbi 𝑧 ( 𝑡𝑦 ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) )
62 nfv 𝑡 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) )
63 elequ1 ( 𝑡 = 𝑧 → ( 𝑡𝑦𝑧𝑦 ) )
64 48 bicomi ( ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ↔ [ 𝑡 / 𝑧 ] ( 𝑧𝑥𝜑 ) )
65 sbequ12r ( 𝑡 = 𝑧 → ( [ 𝑡 / 𝑧 ] ( 𝑧𝑥𝜑 ) ↔ ( 𝑧𝑥𝜑 ) ) )
66 64 65 bitrid ( 𝑡 = 𝑧 → ( ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ↔ ( 𝑧𝑥𝜑 ) ) )
67 63 66 bibi12d ( 𝑡 = 𝑧 → ( ( 𝑡𝑦 ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) ↔ ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
68 61 62 67 cbvalv1 ( ∀ 𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧 ( 𝑧 = 𝑡 ∧ ( 𝑧𝑥𝜑 ) ) ) ↔ ∀ 𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
69 58 68 imbitrdi ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ∀ 𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∀ 𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
70 69 eximdv ( [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ( ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
71 70 eximi ( ∃ 𝑎 [ 𝑎 / 𝑧 ] ( 𝑧𝑥𝜑 ) → ∃ 𝑎 ( ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
72 29 71 sylbi ( ∃ 𝑧𝑥 𝜑 → ∃ 𝑎 ( ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
73 72 ax-gen 𝑥 ( ∃ 𝑧𝑥 𝜑 → ∃ 𝑎 ( ∃ 𝑦𝑡 ( 𝑡𝑦 ↔ ∃ 𝑧𝑥 ( ( 𝜑𝑡 = 𝑧 ) ∨ ( ¬ 𝜑𝑡 = 𝑎 ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
74 25 73 barbara 𝑥 ( ∃ 𝑧𝑥 𝜑 → ∃ 𝑎𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
75 5 74 barbara 𝑥 ( ∃ 𝑧𝑥 𝜑 → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
76 ralnex ( ∀ 𝑧𝑥 ¬ 𝜑 ↔ ¬ ∃ 𝑧𝑥 𝜑 )
77 df-ral ( ∀ 𝑧𝑥 ¬ 𝜑 ↔ ∀ 𝑧 ( 𝑧𝑥 → ¬ 𝜑 ) )
78 df-ral ( ∀ 𝑧𝑦 ⊥ ↔ ∀ 𝑧 ( 𝑧𝑦 → ⊥ ) )
79 dfnot ( ¬ 𝑧𝑦 ↔ ( 𝑧𝑦 → ⊥ ) )
80 79 bicomi ( ( 𝑧𝑦 → ⊥ ) ↔ ¬ 𝑧𝑦 )
81 imnan ( ( 𝑧𝑥 → ¬ 𝜑 ) ↔ ¬ ( 𝑧𝑥𝜑 ) )
82 pm5.21 ( ( ¬ 𝑧𝑦 ∧ ¬ ( 𝑧𝑥𝜑 ) ) → ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
83 80 81 82 syl2anb ( ( ( 𝑧𝑦 → ⊥ ) ∧ ( 𝑧𝑥 → ¬ 𝜑 ) ) → ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
84 83 expcom ( ( 𝑧𝑥 → ¬ 𝜑 ) → ( ( 𝑧𝑦 → ⊥ ) → ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
85 84 al2imi ( ∀ 𝑧 ( 𝑧𝑥 → ¬ 𝜑 ) → ( ∀ 𝑧 ( 𝑧𝑦 → ⊥ ) → ∀ 𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
86 78 85 biimtrid ( ∀ 𝑧 ( 𝑧𝑥 → ¬ 𝜑 ) → ( ∀ 𝑧𝑦 ⊥ → ∀ 𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
87 77 86 sylbi ( ∀ 𝑧𝑥 ¬ 𝜑 → ( ∀ 𝑧𝑦 ⊥ → ∀ 𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
88 76 87 sylbir ( ¬ ∃ 𝑧𝑥 𝜑 → ( ∀ 𝑧𝑦 ⊥ → ∀ 𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
89 88 eximdv ( ¬ ∃ 𝑧𝑥 𝜑 → ( ∃ 𝑦𝑧𝑦 ⊥ → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
90 bj-alextruim ( ∀ 𝑥𝑦𝑧𝑦 ⊥ ↔ ( ∃ 𝑥 ⊤ → ∃ 𝑦𝑧𝑦 ⊥ ) )
91 1 90 mpbir 𝑥𝑦𝑧𝑦
92 89 91 bj-almpig 𝑥 ( ¬ ∃ 𝑧𝑥 𝜑 → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) )
93 pm2.61 ( ( ∃ 𝑧𝑥 𝜑 → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) → ( ( ¬ ∃ 𝑧𝑥 𝜑 → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
94 93 al2imi ( ∀ 𝑥 ( ∃ 𝑧𝑥 𝜑 → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) → ( ∀ 𝑥 ( ¬ ∃ 𝑧𝑥 𝜑 → ∃ 𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) → ∀ 𝑥𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) ) ) )
95 75 92 94 mp2 𝑥𝑦𝑧 ( 𝑧𝑦 ↔ ( 𝑧𝑥𝜑 ) )