dfsb-dvex

Theorem.

Arguments:

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

Dummy variables:

z (sv),

Distinct variable conditions:

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

Assertions:

([y/x]phileftrightarrowexistsx((xeqy)wedgephi))

Proof:

Hyp Ref Line Expr
df-sb1([y/x]phileftrightarrowexistsz((zeqy)wedgeexistsx((xeqz)wedgephi)))
ax17-bv2(x bound in (zeqy))
eqt>3((zeqy)to((xeqz)leftrightarrow(xeqy)))
3bi.bldan<d4((zeqy)to(((xeqz)wedgephi)leftrightarrow((xeqy)wedgephi)))
2, 4bi.bldexd5((zeqy)to(existsx((xeqz)wedgephi)leftrightarrowexistsx((xeqy)wedgephi)))
5bi>6((zeqy)to(existsx((xeqz)wedgephi)toexistsx((xeqy)wedgephi)))
5bi<7((zeqy)to(existsx((xeqy)wedgephi)toexistsx((xeqz)wedgephi)))
siman<8(((zeqy)wedgeexistsx((xeqz)wedgephi))to(zeqy))
siman<9(((zeqy)wedgeexistsx((xeqy)wedgephi))to(zeqy))
siman>10(((zeqy)wedgeexistsx((xeqz)wedgephi))toexistsx((xeqz)wedgephi))
siman>11(((zeqy)wedgeexistsx((xeqy)wedgephi))toexistsx((xeqy)wedgephi))
6, 8syl12(((zeqy)wedgeexistsx((xeqz)wedgephi))to(existsx((xeqz)wedgephi)toexistsx((xeqy)wedgephi)))
10, 12mpd13(((zeqy)wedgeexistsx((xeqz)wedgephi))toexistsx((xeqy)wedgephi))
8, 13jca14(((zeqy)wedgeexistsx((xeqz)wedgephi))to((zeqy)wedgeexistsx((xeqy)wedgephi)))
7, 9syl15(((zeqy)wedgeexistsx((xeqy)wedgephi))to(existsx((xeqy)wedgephi)toexistsx((xeqz)wedgephi)))
11, 15mpd16(((zeqy)wedgeexistsx((xeqy)wedgephi))toexistsx((xeqz)wedgephi))
9, 16jca17(((zeqy)wedgeexistsx((xeqy)wedgephi))to((zeqy)wedgeexistsx((xeqz)wedgephi)))
14, 17>bii18(((zeqy)wedgeexistsx((xeqz)wedgephi))leftrightarrow((zeqy)wedgeexistsx((xeqy)wedgephi)))
18eqt-∃-i19(existsz((zeqy)wedgeexistsx((xeqz)wedgephi))leftrightarrowexistsz((zeqy)wedgeexistsx((xeqy)wedgephi)))
ax17-bv20(z bound in existsx((xeqy)wedgephi))
20exan>21(existsz((zeqy)wedgeexistsx((xeqy)wedgephi))leftrightarrow(existsz(zeqy)wedgeexistsx((xeqy)wedgephi)))
1, 19, 212bitr22([y/x]phileftrightarrow(existsz(zeqy)wedgeexistsx((xeqy)wedgephi)))
ax9ex23existsz(zeqy)
23an-true<24(existsx((xeqy)wedgephi)leftrightarrow(existsz(zeqy)wedgeexistsx((xeqy)wedgephi)))
22, 24><bitr25([y/x]phileftrightarrowexistsx((xeqy)wedgephi))