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 = Base Y
pwssplit1.c ⊢ C = Base Z
pwssplit1.f ⊢ F = x ∈ B ⟼ x ↾ V
Assertion pwssplit1 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → F : B ⟶ onto C

Proof

Step Hyp Ref Expression
1 pwssplit1.y ⊢ Y = W ↑ 𝑠 U
2 pwssplit1.z ⊢ Z = W ↑ 𝑠 V
3 pwssplit1.b ⊢ B = Base Y
4 pwssplit1.c ⊢ C = Base Z
5 pwssplit1.f ⊢ F = x ∈ B ⟼ x ↾ V
6 1 2 3 4 5 pwssplit0 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → F : B ⟶ C
7 simp1 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → W ∈ Mnd
8 simp2 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → U ∈ X
9 simp3 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → V ⊆ U
10 8 9 ssexd ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → V ∈ V
11 eqid ⊢ Base W = Base W
12 2 11 4 pwselbasb ⊢ W ∈ Mnd ∧ V ∈ V → a ∈ C ↔ a : V ⟶ Base W
13 7 10 12 syl2anc ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → a ∈ C ↔ a : V ⟶ Base W
14 13 biimpa ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a : V ⟶ Base W
15 fvex ⊢ 0 W ∈ V
16 15 fconst ⊢ U ∖ V × 0 W : U ∖ V ⟶ 0 W
17 16 a1i ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → U ∖ V × 0 W : U ∖ V ⟶ 0 W
18 simpl1 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → W ∈ Mnd
19 eqid ⊢ 0 W = 0 W
20 11 19 mndidcl ⊢ W ∈ Mnd → 0 W ∈ Base W
21 18 20 syl ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → 0 W ∈ Base W
22 21 snssd ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → 0 W ⊆ Base W
23 17 22 fssd ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → U ∖ V × 0 W : U ∖ V ⟶ Base W
24 disjdif ⊢ V ∩ U ∖ V = ∅
25 24 a1i ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → V ∩ U ∖ V = ∅
26 fun ⊢ a : V ⟶ Base W ∧ U ∖ V × 0 W : U ∖ V ⟶ Base W ∧ V ∩ U ∖ V = ∅ → a ∪ U ∖ V × 0 W : V ∪ U ∖ V ⟶ Base W ∪ Base W
27 14 23 25 26 syl21anc ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ∪ U ∖ V × 0 W : V ∪ U ∖ V ⟶ Base W ∪ Base W
28 simpl3 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → V ⊆ U
29 undif ⊢ V ⊆ U ↔ V ∪ U ∖ V = U
30 28 29 sylib ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → V ∪ U ∖ V = U
31 unidm ⊢ Base W ∪ Base W = Base W
32 31 a1i ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → Base W ∪ Base W = Base W
33 30 32 feq23d ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ∪ U ∖ V × 0 W : V ∪ U ∖ V ⟶ Base W ∪ Base W ↔ a ∪ U ∖ V × 0 W : U ⟶ Base W
34 27 33 mpbid ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ∪ U ∖ V × 0 W : U ⟶ Base W
35 simpl2 ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → U ∈ X
36 1 11 3 pwselbasb ⊢ W ∈ Mnd ∧ U ∈ X → a ∪ U ∖ V × 0 W ∈ B ↔ a ∪ U ∖ V × 0 W : U ⟶ Base W
37 18 35 36 syl2anc ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ∪ U ∖ V × 0 W ∈ B ↔ a ∪ U ∖ V × 0 W : U ⟶ Base W
38 34 37 mpbird ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ∪ U ∖ V × 0 W ∈ B
39 5 fvtresfn ⊢ a ∪ U ∖ V × 0 W ∈ B → F ⁡ a ∪ U ∖ V × 0 W = a ∪ U ∖ V × 0 W ↾ V
40 38 39 syl ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → F ⁡ a ∪ U ∖ V × 0 W = a ∪ U ∖ V × 0 W ↾ V
41 resundir ⊢ a ∪ U ∖ V × 0 W ↾ V = a ↾ V ∪ U ∖ V × 0 W ↾ V
42 ffn ⊢ a : V ⟶ Base W → a Fn V
43 fnresdm ⊢ a Fn V → a ↾ V = a
44 14 42 43 3syl ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ↾ V = a
45 disjdifr ⊢ U ∖ V ∩ V = ∅
46 fnconstg ⊢ 0 W ∈ V → U ∖ V × 0 W Fn U ∖ V
47 15 46 ax-mp ⊢ U ∖ V × 0 W Fn U ∖ V
48 fnresdisj ⊢ U ∖ V × 0 W Fn U ∖ V → U ∖ V ∩ V = ∅ ↔ U ∖ V × 0 W ↾ V = ∅
49 47 48 mp1i ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → U ∖ V ∩ V = ∅ ↔ U ∖ V × 0 W ↾ V = ∅
50 45 49 mpbii ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → U ∖ V × 0 W ↾ V = ∅
51 44 50 uneq12d ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ↾ V ∪ U ∖ V × 0 W ↾ V = a ∪ ∅
52 41 51 eqtrid ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ∪ U ∖ V × 0 W ↾ V = a ∪ ∅
53 un0 ⊢ a ∪ ∅ = a
54 52 53 eqtrdi ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a ∪ U ∖ V × 0 W ↾ V = a
55 40 54 eqtr2d ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → a = F ⁡ a ∪ U ∖ V × 0 W
56 fveq2 ⊢ b = a ∪ U ∖ V × 0 W → F ⁡ b = F ⁡ a ∪ U ∖ V × 0 W
57 56 rspceeqv ⊢ a ∪ U ∖ V × 0 W ∈ B ∧ a = F ⁡ a ∪ U ∖ V × 0 W → ∃ b ∈ B a = F ⁡ b
58 38 55 57 syl2anc ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U ∧ a ∈ C → ∃ b ∈ B a = F ⁡ b
59 58 ralrimiva ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → ∀ a ∈ C ∃ b ∈ B a = F ⁡ b
60 dffo3 ⊢ F : B ⟶ onto C ↔ F : B ⟶ C ∧ ∀ a ∈ C ∃ b ∈ B a = F ⁡ b
61 6 59 60 sylanbrc ⊢ W ∈ Mnd ∧ U ∈ X ∧ V ⊆ U → F : B ⟶ onto C