Metamath Proof Explorer


Theorem fuconuniqvalslem

Description: Lemma for fuconuniqvals . (Contributed by Zhi Wang, 14-Sep-2026) (New usage is discouraged.)

Ref Expression
Hypotheses fuconuniq2.c ⊢ C = SetCat ⁡ 1 𝑜
fuconuniq2.e ⊢ E = Base ndx 2 𝑜 Hom ⁡ ndx m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ comp ⁡ ndx p ∈ 2 𝑜 × 2 𝑜 , q ∈ 2 𝑜 ⟼ r ∈ 3 𝑜 , s ∈ 3 𝑜 ⟼ r ∩ s
fuconuniq2.q ⊢ Q = C FuncCat E
fuconuniq2.l No typesetting found for |- L = ( <. C , C >. o.F E ) with typecode |-
fuconuniq.a ⊢ A = b ∈ 3 𝑜 ⟼ if b = 2 𝑜 2 𝑜 if b = ∅ 1 𝑜 ∅
fuconuniq.m ⊢ M = u ∈ 2 𝑜 , v ∈ 2 𝑜 ⟼ a ∈ u m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ v ⟼ A ⁡ a
fuconuniq.s ⊢ S = I ↾ 2 𝑜 M
fuconuniq.r ⊢ R = E FuncCat E
fuconuniq.o No typesetting found for |- .o. = ( <. R , Q >. curryF ( <. C , E >. o.F E ) ) with typecode |-
fuconuniq.k No typesetting found for |- K = ( ( 1st ` .o. ) ` S ) with typecode |-
fuconuniqvals.d ⊢ D = E Δ func C
fuconuniqvals.f ⊢ F = 1 st ⁡ D ⁡ ∅
fuconuniqvals.g ⊢ G = 1 st ⁡ D ⁡ 1 𝑜
fuconuniqvals.n ⊢ N = 1 𝑜 × ∅
fuconuniqvalslem.t ⊢ T = C FuncCat E × c C FuncCat C
Assertion fuconuniqvalslem ⊢ N F id func ⁡ C 2 nd ⁡ L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = ∅ ∧ N F id func ⁡ C 2 nd ⁡ K ∘ func L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = 1 𝑜

Proof

Step Hyp Ref Expression
1 fuconuniq2.c ⊢ C = SetCat ⁡ 1 𝑜
2 fuconuniq2.e ⊢ E = Base ndx 2 𝑜 Hom ⁡ ndx m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ comp ⁡ ndx p ∈ 2 𝑜 × 2 𝑜 , q ∈ 2 𝑜 ⟼ r ∈ 3 𝑜 , s ∈ 3 𝑜 ⟼ r ∩ s
3 fuconuniq2.q ⊢ Q = C FuncCat E
4 fuconuniq2.l Could not format L = ( <. C , C >. o.F E ) : No typesetting found for |- L = ( <. C , C >. o.F E ) with typecode |-
5 fuconuniq.a ⊢ A = b ∈ 3 𝑜 ⟼ if b = 2 𝑜 2 𝑜 if b = ∅ 1 𝑜 ∅
6 fuconuniq.m ⊢ M = u ∈ 2 𝑜 , v ∈ 2 𝑜 ⟼ a ∈ u m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ v ⟼ A ⁡ a
7 fuconuniq.s ⊢ S = I ↾ 2 𝑜 M
8 fuconuniq.r ⊢ R = E FuncCat E
9 fuconuniq.o Could not format .o. = ( <. R , Q >. curryF ( <. C , E >. o.F E ) ) : No typesetting found for |- .o. = ( <. R , Q >. curryF ( <. C , E >. o.F E ) ) with typecode |-
10 fuconuniq.k Could not format K = ( ( 1st ` .o. ) ` S ) : No typesetting found for |- K = ( ( 1st ` .o. ) ` S ) with typecode |-
11 fuconuniqvals.d ⊢ D = E Δ func C
12 fuconuniqvals.f ⊢ F = 1 st ⁡ D ⁡ ∅
13 fuconuniqvals.g ⊢ G = 1 st ⁡ D ⁡ 1 𝑜
14 fuconuniqvals.n ⊢ N = 1 𝑜 × ∅
15 fuconuniqvalslem.t ⊢ T = C FuncCat E × c C FuncCat C
16 4 eqcomi Could not format ( <. C , C >. o.F E ) = L : No typesetting found for |- ( <. C , C >. o.F E ) = L with typecode |-
17 16 fveq2i Could not format ( 2nd ` ( <. C , C >. o.F E ) ) = ( 2nd ` L ) : No typesetting found for |- ( 2nd ` ( <. C , C >. o.F E ) ) = ( 2nd ` L ) with typecode |-
18 17 a1i Could not format ( T. -> ( 2nd ` ( <. C , C >. o.F E ) ) = ( 2nd ` L ) ) : No typesetting found for |- ( T. -> ( 2nd ` ( <. C , C >. o.F E ) ) = ( 2nd ` L ) ) with typecode |-
19 eqid ⊢ C FuncCat C = C FuncCat C
20 eqid ⊢ Id ⁡ C FuncCat C = Id ⁡ C FuncCat C
21 eqid ⊢ id func ⁡ C = id func ⁡ C
22 setc1oterm Could not format ( SetCat ` 1o ) e. TermCat : No typesetting found for |- ( SetCat ` 1o ) e. TermCat with typecode |-
23 1 22 eqeltri Could not format C e. TermCat : No typesetting found for |- C e. TermCat with typecode |-
24 23 a1i Could not format ( T. -> C e. TermCat ) : No typesetting found for |- ( T. -> C e. TermCat ) with typecode |-
25 24 termccatd ⊢ ⊤ → C ∈ Cat
26 1 2 11 12 13 14 par2diag ⊢ F ∈ C Func E ∧ G ∈ C Func E ∧ N ∈ F C Nat E G ∧ N ⁡ ∅ = ∅ ∧ 1 st ⁡ F ⁡ ∅ = ∅ ∧ 1 st ⁡ G ⁡ ∅ = 1 𝑜
27 26 simp2i ⊢ N ∈ F C Nat E G ∧ N ⁡ ∅ = ∅
28 27 simpli ⊢ N ∈ F C Nat E G
29 28 a1i ⊢ ⊤ → N ∈ F C Nat E G
30 18 19 20 21 25 29 fucoridid ⊢ ⊤ → N F id func ⁡ C 2 nd ⁡ L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C = N
31 30 mptru ⊢ N F id func ⁡ C 2 nd ⁡ L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C = N
32 31 fveq1i ⊢ N F id func ⁡ C 2 nd ⁡ L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = N ⁡ ∅
33 27 simpri ⊢ N ⁡ ∅ = ∅
34 32 33 eqtri ⊢ N F id func ⁡ C 2 nd ⁡ L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = ∅
35 2 par2catid ⊢ E ∈ Cat ∧ Id ⁡ E = y ∈ 2 𝑜 ⟼ 2 𝑜
36 35 simpli ⊢ E ∈ Cat
37 36 a1i ⊢ ⊤ → E ∈ Cat
38 2 5 6 parswapfunc ⊢ I ↾ 2 𝑜 M ∈ E Func E
39 7 38 eqeltri ⊢ S ∈ E Func E
40 39 a1i ⊢ ⊤ → S ∈ E Func E
41 mptresid ⊢ I ↾ 2 𝑜 = x ∈ 2 𝑜 ⟼ x
42 2oex ⊢ 2 𝑜 ∈ V
43 42 mptex ⊢ x ∈ 2 𝑜 ⟼ x ∈ V
44 41 43 eqeltri ⊢ I ↾ 2 𝑜 ∈ V
45 42 42 mpoex ⊢ u ∈ 2 𝑜 , v ∈ 2 𝑜 ⟼ a ∈ u m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ v ⟼ A ⁡ a ∈ V
46 6 45 eqeltri ⊢ M ∈ V
47 44 46 op1std ⊢ S = I ↾ 2 𝑜 M → 1 st ⁡ S = I ↾ 2 𝑜
48 7 47 mp1i ⊢ ⊤ → 1 st ⁡ S = I ↾ 2 𝑜
49 24 3 8 9 10 40 48 termcpostfix ⊢ ⊤ → K ∈ Q Func Q ∧ 1 st ⁡ K = I ↾ C Func E
50 49 simpld ⊢ ⊤ → K ∈ Q Func Q
51 26 simp1i ⊢ F ∈ C Func E ∧ G ∈ C Func E
52 51 simpli ⊢ F ∈ C Func E
53 52 a1i ⊢ ⊤ → F ∈ C Func E
54 51 simpri ⊢ G ∈ C Func E
55 54 a1i ⊢ ⊤ → G ∈ C Func E
56 3 4 25 37 50 53 55 29 21 20 fucoaltval ⊢ ⊤ → N F id func ⁡ C 2 nd ⁡ K ∘ func L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C = F 2 nd ⁡ K G ⁡ N
57 56 mptru ⊢ N F id func ⁡ C 2 nd ⁡ K ∘ func L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C = F 2 nd ⁡ K G ⁡ N
58 57 fveq1i ⊢ N F id func ⁡ C 2 nd ⁡ K ∘ func L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = F 2 nd ⁡ K G ⁡ N ⁡ ∅
59 0lt1o ⊢ ∅ ∈ 1 𝑜
60 1 setc1obas ⊢ 1 𝑜 = Base C
61 59 60 eleqtri ⊢ ∅ ∈ Base C
62 61 a1i ⊢ ⊤ → ∅ ∈ Base C
63 3 8 9 40 25 10 53 55 29 62 postcof2 ⊢ ⊤ → F 2 nd ⁡ K G ⁡ N ⁡ ∅ = 1 st ⁡ F ⁡ ∅ 2 nd ⁡ S 1 st ⁡ G ⁡ ∅ ⁡ N ⁡ ∅
64 63 mptru ⊢ F 2 nd ⁡ K G ⁡ N ⁡ ∅ = 1 st ⁡ F ⁡ ∅ 2 nd ⁡ S 1 st ⁡ G ⁡ ∅ ⁡ N ⁡ ∅
65 26 simp3i ⊢ 1 st ⁡ F ⁡ ∅ = ∅ ∧ 1 st ⁡ G ⁡ ∅ = 1 𝑜
66 65 simpli ⊢ 1 st ⁡ F ⁡ ∅ = ∅
67 65 simpri ⊢ 1 st ⁡ G ⁡ ∅ = 1 𝑜
68 44 46 op2ndd ⊢ S = I ↾ 2 𝑜 M → 2 nd ⁡ S = M
69 7 68 ax-mp ⊢ 2 nd ⁡ S = M
70 66 67 69 oveq123i ⊢ 1 st ⁡ F ⁡ ∅ 2 nd ⁡ S 1 st ⁡ G ⁡ ∅ = ∅ M 1 𝑜
71 70 33 fveq12i ⊢ 1 st ⁡ F ⁡ ∅ 2 nd ⁡ S 1 st ⁡ G ⁡ ∅ ⁡ N ⁡ ∅ = ∅ M 1 𝑜 ⁡ ∅
72 64 71 eqtri ⊢ F 2 nd ⁡ K G ⁡ N ⁡ ∅ = ∅ M 1 𝑜 ⁡ ∅
73 0ex ⊢ ∅ ∈ V
74 73 prid1 ⊢ ∅ ∈ ∅ 1 𝑜
75 df2o3 ⊢ 2 𝑜 = ∅ 1 𝑜
76 74 75 eleqtrri ⊢ ∅ ∈ 2 𝑜
77 76 a1i ⊢ ⊤ → ∅ ∈ 2 𝑜
78 1oelpr ⊢ 1 𝑜 ∈ ∅ 1 𝑜
79 78 75 eleqtrri ⊢ 1 𝑜 ∈ 2 𝑜
80 79 a1i ⊢ ⊤ → 1 𝑜 ∈ 2 𝑜
81 eqid ⊢ m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ = m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅
82 81 par2hom ⊢ ∅ m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ ∅ = 2 𝑜 ∧ 1 𝑜 m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ 1 𝑜 = 2 𝑜 ∧ ∅ m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ 1 𝑜 = 2 𝑜 ∧ 1 𝑜 m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ ∅ = ∅
83 82 simp3i ⊢ ∅ m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ 1 𝑜 = 2 𝑜 ∧ 1 𝑜 m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ ∅ = ∅
84 83 simpli ⊢ ∅ m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ 1 𝑜 = 2 𝑜
85 76 84 eleqtrri ⊢ ∅ ∈ ∅ m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ 1 𝑜
86 85 a1i ⊢ ⊤ → ∅ ∈ ∅ m ∈ 2 𝑜 , n ∈ 2 𝑜 ⟼ if m = n 2 𝑜 if m = ∅ ∧ n = 1 𝑜 2 𝑜 ∅ 1 𝑜
87 6 77 80 86 fvmpomptd ⊢ ⊤ → ∅ M 1 𝑜 ⁡ ∅ = A ⁡ ∅
88 87 mptru ⊢ ∅ M 1 𝑜 ⁡ ∅ = A ⁡ ∅
89 5 parswapprop ⊢ A ⁡ 2 𝑜 = 2 𝑜 ∧ ∀ t ∈ 2 𝑜 A ⁡ t ∈ 2 𝑜 ∧ A ⁡ ∅ = 1 𝑜
90 89 simp3i ⊢ A ⁡ ∅ = 1 𝑜
91 72 88 90 3eqtri ⊢ F 2 nd ⁡ K G ⁡ N ⁡ ∅ = 1 𝑜
92 58 91 eqtri ⊢ N F id func ⁡ C 2 nd ⁡ K ∘ func L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = 1 𝑜
93 34 92 pm3.2i ⊢ N F id func ⁡ C 2 nd ⁡ L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = ∅ ∧ N F id func ⁡ C 2 nd ⁡ K ∘ func L G id func ⁡ C Id ⁡ C FuncCat C ⁡ id func ⁡ C ⁡ ∅ = 1 𝑜