| Step |
Hyp |
Ref |
Expression |
| 1 |
|
fuconuniq2.c |
⊢ 𝐶 = ( SetCat ‘ 1o ) |
| 2 |
|
fuconuniq2.e |
⊢ 𝐸 = { 〈 ( Base ‘ ndx ) , 2o 〉 , 〈 ( Hom ‘ ndx ) , ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 〉 , 〈 ( comp ‘ ndx ) , ( 𝑝 ∈ ( 2o × 2o ) , 𝑞 ∈ 2o ↦ ( 𝑟 ∈ 3o , 𝑠 ∈ 3o ↦ ( 𝑟 ∩ 𝑠 ) ) ) 〉 } |
| 3 |
|
fuconuniq2.q |
⊢ 𝑄 = ( 𝐶 FuncCat 𝐸 ) |
| 4 |
|
fuconuniq2.l |
⊢ 𝐿 = ( 〈 𝐶 , 𝐶 〉 ∘F 𝐸 ) |
| 5 |
|
fuconuniq.a |
⊢ 𝐴 = ( 𝑏 ∈ 3o ↦ if ( 𝑏 = 2o , 2o , if ( 𝑏 = ∅ , 1o , ∅ ) ) ) |
| 6 |
|
fuconuniq.m |
⊢ 𝑀 = ( 𝑢 ∈ 2o , 𝑣 ∈ 2o ↦ ( 𝑎 ∈ ( 𝑢 ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 𝑣 ) ↦ ( 𝐴 ‘ 𝑎 ) ) ) |
| 7 |
|
fuconuniq.s |
⊢ 𝑆 = 〈 ( I ↾ 2o ) , 𝑀 〉 |
| 8 |
|
fuconuniq.r |
⊢ 𝑅 = ( 𝐸 FuncCat 𝐸 ) |
| 9 |
|
fuconuniq.o |
⊢ ⚬ = ( 〈 𝑅 , 𝑄 〉 curryF ( 〈 𝐶 , 𝐸 〉 ∘F 𝐸 ) ) |
| 10 |
|
fuconuniq.k |
⊢ 𝐾 = ( ( 1st ‘ ⚬ ) ‘ 𝑆 ) |
| 11 |
|
fuconuniqvals.d |
⊢ 𝐷 = ( 𝐸 Δfunc 𝐶 ) |
| 12 |
|
fuconuniqvals.f |
⊢ 𝐹 = ( ( 1st ‘ 𝐷 ) ‘ ∅ ) |
| 13 |
|
fuconuniqvals.g |
⊢ 𝐺 = ( ( 1st ‘ 𝐷 ) ‘ 1o ) |
| 14 |
|
fuconuniqvals.n |
⊢ 𝑁 = ( 1o × { ∅ } ) |
| 15 |
|
fuconuniqvalslem.t |
⊢ 𝑇 = ( ( 𝐶 FuncCat 𝐸 ) ×c ( 𝐶 FuncCat 𝐶 ) ) |
| 16 |
4
|
eqcomi |
⊢ ( 〈 𝐶 , 𝐶 〉 ∘F 𝐸 ) = 𝐿 |
| 17 |
16
|
fveq2i |
⊢ ( 2nd ‘ ( 〈 𝐶 , 𝐶 〉 ∘F 𝐸 ) ) = ( 2nd ‘ 𝐿 ) |
| 18 |
17
|
a1i |
⊢ ( ⊤ → ( 2nd ‘ ( 〈 𝐶 , 𝐶 〉 ∘F 𝐸 ) ) = ( 2nd ‘ 𝐿 ) ) |
| 19 |
|
eqid |
⊢ ( 𝐶 FuncCat 𝐶 ) = ( 𝐶 FuncCat 𝐶 ) |
| 20 |
|
eqid |
⊢ ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) = ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) |
| 21 |
|
eqid |
⊢ ( idfunc ‘ 𝐶 ) = ( idfunc ‘ 𝐶 ) |
| 22 |
|
setc1oterm |
⊢ ( SetCat ‘ 1o ) ∈ TermCat |
| 23 |
1 22
|
eqeltri |
⊢ 𝐶 ∈ TermCat |
| 24 |
23
|
a1i |
⊢ ( ⊤ → 𝐶 ∈ TermCat ) |
| 25 |
24
|
termccatd |
⊢ ( ⊤ → 𝐶 ∈ Cat ) |
| 26 |
1 2 11 12 13 14
|
par2diag |
⊢ ( ( 𝐹 ∈ ( 𝐶 Func 𝐸 ) ∧ 𝐺 ∈ ( 𝐶 Func 𝐸 ) ) ∧ ( 𝑁 ∈ ( 𝐹 ( 𝐶 Nat 𝐸 ) 𝐺 ) ∧ ( 𝑁 ‘ ∅ ) = ∅ ) ∧ ( ( ( 1st ‘ 𝐹 ) ‘ ∅ ) = ∅ ∧ ( ( 1st ‘ 𝐺 ) ‘ ∅ ) = 1o ) ) |
| 27 |
26
|
simp2i |
⊢ ( 𝑁 ∈ ( 𝐹 ( 𝐶 Nat 𝐸 ) 𝐺 ) ∧ ( 𝑁 ‘ ∅ ) = ∅ ) |
| 28 |
27
|
simpli |
⊢ 𝑁 ∈ ( 𝐹 ( 𝐶 Nat 𝐸 ) 𝐺 ) |
| 29 |
28
|
a1i |
⊢ ( ⊤ → 𝑁 ∈ ( 𝐹 ( 𝐶 Nat 𝐸 ) 𝐺 ) ) |
| 30 |
18 19 20 21 25 29
|
fucoridid |
⊢ ( ⊤ → ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ 𝐿 ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) = 𝑁 ) |
| 31 |
30
|
mptru |
⊢ ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ 𝐿 ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) = 𝑁 |
| 32 |
31
|
fveq1i |
⊢ ( ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ 𝐿 ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) ‘ ∅ ) = ( 𝑁 ‘ ∅ ) |
| 33 |
27
|
simpri |
⊢ ( 𝑁 ‘ ∅ ) = ∅ |
| 34 |
32 33
|
eqtri |
⊢ ( ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ 𝐿 ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) ‘ ∅ ) = ∅ |
| 35 |
2
|
par2catid |
⊢ ( 𝐸 ∈ Cat ∧ ( Id ‘ 𝐸 ) = ( 𝑦 ∈ 2o ↦ 2o ) ) |
| 36 |
35
|
simpli |
⊢ 𝐸 ∈ Cat |
| 37 |
36
|
a1i |
⊢ ( ⊤ → 𝐸 ∈ Cat ) |
| 38 |
2 5 6
|
parswapfunc |
⊢ 〈 ( I ↾ 2o ) , 𝑀 〉 ∈ ( 𝐸 Func 𝐸 ) |
| 39 |
7 38
|
eqeltri |
⊢ 𝑆 ∈ ( 𝐸 Func 𝐸 ) |
| 40 |
39
|
a1i |
⊢ ( ⊤ → 𝑆 ∈ ( 𝐸 Func 𝐸 ) ) |
| 41 |
|
mptresid |
⊢ ( I ↾ 2o ) = ( 𝑥 ∈ 2o ↦ 𝑥 ) |
| 42 |
|
2oex |
⊢ 2o ∈ V |
| 43 |
42
|
mptex |
⊢ ( 𝑥 ∈ 2o ↦ 𝑥 ) ∈ V |
| 44 |
41 43
|
eqeltri |
⊢ ( I ↾ 2o ) ∈ V |
| 45 |
42 42
|
mpoex |
⊢ ( 𝑢 ∈ 2o , 𝑣 ∈ 2o ↦ ( 𝑎 ∈ ( 𝑢 ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 𝑣 ) ↦ ( 𝐴 ‘ 𝑎 ) ) ) ∈ V |
| 46 |
6 45
|
eqeltri |
⊢ 𝑀 ∈ V |
| 47 |
44 46
|
op1std |
⊢ ( 𝑆 = 〈 ( I ↾ 2o ) , 𝑀 〉 → ( 1st ‘ 𝑆 ) = ( I ↾ 2o ) ) |
| 48 |
7 47
|
mp1i |
⊢ ( ⊤ → ( 1st ‘ 𝑆 ) = ( I ↾ 2o ) ) |
| 49 |
24 3 8 9 10 40 48
|
termcpostfix |
⊢ ( ⊤ → ( 𝐾 ∈ ( 𝑄 Func 𝑄 ) ∧ ( 1st ‘ 𝐾 ) = ( I ↾ ( 𝐶 Func 𝐸 ) ) ) ) |
| 50 |
49
|
simpld |
⊢ ( ⊤ → 𝐾 ∈ ( 𝑄 Func 𝑄 ) ) |
| 51 |
26
|
simp1i |
⊢ ( 𝐹 ∈ ( 𝐶 Func 𝐸 ) ∧ 𝐺 ∈ ( 𝐶 Func 𝐸 ) ) |
| 52 |
51
|
simpli |
⊢ 𝐹 ∈ ( 𝐶 Func 𝐸 ) |
| 53 |
52
|
a1i |
⊢ ( ⊤ → 𝐹 ∈ ( 𝐶 Func 𝐸 ) ) |
| 54 |
51
|
simpri |
⊢ 𝐺 ∈ ( 𝐶 Func 𝐸 ) |
| 55 |
54
|
a1i |
⊢ ( ⊤ → 𝐺 ∈ ( 𝐶 Func 𝐸 ) ) |
| 56 |
3 4 25 37 50 53 55 29 21 20
|
fucoaltval |
⊢ ( ⊤ → ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ ( 𝐾 ∘func 𝐿 ) ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) = ( ( 𝐹 ( 2nd ‘ 𝐾 ) 𝐺 ) ‘ 𝑁 ) ) |
| 57 |
56
|
mptru |
⊢ ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ ( 𝐾 ∘func 𝐿 ) ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) = ( ( 𝐹 ( 2nd ‘ 𝐾 ) 𝐺 ) ‘ 𝑁 ) |
| 58 |
57
|
fveq1i |
⊢ ( ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ ( 𝐾 ∘func 𝐿 ) ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) ‘ ∅ ) = ( ( ( 𝐹 ( 2nd ‘ 𝐾 ) 𝐺 ) ‘ 𝑁 ) ‘ ∅ ) |
| 59 |
|
0lt1o |
⊢ ∅ ∈ 1o |
| 60 |
1
|
setc1obas |
⊢ 1o = ( Base ‘ 𝐶 ) |
| 61 |
59 60
|
eleqtri |
⊢ ∅ ∈ ( Base ‘ 𝐶 ) |
| 62 |
61
|
a1i |
⊢ ( ⊤ → ∅ ∈ ( Base ‘ 𝐶 ) ) |
| 63 |
3 8 9 40 25 10 53 55 29 62
|
postcof2 |
⊢ ( ⊤ → ( ( ( 𝐹 ( 2nd ‘ 𝐾 ) 𝐺 ) ‘ 𝑁 ) ‘ ∅ ) = ( ( ( ( 1st ‘ 𝐹 ) ‘ ∅ ) ( 2nd ‘ 𝑆 ) ( ( 1st ‘ 𝐺 ) ‘ ∅ ) ) ‘ ( 𝑁 ‘ ∅ ) ) ) |
| 64 |
63
|
mptru |
⊢ ( ( ( 𝐹 ( 2nd ‘ 𝐾 ) 𝐺 ) ‘ 𝑁 ) ‘ ∅ ) = ( ( ( ( 1st ‘ 𝐹 ) ‘ ∅ ) ( 2nd ‘ 𝑆 ) ( ( 1st ‘ 𝐺 ) ‘ ∅ ) ) ‘ ( 𝑁 ‘ ∅ ) ) |
| 65 |
26
|
simp3i |
⊢ ( ( ( 1st ‘ 𝐹 ) ‘ ∅ ) = ∅ ∧ ( ( 1st ‘ 𝐺 ) ‘ ∅ ) = 1o ) |
| 66 |
65
|
simpli |
⊢ ( ( 1st ‘ 𝐹 ) ‘ ∅ ) = ∅ |
| 67 |
65
|
simpri |
⊢ ( ( 1st ‘ 𝐺 ) ‘ ∅ ) = 1o |
| 68 |
44 46
|
op2ndd |
⊢ ( 𝑆 = 〈 ( I ↾ 2o ) , 𝑀 〉 → ( 2nd ‘ 𝑆 ) = 𝑀 ) |
| 69 |
7 68
|
ax-mp |
⊢ ( 2nd ‘ 𝑆 ) = 𝑀 |
| 70 |
66 67 69
|
oveq123i |
⊢ ( ( ( 1st ‘ 𝐹 ) ‘ ∅ ) ( 2nd ‘ 𝑆 ) ( ( 1st ‘ 𝐺 ) ‘ ∅ ) ) = ( ∅ 𝑀 1o ) |
| 71 |
70 33
|
fveq12i |
⊢ ( ( ( ( 1st ‘ 𝐹 ) ‘ ∅ ) ( 2nd ‘ 𝑆 ) ( ( 1st ‘ 𝐺 ) ‘ ∅ ) ) ‘ ( 𝑁 ‘ ∅ ) ) = ( ( ∅ 𝑀 1o ) ‘ ∅ ) |
| 72 |
64 71
|
eqtri |
⊢ ( ( ( 𝐹 ( 2nd ‘ 𝐾 ) 𝐺 ) ‘ 𝑁 ) ‘ ∅ ) = ( ( ∅ 𝑀 1o ) ‘ ∅ ) |
| 73 |
|
0ex |
⊢ ∅ ∈ V |
| 74 |
73
|
prid1 |
⊢ ∅ ∈ { ∅ , 1o } |
| 75 |
|
df2o3 |
⊢ 2o = { ∅ , 1o } |
| 76 |
74 75
|
eleqtrri |
⊢ ∅ ∈ 2o |
| 77 |
76
|
a1i |
⊢ ( ⊤ → ∅ ∈ 2o ) |
| 78 |
|
1oelpr |
⊢ 1o ∈ { ∅ , 1o } |
| 79 |
78 75
|
eleqtrri |
⊢ 1o ∈ 2o |
| 80 |
79
|
a1i |
⊢ ( ⊤ → 1o ∈ 2o ) |
| 81 |
|
eqid |
⊢ ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) = ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) |
| 82 |
81
|
par2hom |
⊢ ( ( ∅ ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) ∅ ) = { 2o } ∧ ( 1o ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 1o ) = { 2o } ∧ ( ( ∅ ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 1o ) = 2o ∧ ( 1o ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) ∅ ) = ∅ ) ) |
| 83 |
82
|
simp3i |
⊢ ( ( ∅ ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 1o ) = 2o ∧ ( 1o ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) ∅ ) = ∅ ) |
| 84 |
83
|
simpli |
⊢ ( ∅ ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 1o ) = 2o |
| 85 |
76 84
|
eleqtrri |
⊢ ∅ ∈ ( ∅ ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 1o ) |
| 86 |
85
|
a1i |
⊢ ( ⊤ → ∅ ∈ ( ∅ ( 𝑚 ∈ 2o , 𝑛 ∈ 2o ↦ if ( 𝑚 = 𝑛 , { 2o } , if ( ( 𝑚 = ∅ ∧ 𝑛 = 1o ) , 2o , ∅ ) ) ) 1o ) ) |
| 87 |
6 77 80 86
|
fvmpomptd |
⊢ ( ⊤ → ( ( ∅ 𝑀 1o ) ‘ ∅ ) = ( 𝐴 ‘ ∅ ) ) |
| 88 |
87
|
mptru |
⊢ ( ( ∅ 𝑀 1o ) ‘ ∅ ) = ( 𝐴 ‘ ∅ ) |
| 89 |
5
|
parswapprop |
⊢ ( ( 𝐴 ‘ 2o ) = 2o ∧ ∀ 𝑡 ∈ 2o ( 𝐴 ‘ 𝑡 ) ∈ 2o ∧ ( 𝐴 ‘ ∅ ) = 1o ) |
| 90 |
89
|
simp3i |
⊢ ( 𝐴 ‘ ∅ ) = 1o |
| 91 |
72 88 90
|
3eqtri |
⊢ ( ( ( 𝐹 ( 2nd ‘ 𝐾 ) 𝐺 ) ‘ 𝑁 ) ‘ ∅ ) = 1o |
| 92 |
58 91
|
eqtri |
⊢ ( ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ ( 𝐾 ∘func 𝐿 ) ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) ‘ ∅ ) = 1o |
| 93 |
34 92
|
pm3.2i |
⊢ ( ( ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ 𝐿 ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) ‘ ∅ ) = ∅ ∧ ( ( 𝑁 ( 〈 𝐹 , ( idfunc ‘ 𝐶 ) 〉 ( 2nd ‘ ( 𝐾 ∘func 𝐿 ) ) 〈 𝐺 , ( idfunc ‘ 𝐶 ) 〉 ) ( ( Id ‘ ( 𝐶 FuncCat 𝐶 ) ) ‘ ( idfunc ‘ 𝐶 ) ) ) ‘ ∅ ) = 1o ) |