sbid

Theorem.

Arguments:

x (sv), phi (pr),

Dummy variables:

z (sv),

Distinct variable conditions:

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

Assertions:

([x/x]phileftrightarrowphi)

Proof:

Hyp Ref Line Expr
df-sb1([x/x]phileftrightarrowexistsz((zeqx)wedgeexistsx((xeqz)wedgephi)))
ax9ex2existsz(zeqx)
2jct<3(phito(existsz(zeqx)wedgephi))
ax17-bv4(z bound in phi)
4exan>5(existsz((zeqx)wedgephi)leftrightarrow(existsz(zeqx)wedgephi))
3, 5brpi22<6(phitoexistsz((zeqx)wedgephi))
eqcomi7((zeqx)to(xeqz))
7im.bldan<8(((zeqx)wedgephi)to((xeqz)wedgephi))
spec-ex9(((xeqz)wedgephi)toexistsx((xeqz)wedgephi))
8, 9syl10(((zeqx)wedgephi)toexistsx((xeqz)wedgephi))
siman<11(((zeqx)wedgephi)to(zeqx))
10, 11jca12(((zeqx)wedgephi)to((zeqx)wedgeexistsx((xeqz)wedgephi)))
12im.bldex13(existsz((zeqx)wedgephi)toexistsz((zeqx)wedgeexistsx((xeqz)wedgephi)))
6, 13syl14(phitoexistsz((zeqx)wedgeexistsx((xeqz)wedgephi)))
1, 14brpi22<15(phito[x/x]phi)
4dfsb-alt16([x/x]phitoexistsz((zeqx)wedgeforallx((xeqz)tophi)))
eqcomi17((zeqx)to(xeqz))
ax418(forallx((xeqz)tophi)to((xeqz)tophi))
18im.bldan>19(((zeqx)wedgeforallx((xeqz)tophi))to((zeqx)wedge((xeqz)tophi)))
17im.bldan<20(((zeqx)wedge((xeqz)tophi))to((xeqz)wedge((xeqz)tophi)))
mpclosedan21(((xeqz)wedge((xeqz)tophi))tophi)
19, 20, 213syl22(((zeqx)wedgeforallx((xeqz)tophi))tophi)
4, 22imgen<i23(existsz((zeqx)wedgeforallx((xeqz)tophi))tophi)
16, 23syl24([x/x]phitophi)
15, 24>bii25([x/x]phileftrightarrowphi)