mo-sb2

Theorem.

Arguments:

a (st), b (st), x (sv), phi (pr),

Dummy variables:

y (sv),

Distinct variable conditions:

(y, a), (y, b), (y, x), (y, phi), (x, a),

Assertions:

(_em1xphito(([a/x]phiwedge[b/x]phi)to(aeqb)))

Proof:

Hyp Ref Line Expr
df-∃mo-alt31(_em1xphitoforallxforally((phiwedge[y/x]phi)to(xeqy)))
1spec2(_em1xphito[a/x]forally((phiwedge[y/x]phi)to(xeqy)))
eqt<3((xeqa)to((xeqy)leftrightarrow(aeqy)))
eq-sb>b4((xeqa)to(phileftrightarrow[a/x]phi))
4bi>5((xeqa)to(phito[a/x]phi))
4bi.bldan<d6((xeqa)to((phiwedge[y/x]phi)leftrightarrow([a/x]phiwedge[y/x]phi)))
3, 6bi.bldim<>d7((xeqa)to(((phiwedge[y/x]phi)to(xeqy))leftrightarrow(([a/x]phiwedge[y/x]phi)to(aeqy))))
7bi.bldald8((xeqa)to(forally((phiwedge[y/x]phi)to(xeqy))leftrightarrowforally(([a/x]phiwedge[y/x]phi)to(aeqy))))
ax17-bv9(x bound in (aeqy))
bv-sbb-dv10(x bound in [a/x]phi)
bv-sbb-dv11(x bound in [y/x]phi)
10, 11bv-∧12(x bound in ([a/x]phiwedge[y/x]phi))
9, 12bv-→13(x bound in (([a/x]phiwedge[y/x]phi)to(aeqy)))
13bv-∀14(x bound in forally(([a/x]phiwedge[y/x]phi)to(aeqy)))
8, 14sb-xplw15([a/x]forally((phiwedge[y/x]phi)to(xeqy))leftrightarrowforally(([a/x]phiwedge[y/x]phi)to(aeqy)))
2, 15brpi2216(_em1xphitoforally(([a/x]phiwedge[y/x]phi)to(aeqy)))
16spec17(_em1xphito[b/y](([a/x]phiwedge[y/x]phi)to(aeqy)))
eqt>18((yeqb)to((aeqy)leftrightarrow(aeqb)))
eq-sb>b19((yeqb)to([y/x]phileftrightarrow[b/y][y/x]phi))
sbco2w20([b/y][y/x]phileftrightarrow[b/x]phi)
20ax121((yeqb)to([b/y][y/x]phileftrightarrow[b/x]phi))
19, 21bitrd22((yeqb)to([y/x]phileftrightarrow[b/x]phi))
22bi>23((yeqb)to([y/x]phito[b/x]phi))
22bi.bldan>d24((yeqb)to(([a/x]phiwedge[y/x]phi)leftrightarrow([a/x]phiwedge[b/x]phi)))
18, 24bi.bldim<>d25((yeqb)to((([a/x]phiwedge[y/x]phi)to(aeqy))leftrightarrow(([a/x]phiwedge[b/x]phi)to(aeqb))))
ax17-bv26(y bound in (([a/x]phiwedge[b/x]phi)to(aeqb)))
25, 26sb-xplw27([b/y](([a/x]phiwedge[y/x]phi)to(aeqy))leftrightarrow(([a/x]phiwedge[b/x]phi)to(aeqb)))
17, 27brpi2228(_em1xphito(([a/x]phiwedge[b/x]phi)to(aeqb)))