Metamath Proof Explorer


Theorem funcrngcsetcALT

Description: Alternate proof of funcrngcsetc , using cofuval2 to construct the "natural forgetful functor" from the category of non-unital rings into the category of sets by composing the "inclusion functor" from the category of non-unital rings into the category of extensible structures, see rngcifuestrc , and the "natural forgetful functor" from the category of extensible structures into the category of sets, see funcestrcsetc . Surprisingly, this proof is longer than the direct proof given in funcrngcsetc . (Contributed by AV, 30-Mar-2020) (Proof modification is discouraged.) (New usage is discouraged.)

Ref Expression
Hypotheses funcrngcsetcALT.r ⊢ R = RngCat ⁡ U
funcrngcsetcALT.s ⊢ S = SetCat ⁡ U
funcrngcsetcALT.b ⊢ B = Base R
funcrngcsetcALT.u ⊢ φ → U ∈ WUni
funcrngcsetcALT.f ⊢ φ → F = x ∈ B ⟼ Base x
funcrngcsetcALT.g ⊢ φ → G = x ∈ B , y ∈ B ⟼ I ↾ x RngHom y
Assertion funcrngcsetcALT ⊢ φ → F R Func S G

Proof

Step Hyp Ref Expression
1 funcrngcsetcALT.r ⊢ R = RngCat ⁡ U
2 funcrngcsetcALT.s ⊢ S = SetCat ⁡ U
3 funcrngcsetcALT.b ⊢ B = Base R
4 funcrngcsetcALT.u ⊢ φ → U ∈ WUni
5 funcrngcsetcALT.f ⊢ φ → F = x ∈ B ⟼ Base x
6 funcrngcsetcALT.g ⊢ φ → G = x ∈ B , y ∈ B ⟼ I ↾ x RngHom y
7 fveq2 ⊢ x = u → Base x = Base u
8 7 cbvmptv ⊢ x ∈ B ⟼ Base x = u ∈ B ⟼ Base u
9 5 8 eqtrdi ⊢ φ → F = u ∈ B ⟼ Base u
10 coires1 ⊢ u ∈ U ⟼ Base u ∘ I ↾ B = u ∈ U ⟼ Base u ↾ B
11 1 3 4 rngcbas ⊢ φ → B = U ∩ Rng
12 11 eleq2d ⊢ φ → x ∈ B ↔ x ∈ U ∩ Rng
13 elin ⊢ x ∈ U ∩ Rng ↔ x ∈ U ∧ x ∈ Rng
14 13 simplbi ⊢ x ∈ U ∩ Rng → x ∈ U
15 12 14 biimtrdi ⊢ φ → x ∈ B → x ∈ U
16 15 ssrdv ⊢ φ → B ⊆ U
17 16 resmptd ⊢ φ → u ∈ U ⟼ Base u ↾ B = u ∈ B ⟼ Base u
18 10 17 eqtr2id ⊢ φ → u ∈ B ⟼ Base u = u ∈ U ⟼ Base u ∘ I ↾ B
19 9 18 eqtrd ⊢ φ → F = u ∈ U ⟼ Base u ∘ I ↾ B
20 coires1 ⊢ I ↾ Base y Base x ∘ I ↾ x RngHom y = I ↾ Base y Base x ↾ x RngHom y
21 eqid ⊢ Base x = Base x
22 eqid ⊢ Base y = Base y
23 21 22 rnghmf ⊢ z ∈ x RngHom y → z : Base x ⟶ Base y
24 fvex ⊢ Base y ∈ V
25 fvex ⊢ Base x ∈ V
26 24 25 pm3.2i ⊢ Base y ∈ V ∧ Base x ∈ V
27 elmapg ⊢ Base y ∈ V ∧ Base x ∈ V → z ∈ Base y Base x ↔ z : Base x ⟶ Base y
28 26 27 mp1i ⊢ φ ∧ x ∈ B ∧ y ∈ B → z ∈ Base y Base x ↔ z : Base x ⟶ Base y
29 23 28 imbitrrid ⊢ φ ∧ x ∈ B ∧ y ∈ B → z ∈ x RngHom y → z ∈ Base y Base x
30 29 ssrdv ⊢ φ ∧ x ∈ B ∧ y ∈ B → x RngHom y ⊆ Base y Base x
31 30 resabs1d ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ Base y Base x ↾ x RngHom y = I ↾ x RngHom y
32 20 31 eqtr2id ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ x RngHom y = I ↾ Base y Base x ∘ I ↾ x RngHom y
33 32 mpoeq3dva ⊢ φ → x ∈ B , y ∈ B ⟼ I ↾ x RngHom y = x ∈ B , y ∈ B ⟼ I ↾ Base y Base x ∘ I ↾ x RngHom y
34 6 33 eqtrd ⊢ φ → G = x ∈ B , y ∈ B ⟼ I ↾ Base y Base x ∘ I ↾ x RngHom y
35 3 a1i ⊢ φ → B = Base R
36 3 a1i ⊢ φ ∧ x ∈ B → B = Base R
37 fvresi ⊢ x ∈ B → I ↾ B ⁡ x = x
38 37 adantr ⊢ x ∈ B ∧ y ∈ B → I ↾ B ⁡ x = x
39 38 adantl ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ B ⁡ x = x
40 fvresi ⊢ y ∈ B → I ↾ B ⁡ y = y
41 40 adantl ⊢ x ∈ B ∧ y ∈ B → I ↾ B ⁡ y = y
42 41 adantl ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ B ⁡ y = y
43 39 42 oveq12d ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ B ⁡ x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w I ↾ B ⁡ y = x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w y
44 eqidd ⊢ φ ∧ x ∈ B ∧ y ∈ B → w ∈ U , z ∈ U ⟼ I ↾ Base z Base w = w ∈ U , z ∈ U ⟼ I ↾ Base z Base w
45 simprr ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ w = x ∧ z = y → z = y
46 45 fveq2d ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ w = x ∧ z = y → Base z = Base y
47 simprl ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ w = x ∧ z = y → w = x
48 47 fveq2d ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ w = x ∧ z = y → Base w = Base x
49 46 48 oveq12d ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ w = x ∧ z = y → Base z Base w = Base y Base x
50 49 reseq2d ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ w = x ∧ z = y → I ↾ Base z Base w = I ↾ Base y Base x
51 15 com12 ⊢ x ∈ B → φ → x ∈ U
52 51 adantr ⊢ x ∈ B ∧ y ∈ B → φ → x ∈ U
53 52 impcom ⊢ φ ∧ x ∈ B ∧ y ∈ B → x ∈ U
54 11 eleq2d ⊢ φ → y ∈ B ↔ y ∈ U ∩ Rng
55 elin ⊢ y ∈ U ∩ Rng ↔ y ∈ U ∧ y ∈ Rng
56 55 simplbi ⊢ y ∈ U ∩ Rng → y ∈ U
57 54 56 biimtrdi ⊢ φ → y ∈ B → y ∈ U
58 57 a1d ⊢ φ → x ∈ B → y ∈ B → y ∈ U
59 58 imp32 ⊢ φ ∧ x ∈ B ∧ y ∈ B → y ∈ U
60 ovex ⊢ Base y Base x ∈ V
61 60 a1i ⊢ φ ∧ x ∈ B ∧ y ∈ B → Base y Base x ∈ V
62 61 resiexd ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ Base y Base x ∈ V
63 44 50 53 59 62 ovmpod ⊢ φ ∧ x ∈ B ∧ y ∈ B → x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w y = I ↾ Base y Base x
64 43 63 eqtr2d ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ Base y Base x = I ↾ B ⁡ x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w I ↾ B ⁡ y
65 eqidd ⊢ φ ∧ x ∈ B ∧ y ∈ B → f ∈ B , g ∈ B ⟼ I ↾ f RngHom g = f ∈ B , g ∈ B ⟼ I ↾ f RngHom g
66 oveq12 ⊢ f = x ∧ g = y → f RngHom g = x RngHom y
67 66 reseq2d ⊢ f = x ∧ g = y → I ↾ f RngHom g = I ↾ x RngHom y
68 67 adantl ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ f = x ∧ g = y → I ↾ f RngHom g = I ↾ x RngHom y
69 simprl ⊢ φ ∧ x ∈ B ∧ y ∈ B → x ∈ B
70 simprr ⊢ φ ∧ x ∈ B ∧ y ∈ B → y ∈ B
71 ovex ⊢ x RngHom y ∈ V
72 71 a1i ⊢ φ ∧ x ∈ B ∧ y ∈ B → x RngHom y ∈ V
73 72 resiexd ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ x RngHom y ∈ V
74 65 68 69 70 73 ovmpod ⊢ φ ∧ x ∈ B ∧ y ∈ B → x f ∈ B , g ∈ B ⟼ I ↾ f RngHom g y = I ↾ x RngHom y
75 74 eqcomd ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ x RngHom y = x f ∈ B , g ∈ B ⟼ I ↾ f RngHom g y
76 64 75 coeq12d ⊢ φ ∧ x ∈ B ∧ y ∈ B → I ↾ Base y Base x ∘ I ↾ x RngHom y = I ↾ B ⁡ x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w I ↾ B ⁡ y ∘ x f ∈ B , g ∈ B ⟼ I ↾ f RngHom g y
77 35 36 76 mpoeq123dva ⊢ φ → x ∈ B , y ∈ B ⟼ I ↾ Base y Base x ∘ I ↾ x RngHom y = x ∈ Base R , y ∈ Base R ⟼ I ↾ B ⁡ x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w I ↾ B ⁡ y ∘ x f ∈ B , g ∈ B ⟼ I ↾ f RngHom g y
78 34 77 eqtrd ⊢ φ → G = x ∈ Base R , y ∈ Base R ⟼ I ↾ B ⁡ x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w I ↾ B ⁡ y ∘ x f ∈ B , g ∈ B ⟼ I ↾ f RngHom g y
79 19 78 opeq12d ⊢ φ → F G = u ∈ U ⟼ Base u ∘ I ↾ B x ∈ Base R , y ∈ Base R ⟼ I ↾ B ⁡ x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w I ↾ B ⁡ y ∘ x f ∈ B , g ∈ B ⟼ I ↾ f RngHom g y
80 eqid ⊢ Base R = Base R
81 eqid ⊢ ExtStrCat ⁡ U = ExtStrCat ⁡ U
82 eqidd ⊢ φ → I ↾ B = I ↾ B
83 eqidd ⊢ φ → f ∈ B , g ∈ B ⟼ I ↾ f RngHom g = f ∈ B , g ∈ B ⟼ I ↾ f RngHom g
84 1 81 3 4 82 83 rngcifuestrc ⊢ φ → I ↾ B R Func ExtStrCat ⁡ U f ∈ B , g ∈ B ⟼ I ↾ f RngHom g
85 eqid ⊢ Base ExtStrCat ⁡ U = Base ExtStrCat ⁡ U
86 eqid ⊢ Base S = Base S
87 81 4 estrcbas ⊢ φ → U = Base ExtStrCat ⁡ U
88 87 mpteq1d ⊢ φ → u ∈ U ⟼ Base u = u ∈ Base ExtStrCat ⁡ U ⟼ Base u
89 fveq2 ⊢ w = u → Base w = Base u
90 89 oveq2d ⊢ w = u → Base z Base w = Base z Base u
91 90 reseq2d ⊢ w = u → I ↾ Base z Base w = I ↾ Base z Base u
92 fveq2 ⊢ z = v → Base z = Base v
93 92 oveq1d ⊢ z = v → Base z Base u = Base v Base u
94 93 reseq2d ⊢ z = v → I ↾ Base z Base u = I ↾ Base v Base u
95 91 94 cbvmpov ⊢ w ∈ U , z ∈ U ⟼ I ↾ Base z Base w = u ∈ U , v ∈ U ⟼ I ↾ Base v Base u
96 95 a1i ⊢ φ → w ∈ U , z ∈ U ⟼ I ↾ Base z Base w = u ∈ U , v ∈ U ⟼ I ↾ Base v Base u
97 eqidd ⊢ φ → I ↾ Base v Base u = I ↾ Base v Base u
98 87 87 97 mpoeq123dv ⊢ φ → u ∈ U , v ∈ U ⟼ I ↾ Base v Base u = u ∈ Base ExtStrCat ⁡ U , v ∈ Base ExtStrCat ⁡ U ⟼ I ↾ Base v Base u
99 96 98 eqtrd ⊢ φ → w ∈ U , z ∈ U ⟼ I ↾ Base z Base w = u ∈ Base ExtStrCat ⁡ U , v ∈ Base ExtStrCat ⁡ U ⟼ I ↾ Base v Base u
100 81 2 85 86 4 88 99 funcestrcsetc ⊢ φ → u ∈ U ⟼ Base u ExtStrCat ⁡ U Func S w ∈ U , z ∈ U ⟼ I ↾ Base z Base w
101 80 84 100 cofuval2 ⊢ φ → u ∈ U ⟼ Base u w ∈ U , z ∈ U ⟼ I ↾ Base z Base w ∘ func I ↾ B f ∈ B , g ∈ B ⟼ I ↾ f RngHom g = u ∈ U ⟼ Base u ∘ I ↾ B x ∈ Base R , y ∈ Base R ⟼ I ↾ B ⁡ x w ∈ U , z ∈ U ⟼ I ↾ Base z Base w I ↾ B ⁡ y ∘ x f ∈ B , g ∈ B ⟼ I ↾ f RngHom g y
102 79 101 eqtr4d ⊢ φ → F G = u ∈ U ⟼ Base u w ∈ U , z ∈ U ⟼ I ↾ Base z Base w ∘ func I ↾ B f ∈ B , g ∈ B ⟼ I ↾ f RngHom g
103 df-br ⊢ I ↾ B R Func ExtStrCat ⁡ U f ∈ B , g ∈ B ⟼ I ↾ f RngHom g ↔ I ↾ B f ∈ B , g ∈ B ⟼ I ↾ f RngHom g ∈ R Func ExtStrCat ⁡ U
104 84 103 sylib ⊢ φ → I ↾ B f ∈ B , g ∈ B ⟼ I ↾ f RngHom g ∈ R Func ExtStrCat ⁡ U
105 df-br ⊢ u ∈ U ⟼ Base u ExtStrCat ⁡ U Func S w ∈ U , z ∈ U ⟼ I ↾ Base z Base w ↔ u ∈ U ⟼ Base u w ∈ U , z ∈ U ⟼ I ↾ Base z Base w ∈ ExtStrCat ⁡ U Func S
106 100 105 sylib ⊢ φ → u ∈ U ⟼ Base u w ∈ U , z ∈ U ⟼ I ↾ Base z Base w ∈ ExtStrCat ⁡ U Func S
107 104 106 cofucl ⊢ φ → u ∈ U ⟼ Base u w ∈ U , z ∈ U ⟼ I ↾ Base z Base w ∘ func I ↾ B f ∈ B , g ∈ B ⟼ I ↾ f RngHom g ∈ R Func S
108 102 107 eqeltrd ⊢ φ → F G ∈ R Func S
109 df-br ⊢ F R Func S G ↔ F G ∈ R Func S
110 108 109 sylibr ⊢ φ → F R Func S G