| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | euendfunc.0 | . . 3
⊢ (𝜑 → 𝐵 ≠ ∅) | 
| 2 |  | n0 4352 | . . 3
⊢ (𝐵 ≠ ∅ ↔
∃𝑥 𝑥 ∈ 𝐵) | 
| 3 | 1, 2 | sylib 218 | . 2
⊢ (𝜑 → ∃𝑥 𝑥 ∈ 𝐵) | 
| 4 |  | eqid 2736 | . . 3
⊢
(idfunc‘𝐶) = (idfunc‘𝐶) | 
| 5 |  | eqid 2736 | . . 3
⊢ (𝐶Δfunc𝐶) = (𝐶Δfunc𝐶) | 
| 6 |  | euendfunc.f | . . . . . 6
⊢ (𝜑 → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐶)) | 
| 7 | 6 | adantr 480 | . . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃!𝑓 𝑓 ∈ (𝐶 Func 𝐶)) | 
| 8 |  | euex 2576 | . . . . 5
⊢
(∃!𝑓 𝑓 ∈ (𝐶 Func 𝐶) → ∃𝑓 𝑓 ∈ (𝐶 Func 𝐶)) | 
| 9 | 7, 8 | syl 17 | . . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃𝑓 𝑓 ∈ (𝐶 Func 𝐶)) | 
| 10 |  | funcrcl 17909 | . . . . . 6
⊢ (𝑓 ∈ (𝐶 Func 𝐶) → (𝐶 ∈ Cat ∧ 𝐶 ∈ Cat)) | 
| 11 | 10 | simpld 494 | . . . . 5
⊢ (𝑓 ∈ (𝐶 Func 𝐶) → 𝐶 ∈ Cat) | 
| 12 | 11 | exlimiv 1929 | . . . 4
⊢
(∃𝑓 𝑓 ∈ (𝐶 Func 𝐶) → 𝐶 ∈ Cat) | 
| 13 | 9, 12 | syl 17 | . . 3
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → 𝐶 ∈ Cat) | 
| 14 |  | euendfunc.b | . . 3
⊢ 𝐵 = (Base‘𝐶) | 
| 15 |  | simpr 484 | . . 3
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → 𝑥 ∈ 𝐵) | 
| 16 |  | eqid 2736 | . . 3
⊢
((1st ‘(𝐶Δfunc𝐶))‘𝑥) = ((1st ‘(𝐶Δfunc𝐶))‘𝑥) | 
| 17 | 4 | idfucl 17927 | . . . . 5
⊢ (𝐶 ∈ Cat →
(idfunc‘𝐶) ∈ (𝐶 Func 𝐶)) | 
| 18 | 13, 17 | syl 17 | . . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) →
(idfunc‘𝐶) ∈ (𝐶 Func 𝐶)) | 
| 19 | 5, 13, 13, 14, 15, 16 | diag1cl 18288 | . . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ (𝐶 Func 𝐶)) | 
| 20 |  | eumo 2577 | . . . . . . 7
⊢
(∃!𝑓 𝑓 ∈ (𝐶 Func 𝐶) → ∃*𝑓 𝑓 ∈ (𝐶 Func 𝐶)) | 
| 21 | 7, 20 | syl 17 | . . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃*𝑓 𝑓 ∈ (𝐶 Func 𝐶)) | 
| 22 |  | eleq1w 2823 | . . . . . . 7
⊢ (𝑓 = 𝑔 → (𝑓 ∈ (𝐶 Func 𝐶) ↔ 𝑔 ∈ (𝐶 Func 𝐶))) | 
| 23 | 22 | mo4 2565 | . . . . . 6
⊢
(∃*𝑓 𝑓 ∈ (𝐶 Func 𝐶) ↔ ∀𝑓∀𝑔((𝑓 ∈ (𝐶 Func 𝐶) ∧ 𝑔 ∈ (𝐶 Func 𝐶)) → 𝑓 = 𝑔)) | 
| 24 | 21, 23 | sylib 218 | . . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∀𝑓∀𝑔((𝑓 ∈ (𝐶 Func 𝐶) ∧ 𝑔 ∈ (𝐶 Func 𝐶)) → 𝑓 = 𝑔)) | 
| 25 |  | fvex 6918 | . . . . . 6
⊢
(idfunc‘𝐶) ∈ V | 
| 26 |  | fvex 6918 | . . . . . 6
⊢
((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ V | 
| 27 |  | simpl 482 | . . . . . . . . . 10
⊢ ((𝑓 =
(idfunc‘𝐶) ∧ 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) → 𝑓 = (idfunc‘𝐶)) | 
| 28 | 27 | eleq1d 2825 | . . . . . . . . 9
⊢ ((𝑓 =
(idfunc‘𝐶) ∧ 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) → (𝑓 ∈ (𝐶 Func 𝐶) ↔
(idfunc‘𝐶) ∈ (𝐶 Func 𝐶))) | 
| 29 |  | simpr 484 | . . . . . . . . . 10
⊢ ((𝑓 =
(idfunc‘𝐶) ∧ 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) → 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) | 
| 30 | 29 | eleq1d 2825 | . . . . . . . . 9
⊢ ((𝑓 =
(idfunc‘𝐶) ∧ 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) → (𝑔 ∈ (𝐶 Func 𝐶) ↔ ((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ (𝐶 Func 𝐶))) | 
| 31 | 28, 30 | anbi12d 632 | . . . . . . . 8
⊢ ((𝑓 =
(idfunc‘𝐶) ∧ 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) → ((𝑓 ∈ (𝐶 Func 𝐶) ∧ 𝑔 ∈ (𝐶 Func 𝐶)) ↔
((idfunc‘𝐶) ∈ (𝐶 Func 𝐶) ∧ ((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ (𝐶 Func 𝐶)))) | 
| 32 |  | eqeq12 2753 | . . . . . . . 8
⊢ ((𝑓 =
(idfunc‘𝐶) ∧ 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) → (𝑓 = 𝑔 ↔ (idfunc‘𝐶) = ((1st
‘(𝐶Δfunc𝐶))‘𝑥))) | 
| 33 | 31, 32 | imbi12d 344 | . . . . . . 7
⊢ ((𝑓 =
(idfunc‘𝐶) ∧ 𝑔 = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) → (((𝑓 ∈ (𝐶 Func 𝐶) ∧ 𝑔 ∈ (𝐶 Func 𝐶)) → 𝑓 = 𝑔) ↔
(((idfunc‘𝐶) ∈ (𝐶 Func 𝐶) ∧ ((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ (𝐶 Func 𝐶)) →
(idfunc‘𝐶) = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)))) | 
| 34 | 33 | spc2gv 3599 | . . . . . 6
⊢
(((idfunc‘𝐶) ∈ V ∧ ((1st
‘(𝐶Δfunc𝐶))‘𝑥) ∈ V) → (∀𝑓∀𝑔((𝑓 ∈ (𝐶 Func 𝐶) ∧ 𝑔 ∈ (𝐶 Func 𝐶)) → 𝑓 = 𝑔) →
(((idfunc‘𝐶) ∈ (𝐶 Func 𝐶) ∧ ((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ (𝐶 Func 𝐶)) →
(idfunc‘𝐶) = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)))) | 
| 35 | 25, 26, 34 | mp2an 692 | . . . . 5
⊢
(∀𝑓∀𝑔((𝑓 ∈ (𝐶 Func 𝐶) ∧ 𝑔 ∈ (𝐶 Func 𝐶)) → 𝑓 = 𝑔) →
(((idfunc‘𝐶) ∈ (𝐶 Func 𝐶) ∧ ((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ (𝐶 Func 𝐶)) →
(idfunc‘𝐶) = ((1st ‘(𝐶Δfunc𝐶))‘𝑥))) | 
| 36 | 24, 35 | syl 17 | . . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) →
(((idfunc‘𝐶) ∈ (𝐶 Func 𝐶) ∧ ((1st ‘(𝐶Δfunc𝐶))‘𝑥) ∈ (𝐶 Func 𝐶)) →
(idfunc‘𝐶) = ((1st ‘(𝐶Δfunc𝐶))‘𝑥))) | 
| 37 | 18, 19, 36 | mp2and 699 | . . 3
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) →
(idfunc‘𝐶) = ((1st ‘(𝐶Δfunc𝐶))‘𝑥)) | 
| 38 | 4, 5, 13, 14, 15, 16, 37 | idfudiag1 49183 | . 2
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → 𝐶 ∈ TermCat) | 
| 39 | 3, 38 | exlimddv 1934 | 1
⊢ (𝜑 → 𝐶 ∈ TermCat) |