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

Theorem bj-axreprepsep 37314
Description: Strong axiom of replacement (universal closure of ax-rep 5226) from the axioms of separation and replacement as written in the theorem's hypotheses.

The statement does not require a nonempty universe; most of the proof does not either, except for the use of 19.8a 2189, which could be removed by reworking the proof, since it is applied in a subexpression bound by the variable it introduces. Proof modifications should not introduce steps relying on a nonempty universe, like alrimiv 1929. (Contributed by BJ, 14-Mar-2026.) (Proof modification is discouraged.)

Hypotheses
Ref Expression
bj-axreprepsep.axsep 𝑥𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))
bj-axreprepsep.axrep 𝑠(∀𝑦𝑠 ∃!𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))
Assertion
Ref Expression
bj-axreprepsep 𝑥(∀𝑦𝑥 ∃*𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
Distinct variable groups:   𝑡,𝑠,𝑥,𝑦,𝑧   𝜑,𝑠,𝑡,𝑥,𝑦
Allowed substitution hint:   𝜑(𝑧)

Proof of Theorem bj-axreprepsep
StepHypRef Expression
1 19.42v 1955 . . . . 5 (∃𝑠(∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) ↔ (∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∃𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))))
2 bianir 1059 . . . . . . . 8 ((∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑) ∧ (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
32ax-gen 1797 . . . . . . 7 𝑠((∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑) ∧ (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
4 pm3.43 473 . . . . . . . 8 ((((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)) ∧ ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))) → ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑) ∧ (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))))
5 bj-axreprepsep.axrep . . . . . . . . . 10 𝑠(∀𝑦𝑠 ∃!𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))
6 df-ral 3053 . . . . . . . . . . . . 13 (∀𝑦𝑥 ∃*𝑧𝜑 ↔ ∀𝑦(𝑦𝑥 → ∃*𝑧𝜑))
7 bicom1 221 . . . . . . . . . . . . . . . . . . 19 ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑦𝑥 ∧ ∃𝑧𝜑) ↔ 𝑦𝑠))
87biimprcd 250 . . . . . . . . . . . . . . . . . 18 (𝑦𝑠 → ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → (𝑦𝑥 ∧ ∃𝑧𝜑)))
9 df-eu 2570 . . . . . . . . . . . . . . . . . . . . . 22 (∃!𝑧𝜑 ↔ (∃𝑧𝜑 ∧ ∃*𝑧𝜑))
109simplbi2com 502 . . . . . . . . . . . . . . . . . . . . 21 (∃*𝑧𝜑 → (∃𝑧𝜑 → ∃!𝑧𝜑))
1110imim2i 16 . . . . . . . . . . . . . . . . . . . 20 ((𝑦𝑥 → ∃*𝑧𝜑) → (𝑦𝑥 → (∃𝑧𝜑 → ∃!𝑧𝜑)))
1211impd 410 . . . . . . . . . . . . . . . . . . 19 ((𝑦𝑥 → ∃*𝑧𝜑) → ((𝑦𝑥 ∧ ∃𝑧𝜑) → ∃!𝑧𝜑))
1312com12 32 . . . . . . . . . . . . . . . . . 18 ((𝑦𝑥 ∧ ∃𝑧𝜑) → ((𝑦𝑥 → ∃*𝑧𝜑) → ∃!𝑧𝜑))
148, 13syl6 35 . . . . . . . . . . . . . . . . 17 (𝑦𝑠 → ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑦𝑥 → ∃*𝑧𝜑) → ∃!𝑧𝜑)))
1514impd 410 . . . . . . . . . . . . . . . 16 (𝑦𝑠 → (((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) ∧ (𝑦𝑥 → ∃*𝑧𝜑)) → ∃!𝑧𝜑))
1615com12 32 . . . . . . . . . . . . . . 15 (((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) ∧ (𝑦𝑥 → ∃*𝑧𝜑)) → (𝑦𝑠 → ∃!𝑧𝜑))
1716ancoms 458 . . . . . . . . . . . . . 14 (((𝑦𝑥 → ∃*𝑧𝜑) ∧ (𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (𝑦𝑠 → ∃!𝑧𝜑))
1817alanimi 1818 . . . . . . . . . . . . 13 ((∀𝑦(𝑦𝑥 → ∃*𝑧𝜑) ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∀𝑦(𝑦𝑠 → ∃!𝑧𝜑))
196, 18sylanb 582 . . . . . . . . . . . 12 ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∀𝑦(𝑦𝑠 → ∃!𝑧𝜑))
2019ralrid 3060 . . . . . . . . . . 11 ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∀𝑦𝑠 ∃!𝑧𝜑)
2120ax-gen 1797 . . . . . . . . . 10 𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∀𝑦𝑠 ∃!𝑧𝜑)
225, 21barbara 2664 . . . . . . . . 9 𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))
23 nfv 1916 . . . . . . . . . . . . . . 15 𝑧 𝑦𝑠
24 nfv 1916 . . . . . . . . . . . . . . . 16 𝑧 𝑦𝑥
25 nfe1 2156 . . . . . . . . . . . . . . . 16 𝑧𝑧𝜑
2624, 25nfan 1901 . . . . . . . . . . . . . . 15 𝑧(𝑦𝑥 ∧ ∃𝑧𝜑)
2723, 26nfbi 1905 . . . . . . . . . . . . . 14 𝑧(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))
2827nfal 2329 . . . . . . . . . . . . 13 𝑧𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))
29 19.8a 2189 . . . . . . . . . . . . . . . . . . 19 (𝜑 → ∃𝑧𝜑)
30 biimpr 220 . . . . . . . . . . . . . . . . . . 19 ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑦𝑥 ∧ ∃𝑧𝜑) → 𝑦𝑠))
3129, 30sylan2i 607 . . . . . . . . . . . . . . . . . 18 ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑦𝑥𝜑) → 𝑦𝑠))
32 simpr 484 . . . . . . . . . . . . . . . . . 18 ((𝑦𝑥𝜑) → 𝜑)
3331, 32jca2 513 . . . . . . . . . . . . . . . . 17 ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑦𝑥𝜑) → (𝑦𝑠𝜑)))
34 bj-bisimpl 36774 . . . . . . . . . . . . . . . . . 18 ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → (𝑦𝑠𝑦𝑥))
3534anim1d 612 . . . . . . . . . . . . . . . . 17 ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑦𝑠𝜑) → (𝑦𝑥𝜑)))
3633, 35impbid 212 . . . . . . . . . . . . . . . 16 ((𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑦𝑥𝜑) ↔ (𝑦𝑠𝜑)))
3736alexbii 1835 . . . . . . . . . . . . . . 15 (∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → (∃𝑦(𝑦𝑥𝜑) ↔ ∃𝑦(𝑦𝑠𝜑)))
38 df-rex 3063 . . . . . . . . . . . . . . 15 (∃𝑦𝑥 𝜑 ↔ ∃𝑦(𝑦𝑥𝜑))
39 df-rex 3063 . . . . . . . . . . . . . . 15 (∃𝑦𝑠 𝜑 ↔ ∃𝑦(𝑦𝑠𝜑))
4037, 38, 393bitr4g 314 . . . . . . . . . . . . . 14 (∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → (∃𝑦𝑥 𝜑 ↔ ∃𝑦𝑠 𝜑))
4140bibi2d 342 . . . . . . . . . . . . 13 (∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ((𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ (𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))
4228, 41albid 2230 . . . . . . . . . . . 12 (∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → (∀𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∀𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))
4342exbidv 1923 . . . . . . . . . . 11 (∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))
4443adantl 481 . . . . . . . . . 10 ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))
4544ax-gen 1797 . . . . . . . . 9 𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))
46 19.26 1872 . . . . . . . . 9 (∀𝑠(((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)) ∧ ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))) ↔ (∀𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)) ∧ ∀𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)))))
4722, 45, 46mpbir2an 712 . . . . . . . 8 𝑠(((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑)) ∧ ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))))
484, 47bj-alimii 36833 . . . . . . 7 𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑) ∧ (∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) ↔ ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑠 𝜑))))
493, 48barbara 2664 . . . . . 6 𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
50 exim 1836 . . . . . 6 (∀𝑠((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑)) → (∃𝑠(∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑠𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑)))
5149, 50ax-mp 5 . . . . 5 (∃𝑠(∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∀𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑠𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
521, 51sylbir 235 . . . 4 ((∀𝑦𝑥 ∃*𝑧𝜑 ∧ ∃𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))) → ∃𝑠𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
5352ex 412 . . 3 (∀𝑦𝑥 ∃*𝑧𝜑 → (∃𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ∃𝑠𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑)))
54 ax5e 1914 . . 3 (∃𝑠𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
5553, 54syl6 35 . 2 (∀𝑦𝑥 ∃*𝑧𝜑 → (∃𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑)) → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑)))
56 bj-axreprepsep.axsep . 2 𝑥𝑠𝑦(𝑦𝑠 ↔ (𝑦𝑥 ∧ ∃𝑧𝜑))
5755, 56bj-almpig 36835 1 𝑥(∀𝑦𝑥 ∃*𝑧𝜑 → ∃𝑡𝑧(𝑧𝑡 ↔ ∃𝑦𝑥 𝜑))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wal 1540  wex 1781  ∃*wmo 2538  ∃!weu 2569  wral 3052  wrex 3062
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-10 2147  ax-11 2163  ax-12 2185
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-tru 1545  df-ex 1782  df-nf 1786  df-eu 2570  df-ral 3053  df-rex 3063
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator