df-∃mo-alt0

Theorem.

Arguments:

x (sv), y (sv), phi (pr),

Dummy variables:

z (sv),

Distinct variable conditions:

(z, x), (z, y), (z, phi), (x, y),

Hypotheses:

(y bound in phi)

Assertions:

(existsyforallx(phito(xeqy))leftrightarrowforallxforally((phiwedge[y/x]phi)to(xeqy)))

Proof:

Hyp Ref Line Expr
Hypo1(y bound in phi)
ax17eq2(y bound in (xeqz))
1, 2bv-→3(y bound in (phito(xeqz)))
3bv-∀4(y bound in forallx(phito(xeqz)))
ax17-bv5(z bound in forallx(phito(xeqy)))
eqt>6((zeqy)to((xeqz)leftrightarrow(xeqy)))
6bi.bldim>d7((zeqy)to((phito(xeqz))leftrightarrow(phito(xeqy))))
7bi.bldald8((zeqy)to(forallx(phito(xeqz))leftrightarrowforallx(phito(xeqy))))
4, 5, 8cbvex9(existszforallx(phito(xeqz))leftrightarrowexistsyforallx(phito(xeqy)))
bv-sbb-dv10(x bound in [y/x]phi)
ax17eq11(x bound in (yeqz))
10, 11bv-→12(x bound in ([y/x]phito(yeqz)))
eq-sb>b13((xeqy)to(phileftrightarrow[y/x]phi))
13bi<14((xeqy)to([y/x]phitophi))
ax815((xeqy)to((xeqz)to(yeqz)))
14, 15syl34d16((xeqy)to((phito(xeqz))to([y/x]phito(yeqz))))
3, 12, 16cbv317(forallx(phito(xeqz))toforally([y/x]phito(yeqz)))
17anc<18(forallx(phito(xeqz))to(forallx(phito(xeqz))wedgeforally([y/x]phito(yeqz))))
3, 12aaan19(forallxforally((phito(xeqz))wedge([y/x]phito(yeqz)))leftrightarrow(forallx(phito(xeqz))wedgeforally([y/x]phito(yeqz))))
18, 19brpi22<20(forallx(phito(xeqz))toforallxforally((phito(xeqz))wedge([y/x]phito(yeqz))))
praeclarum21(((phito(xeqz))wedge([y/x]phito(yeqz)))to((phiwedge[y/x]phi)to((xeqz)wedge(yeqz))))
tr-an<22(((xeqz)wedge(yeqz))to(xeqy))
21, 22rpi3323(((phito(xeqz))wedge([y/x]phito(yeqz)))to((phiwedge[y/x]phi)to(xeqy)))
23im.bldal24(forally((phito(xeqz))wedge([y/x]phito(yeqz)))toforally((phiwedge[y/x]phi)to(xeqy)))
24im.bldal25(forallxforally((phito(xeqz))wedge([y/x]phito(yeqz)))toforallxforally((phiwedge[y/x]phi)to(xeqy)))
20, 25syl26(forallx(phito(xeqz))toforallxforally((phiwedge[y/x]phi)to(xeqy)))
26imgen<i27(existszforallx(phito(xeqz))toforallxforally((phiwedge[y/x]phi)to(xeqy)))
9, 27brpi21<28(existsyforallx(phito(xeqy))toforallxforally((phiwedge[y/x]phi)to(xeqy)))
al.imdi29(forallx([y/x]phito(phito(xeqy)))to(forallx[y/x]phitoforallx(phito(xeqy))))
29im.bldal30(forallyforallx([y/x]phito(phito(xeqy)))toforally(forallx[y/x]phitoforallx(phito(xeqy))))
30ax731(forallxforally([y/x]phito(phito(xeqy)))toforally(forallx[y/x]phitoforallx(phito(xeqy))))
im.bldext32(forally(forallx[y/x]phitoforallx(phito(xeqy)))to(existsyforallx[y/x]phitoexistsyforallx(phito(xeqy))))
31, 32syl33(forallxforally([y/x]phito(phito(xeqy)))to(existsyforallx[y/x]phitoexistsyforallx(phito(xeqy))))
bv-sbb-dv34(x bound in [y/x]phi)
34df-Bvp35([y/x]phitoforallx[y/x]phi)
35im.bldex36(existsy[y/x]phitoexistsyforallx[y/x]phi)
33, 36rpi3237(forallxforally([y/x]phito(phito(xeqy)))to(existsy[y/x]phitoexistsyforallx(phito(xeqy))))
37com12i38(existsy[y/x]phito(forallxforally([y/x]phito(phito(xeqy)))toexistsyforallx(phito(xeqy))))
impexp39(((phiwedge[y/x]phi)to(xeqy))leftrightarrow(phito([y/x]phito(xeqy))))
bcom1240((phito([y/x]phito(xeqy)))leftrightarrow([y/x]phito(phito(xeqy))))
39, 40bitr41(((phiwedge[y/x]phi)to(xeqy))leftrightarrow([y/x]phito(phito(xeqy))))
41eqt-∀-i42(forally((phiwedge[y/x]phi)to(xeqy))leftrightarrowforally([y/x]phito(phito(xeqy))))
42eqt-∀-i43(forallxforally((phiwedge[y/x]phi)to(xeqy))leftrightarrowforallxforally([y/x]phito(phito(xeqy))))
38, 43brpi3244(existsy[y/x]phito(forallxforally((phiwedge[y/x]phi)to(xeqy))toexistsyforallx(phito(xeqy))))
aln.ex45(forallylnot[y/x]phileftrightarrowlnotexistsy[y/x]phi)
34bv-¬46(x bound in lnot[y/x]phi)
1bv-¬47(y bound in lnotphi)
13bi>48((xeqy)to(phito[y/x]phi))
48eqcomi49((yeqx)to(phito[y/x]phi))
49con50((yeqx)to(lnot[y/x]phitolnotphi))
46, 47, 50cbv351(forallylnot[y/x]phitoforallxlnotphi)
<neg52(lnotphito(phito(xeqy)))
52im.bldal53(forallxlnotphitoforallx(phito(xeqy)))
spec-ex54(forallx(phito(xeqy))toexistsyforallx(phito(xeqy)))
51, 53, 543syl55(forallylnot[y/x]phitoexistsyforallx(phito(xeqy)))
45, 55brpi21<56(lnotexistsy[y/x]phitoexistsyforallx(phito(xeqy)))
56ax157(lnotexistsy[y/x]phito(forallxforally((phiwedge[y/x]phi)to(xeqy))toexistsyforallx(phito(xeqy))))
44, 57casei58(forallxforally((phiwedge[y/x]phi)to(xeqy))toexistsyforallx(phito(xeqy)))
28, 58>bii59(existsyforallx(phito(xeqy))leftrightarrowforallxforally((phiwedge[y/x]phi)to(xeqy)))