Proof of Theorem setcinv
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | eqid 2736 | . . 3
⊢
(Base‘𝐶) =
(Base‘𝐶) | 
| 2 |  | setcinv.n | . . 3
⊢ 𝑁 = (Inv‘𝐶) | 
| 3 |  | setcmon.u | . . . 4
⊢ (𝜑 → 𝑈 ∈ 𝑉) | 
| 4 |  | setcmon.c | . . . . 5
⊢ 𝐶 = (SetCat‘𝑈) | 
| 5 | 4 | setccat 18131 | . . . 4
⊢ (𝑈 ∈ 𝑉 → 𝐶 ∈ Cat) | 
| 6 | 3, 5 | syl 17 | . . 3
⊢ (𝜑 → 𝐶 ∈ Cat) | 
| 7 |  | setcmon.x | . . . 4
⊢ (𝜑 → 𝑋 ∈ 𝑈) | 
| 8 | 4, 3 | setcbas 18124 | . . . 4
⊢ (𝜑 → 𝑈 = (Base‘𝐶)) | 
| 9 | 7, 8 | eleqtrd 2842 | . . 3
⊢ (𝜑 → 𝑋 ∈ (Base‘𝐶)) | 
| 10 |  | setcmon.y | . . . 4
⊢ (𝜑 → 𝑌 ∈ 𝑈) | 
| 11 | 10, 8 | eleqtrd 2842 | . . 3
⊢ (𝜑 → 𝑌 ∈ (Base‘𝐶)) | 
| 12 |  | eqid 2736 | . . 3
⊢
(Sect‘𝐶) =
(Sect‘𝐶) | 
| 13 | 1, 2, 6, 9, 11, 12 | isinv 17805 | . 2
⊢ (𝜑 → (𝐹(𝑋𝑁𝑌)𝐺 ↔ (𝐹(𝑋(Sect‘𝐶)𝑌)𝐺 ∧ 𝐺(𝑌(Sect‘𝐶)𝑋)𝐹))) | 
| 14 | 4, 3, 7, 10, 12 | setcsect 18135 | . . . . 5
⊢ (𝜑 → (𝐹(𝑋(Sect‘𝐶)𝑌)𝐺 ↔ (𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋 ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋)))) | 
| 15 |  | df-3an 1088 | . . . . 5
⊢ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋 ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋)) ↔ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋))) | 
| 16 | 14, 15 | bitrdi 287 | . . . 4
⊢ (𝜑 → (𝐹(𝑋(Sect‘𝐶)𝑌)𝐺 ↔ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋)))) | 
| 17 | 4, 3, 10, 7, 12 | setcsect 18135 | . . . . 5
⊢ (𝜑 → (𝐺(𝑌(Sect‘𝐶)𝑋)𝐹 ↔ (𝐺:𝑌⟶𝑋 ∧ 𝐹:𝑋⟶𝑌 ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)))) | 
| 18 |  | 3ancoma 1097 | . . . . . 6
⊢ ((𝐺:𝑌⟶𝑋 ∧ 𝐹:𝑋⟶𝑌 ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)) ↔ (𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋 ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))) | 
| 19 |  | df-3an 1088 | . . . . . 6
⊢ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋 ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)) ↔ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))) | 
| 20 | 18, 19 | bitri 275 | . . . . 5
⊢ ((𝐺:𝑌⟶𝑋 ∧ 𝐹:𝑋⟶𝑌 ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)) ↔ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))) | 
| 21 | 17, 20 | bitrdi 287 | . . . 4
⊢ (𝜑 → (𝐺(𝑌(Sect‘𝐶)𝑋)𝐹 ↔ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)))) | 
| 22 | 16, 21 | anbi12d 632 | . . 3
⊢ (𝜑 → ((𝐹(𝑋(Sect‘𝐶)𝑌)𝐺 ∧ 𝐺(𝑌(Sect‘𝐶)𝑋)𝐹) ↔ (((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋)) ∧ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))))) | 
| 23 |  | anandi 676 | . . 3
⊢ (((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐺 ∘ 𝐹) = ( I ↾ 𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))) ↔ (((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋)) ∧ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)))) | 
| 24 | 22, 23 | bitr4di 289 | . 2
⊢ (𝜑 → ((𝐹(𝑋(Sect‘𝐶)𝑌)𝐺 ∧ 𝐺(𝑌(Sect‘𝐶)𝑋)𝐹) ↔ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐺 ∘ 𝐹) = ( I ↾ 𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))))) | 
| 25 |  | fcof1o 7317 | . . . . . 6
⊢ (((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐹 ∘ 𝐺) = ( I ↾ 𝑌) ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋))) → (𝐹:𝑋–1-1-onto→𝑌 ∧ ◡𝐹 = 𝐺)) | 
| 26 |  | eqcom 2743 | . . . . . . 7
⊢ (◡𝐹 = 𝐺 ↔ 𝐺 = ◡𝐹) | 
| 27 | 26 | anbi2i 623 | . . . . . 6
⊢ ((𝐹:𝑋–1-1-onto→𝑌 ∧ ◡𝐹 = 𝐺) ↔ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) | 
| 28 | 25, 27 | sylib 218 | . . . . 5
⊢ (((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐹 ∘ 𝐺) = ( I ↾ 𝑌) ∧ (𝐺 ∘ 𝐹) = ( I ↾ 𝑋))) → (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) | 
| 29 | 28 | ancom2s 650 | . . . 4
⊢ (((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐺 ∘ 𝐹) = ( I ↾ 𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))) → (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) | 
| 30 | 29 | adantl 481 | . . 3
⊢ ((𝜑 ∧ ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐺 ∘ 𝐹) = ( I ↾ 𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)))) → (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) | 
| 31 |  | f1of 6847 | . . . . 5
⊢ (𝐹:𝑋–1-1-onto→𝑌 → 𝐹:𝑋⟶𝑌) | 
| 32 | 31 | ad2antrl 728 | . . . 4
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → 𝐹:𝑋⟶𝑌) | 
| 33 |  | f1ocnv 6859 | . . . . . . 7
⊢ (𝐹:𝑋–1-1-onto→𝑌 → ◡𝐹:𝑌–1-1-onto→𝑋) | 
| 34 | 33 | ad2antrl 728 | . . . . . 6
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → ◡𝐹:𝑌–1-1-onto→𝑋) | 
| 35 |  | f1oeq1 6835 | . . . . . . 7
⊢ (𝐺 = ◡𝐹 → (𝐺:𝑌–1-1-onto→𝑋 ↔ ◡𝐹:𝑌–1-1-onto→𝑋)) | 
| 36 | 35 | ad2antll 729 | . . . . . 6
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → (𝐺:𝑌–1-1-onto→𝑋 ↔ ◡𝐹:𝑌–1-1-onto→𝑋)) | 
| 37 | 34, 36 | mpbird 257 | . . . . 5
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → 𝐺:𝑌–1-1-onto→𝑋) | 
| 38 |  | f1of 6847 | . . . . 5
⊢ (𝐺:𝑌–1-1-onto→𝑋 → 𝐺:𝑌⟶𝑋) | 
| 39 | 37, 38 | syl 17 | . . . 4
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → 𝐺:𝑌⟶𝑋) | 
| 40 |  | simprr 772 | . . . . . . 7
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → 𝐺 = ◡𝐹) | 
| 41 | 40 | coeq1d 5871 | . . . . . 6
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → (𝐺 ∘ 𝐹) = (◡𝐹 ∘ 𝐹)) | 
| 42 |  | f1ococnv1 6876 | . . . . . . 7
⊢ (𝐹:𝑋–1-1-onto→𝑌 → (◡𝐹 ∘ 𝐹) = ( I ↾ 𝑋)) | 
| 43 | 42 | ad2antrl 728 | . . . . . 6
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → (◡𝐹 ∘ 𝐹) = ( I ↾ 𝑋)) | 
| 44 | 41, 43 | eqtrd 2776 | . . . . 5
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → (𝐺 ∘ 𝐹) = ( I ↾ 𝑋)) | 
| 45 | 40 | coeq2d 5872 | . . . . . 6
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → (𝐹 ∘ 𝐺) = (𝐹 ∘ ◡𝐹)) | 
| 46 |  | f1ococnv2 6874 | . . . . . . 7
⊢ (𝐹:𝑋–1-1-onto→𝑌 → (𝐹 ∘ ◡𝐹) = ( I ↾ 𝑌)) | 
| 47 | 46 | ad2antrl 728 | . . . . . 6
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → (𝐹 ∘ ◡𝐹) = ( I ↾ 𝑌)) | 
| 48 | 45, 47 | eqtrd 2776 | . . . . 5
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)) | 
| 49 | 44, 48 | jca 511 | . . . 4
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → ((𝐺 ∘ 𝐹) = ( I ↾ 𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))) | 
| 50 | 32, 39, 49 | jca31 514 | . . 3
⊢ ((𝜑 ∧ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹)) → ((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐺 ∘ 𝐹) = ( I ↾ 𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌)))) | 
| 51 | 30, 50 | impbida 800 | . 2
⊢ (𝜑 → (((𝐹:𝑋⟶𝑌 ∧ 𝐺:𝑌⟶𝑋) ∧ ((𝐺 ∘ 𝐹) = ( I ↾ 𝑋) ∧ (𝐹 ∘ 𝐺) = ( I ↾ 𝑌))) ↔ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹))) | 
| 52 | 13, 24, 51 | 3bitrd 305 | 1
⊢ (𝜑 → (𝐹(𝑋𝑁𝑌)𝐺 ↔ (𝐹:𝑋–1-1-onto→𝑌 ∧ 𝐺 = ◡𝐹))) |