| Step | Hyp | Ref
| Expression |
| 1 | | id 22 |
. . . 4
⊢ (𝐶 ∈ TermCat → 𝐶 ∈
TermCat) |
| 2 | | eqid 2736 |
. . . 4
⊢
(Base‘𝐶) =
(Base‘𝐶) |
| 3 | 1, 2 | termcbas 49333 |
. . 3
⊢ (𝐶 ∈ TermCat →
∃𝑥(Base‘𝐶) = {𝑥}) |
| 4 | | eqid 2736 |
. . . . 5
⊢
(Homa‘𝐶) = (Homa‘𝐶) |
| 5 | 1 | adantr 480 |
. . . . . 6
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → 𝐶 ∈ TermCat) |
| 6 | 5 | termccd 49332 |
. . . . 5
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → 𝐶 ∈ Cat) |
| 7 | | eqid 2736 |
. . . . 5
⊢ (Hom
‘𝐶) = (Hom
‘𝐶) |
| 8 | | vsnid 4644 |
. . . . . 6
⊢ 𝑥 ∈ {𝑥} |
| 9 | | simpr 484 |
. . . . . 6
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → (Base‘𝐶) = {𝑥}) |
| 10 | 8, 9 | eleqtrrid 2842 |
. . . . 5
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → 𝑥 ∈ (Base‘𝐶)) |
| 11 | | eqid 2736 |
. . . . . 6
⊢
(Id‘𝐶) =
(Id‘𝐶) |
| 12 | 2, 7, 11, 6, 10 | catidcl 17699 |
. . . . 5
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥)) |
| 13 | 4, 2, 6, 7, 10, 10, 12 | elhomai2 18052 |
. . . 4
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉 ∈ (𝑥(Homa‘𝐶)𝑥)) |
| 14 | | eqid 2736 |
. . . . . . . . 9
⊢
(Arrow‘𝐶) =
(Arrow‘𝐶) |
| 15 | 14 | arwdmcd 18070 |
. . . . . . . 8
⊢ (𝑎 ∈ (Arrow‘𝐶) → 𝑎 = 〈(doma‘𝑎),
(coda‘𝑎), (2nd ‘𝑎)〉) |
| 16 | 15 | adantl 481 |
. . . . . . 7
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = 〈(doma‘𝑎),
(coda‘𝑎), (2nd ‘𝑎)〉) |
| 17 | 5 | adantr 480 |
. . . . . . . . 9
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝐶 ∈ TermCat) |
| 18 | 14, 2 | arwdm 18065 |
. . . . . . . . . 10
⊢ (𝑎 ∈ (Arrow‘𝐶) →
(doma‘𝑎) ∈ (Base‘𝐶)) |
| 19 | 18 | adantl 481 |
. . . . . . . . 9
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) →
(doma‘𝑎) ∈ (Base‘𝐶)) |
| 20 | 10 | adantr 480 |
. . . . . . . . 9
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑥 ∈ (Base‘𝐶)) |
| 21 | 17, 2, 19, 20 | termcbasmo 49335 |
. . . . . . . 8
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) →
(doma‘𝑎) = 𝑥) |
| 22 | 14, 2 | arwcd 18066 |
. . . . . . . . . 10
⊢ (𝑎 ∈ (Arrow‘𝐶) →
(coda‘𝑎) ∈ (Base‘𝐶)) |
| 23 | 22 | adantl 481 |
. . . . . . . . 9
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) →
(coda‘𝑎) ∈ (Base‘𝐶)) |
| 24 | 17, 2, 23, 20 | termcbasmo 49335 |
. . . . . . . 8
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) →
(coda‘𝑎) = 𝑥) |
| 25 | 14, 7 | arwhom 18069 |
. . . . . . . . . 10
⊢ (𝑎 ∈ (Arrow‘𝐶) → (2nd
‘𝑎) ∈
((doma‘𝑎)(Hom ‘𝐶)(coda‘𝑎))) |
| 26 | 25 | adantl 481 |
. . . . . . . . 9
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd ‘𝑎) ∈
((doma‘𝑎)(Hom ‘𝐶)(coda‘𝑎))) |
| 27 | 12 | adantr 480 |
. . . . . . . . 9
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥)) |
| 28 | 17, 2, 19, 23, 7, 26, 20, 20, 27 | termchommo 49337 |
. . . . . . . 8
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd ‘𝑎) = ((Id‘𝐶)‘𝑥)) |
| 29 | 21, 24, 28 | oteq123d 4869 |
. . . . . . 7
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) →
〈(doma‘𝑎), (coda‘𝑎), (2nd ‘𝑎)〉 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉) |
| 30 | 16, 29 | eqtrd 2771 |
. . . . . 6
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉) |
| 31 | | simpr 484 |
. . . . . . 7
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉) → 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉) |
| 32 | 14, 4 | homarw 18064 |
. . . . . . . . 9
⊢ (𝑥(Homa‘𝐶)𝑥) ⊆ (Arrow‘𝐶) |
| 33 | 32, 13 | sselid 3961 |
. . . . . . . 8
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉 ∈ (Arrow‘𝐶)) |
| 34 | 33 | adantr 480 |
. . . . . . 7
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉) → 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉 ∈ (Arrow‘𝐶)) |
| 35 | 31, 34 | eqeltrd 2835 |
. . . . . 6
⊢ (((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) ∧ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉) → 𝑎 ∈ (Arrow‘𝐶)) |
| 36 | 30, 35 | impbida 800 |
. . . . 5
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉)) |
| 37 | 36 | alrimiv 1927 |
. . . 4
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉)) |
| 38 | | eqeq2 2748 |
. . . . . 6
⊢ (𝑏 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉 → (𝑎 = 𝑏 ↔ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉)) |
| 39 | 38 | bibi2d 342 |
. . . . 5
⊢ (𝑏 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉 → ((𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉))) |
| 40 | 39 | albidv 1920 |
. . . 4
⊢ (𝑏 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉 → (∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 〈𝑥, 𝑥, ((Id‘𝐶)‘𝑥)〉))) |
| 41 | 13, 37, 40 | spcedv 3582 |
. . 3
⊢ ((𝐶 ∈ TermCat ∧
(Base‘𝐶) = {𝑥}) → ∃𝑏∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏)) |
| 42 | 3, 41 | exlimddv 1935 |
. 2
⊢ (𝐶 ∈ TermCat →
∃𝑏∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏)) |
| 43 | | eu6im 2575 |
. 2
⊢
(∃𝑏∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶)) |
| 44 | 42, 43 | syl 17 |
1
⊢ (𝐶 ∈ TermCat →
∃!𝑎 𝑎 ∈ (Arrow‘𝐶)) |