Metamath Proof Explorer


Theorem sbcfung

Description: Distribute proper substitution through the function predicate. (Contributed by Alexander van der Vekens, 23-Jul-2017)

Ref Expression
Assertion sbcfung AV[˙A/x]˙FunFFunA/xF

Proof

Step Hyp Ref Expression
1 sbcan [˙A/x]˙RelFwyzwFzz=y[˙A/x]˙RelF[˙A/x]˙wyzwFzz=y
2 sbcrel AV[˙A/x]˙RelFRelA/xF
3 sbcal [˙A/x]˙wyzwFzz=yw[˙A/x]˙yzwFzz=y
4 sbcex2 [˙A/x]˙yzwFzz=yy[˙A/x]˙zwFzz=y
5 sbcal [˙A/x]˙zwFzz=yz[˙A/x]˙wFzz=y
6 sbcimg AV[˙A/x]˙wFzz=y[˙A/x]˙wFz[˙A/x]˙z=y
7 sbcbr123 [˙A/x]˙wFzA/xwA/xFA/xz
8 csbconstg AVA/xw=w
9 csbconstg AVA/xz=z
10 8 9 breq12d AVA/xwA/xFA/xzwA/xFz
11 7 10 bitrid AV[˙A/x]˙wFzwA/xFz
12 sbcg AV[˙A/x]˙z=yz=y
13 11 12 imbi12d AV[˙A/x]˙wFz[˙A/x]˙z=ywA/xFzz=y
14 6 13 bitrd AV[˙A/x]˙wFzz=ywA/xFzz=y
15 14 albidv AVz[˙A/x]˙wFzz=yzwA/xFzz=y
16 5 15 bitrid AV[˙A/x]˙zwFzz=yzwA/xFzz=y
17 16 exbidv AVy[˙A/x]˙zwFzz=yyzwA/xFzz=y
18 4 17 bitrid AV[˙A/x]˙yzwFzz=yyzwA/xFzz=y
19 18 albidv AVw[˙A/x]˙yzwFzz=ywyzwA/xFzz=y
20 3 19 bitrid AV[˙A/x]˙wyzwFzz=ywyzwA/xFzz=y
21 2 20 anbi12d AV[˙A/x]˙RelF[˙A/x]˙wyzwFzz=yRelA/xFwyzwA/xFzz=y
22 1 21 bitrid AV[˙A/x]˙RelFwyzwFzz=yRelA/xFwyzwA/xFzz=y
23 dffun3 FunFRelFwyzwFzz=y
24 23 sbcbii [˙A/x]˙FunF[˙A/x]˙RelFwyzwFzz=y
25 dffun3 FunA/xFRelA/xFwyzwA/xFzz=y
26 22 24 25 3bitr4g AV[˙A/x]˙FunFFunA/xF