Metamath Proof Explorer


Theorem pwssplit1

Description: Splitting for structure powers, part 1: restriction is an onto function. The only actual monoid law we need here is that the base set is nonempty. (Contributed by Stefan O'Rear, 24-Jan-2015)

Ref Expression
Hypotheses pwssplit1.y Y=W𝑠U
pwssplit1.z Z=W𝑠V
pwssplit1.b B=BaseY
pwssplit1.c C=BaseZ
pwssplit1.f F=xBxV
Assertion pwssplit1 WMndUXVUF:BontoC

Proof

Step Hyp Ref Expression
1 pwssplit1.y Y=W𝑠U
2 pwssplit1.z Z=W𝑠V
3 pwssplit1.b B=BaseY
4 pwssplit1.c C=BaseZ
5 pwssplit1.f F=xBxV
6 1 2 3 4 5 pwssplit0 WMndUXVUF:BC
7 simp1 WMndUXVUWMnd
8 simp2 WMndUXVUUX
9 simp3 WMndUXVUVU
10 8 9 ssexd WMndUXVUVV
11 eqid BaseW=BaseW
12 2 11 4 pwselbasb WMndVVaCa:VBaseW
13 7 10 12 syl2anc WMndUXVUaCa:VBaseW
14 13 biimpa WMndUXVUaCa:VBaseW
15 fvex 0WV
16 15 fconst UV×0W:UV0W
17 16 a1i WMndUXVUaCUV×0W:UV0W
18 simpl1 WMndUXVUaCWMnd
19 eqid 0W=0W
20 11 19 mndidcl WMnd0WBaseW
21 18 20 syl WMndUXVUaC0WBaseW
22 21 snssd WMndUXVUaC0WBaseW
23 17 22 fssd WMndUXVUaCUV×0W:UVBaseW
24 disjdif VUV=
25 24 a1i WMndUXVUaCVUV=
26 fun a:VBaseWUV×0W:UVBaseWVUV=aUV×0W:VUVBaseWBaseW
27 14 23 25 26 syl21anc WMndUXVUaCaUV×0W:VUVBaseWBaseW
28 simpl3 WMndUXVUaCVU
29 undif VUVUV=U
30 28 29 sylib WMndUXVUaCVUV=U
31 unidm BaseWBaseW=BaseW
32 31 a1i WMndUXVUaCBaseWBaseW=BaseW
33 30 32 feq23d WMndUXVUaCaUV×0W:VUVBaseWBaseWaUV×0W:UBaseW
34 27 33 mpbid WMndUXVUaCaUV×0W:UBaseW
35 simpl2 WMndUXVUaCUX
36 1 11 3 pwselbasb WMndUXaUV×0WBaUV×0W:UBaseW
37 18 35 36 syl2anc WMndUXVUaCaUV×0WBaUV×0W:UBaseW
38 34 37 mpbird WMndUXVUaCaUV×0WB
39 5 fvtresfn aUV×0WBFaUV×0W=aUV×0WV
40 38 39 syl WMndUXVUaCFaUV×0W=aUV×0WV
41 resundir aUV×0WV=aVUV×0WV
42 ffn a:VBaseWaFnV
43 fnresdm aFnVaV=a
44 14 42 43 3syl WMndUXVUaCaV=a
45 disjdifr UVV=
46 fnconstg 0WVUV×0WFnUV
47 15 46 ax-mp UV×0WFnUV
48 fnresdisj UV×0WFnUVUVV=UV×0WV=
49 47 48 mp1i WMndUXVUaCUVV=UV×0WV=
50 45 49 mpbii WMndUXVUaCUV×0WV=
51 44 50 uneq12d WMndUXVUaCaVUV×0WV=a
52 41 51 eqtrid WMndUXVUaCaUV×0WV=a
53 un0 a=a
54 52 53 eqtrdi WMndUXVUaCaUV×0WV=a
55 40 54 eqtr2d WMndUXVUaCa=FaUV×0W
56 fveq2 b=aUV×0WFb=FaUV×0W
57 56 rspceeqv aUV×0WBa=FaUV×0WbBa=Fb
58 38 55 57 syl2anc WMndUXVUaCbBa=Fb
59 58 ralrimiva WMndUXVUaCbBa=Fb
60 dffo3 F:BontoCF:BCaCbBa=Fb
61 6 59 60 sylanbrc WMndUXVUF:BontoC