Proof of Theorem foimacnv
| Step | Hyp | Ref
 | Expression | 
| 1 |   | resima 4979 | 
. 2
⊢ ((𝐹 ↾ (◡𝐹 “ 𝐶)) “ (◡𝐹 “ 𝐶)) = (𝐹 “ (◡𝐹 “ 𝐶)) | 
| 2 |   | fofun 5481 | 
. . . . . 6
⊢ (𝐹:𝐴–onto→𝐵 → Fun 𝐹) | 
| 3 | 2 | adantr 276 | 
. . . . 5
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → Fun 𝐹) | 
| 4 |   | funcnvres2 5333 | 
. . . . 5
⊢ (Fun
𝐹 → ◡(◡𝐹 ↾ 𝐶) = (𝐹 ↾ (◡𝐹 “ 𝐶))) | 
| 5 | 3, 4 | syl 14 | 
. . . 4
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → ◡(◡𝐹 ↾ 𝐶) = (𝐹 ↾ (◡𝐹 “ 𝐶))) | 
| 6 | 5 | imaeq1d 5008 | 
. . 3
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → (◡(◡𝐹 ↾ 𝐶) “ (◡𝐹 “ 𝐶)) = ((𝐹 ↾ (◡𝐹 “ 𝐶)) “ (◡𝐹 “ 𝐶))) | 
| 7 |   | resss 4970 | 
. . . . . . . . . . 11
⊢ (◡𝐹 ↾ 𝐶) ⊆ ◡𝐹 | 
| 8 |   | cnvss 4839 | 
. . . . . . . . . . 11
⊢ ((◡𝐹 ↾ 𝐶) ⊆ ◡𝐹 → ◡(◡𝐹 ↾ 𝐶) ⊆ ◡◡𝐹) | 
| 9 | 7, 8 | ax-mp 5 | 
. . . . . . . . . 10
⊢ ◡(◡𝐹 ↾ 𝐶) ⊆ ◡◡𝐹 | 
| 10 |   | cnvcnvss 5124 | 
. . . . . . . . . 10
⊢ ◡◡𝐹 ⊆ 𝐹 | 
| 11 | 9, 10 | sstri 3192 | 
. . . . . . . . 9
⊢ ◡(◡𝐹 ↾ 𝐶) ⊆ 𝐹 | 
| 12 |   | funss 5277 | 
. . . . . . . . 9
⊢ (◡(◡𝐹 ↾ 𝐶) ⊆ 𝐹 → (Fun 𝐹 → Fun ◡(◡𝐹 ↾ 𝐶))) | 
| 13 | 11, 2, 12 | mpsyl 65 | 
. . . . . . . 8
⊢ (𝐹:𝐴–onto→𝐵 → Fun ◡(◡𝐹 ↾ 𝐶)) | 
| 14 | 13 | adantr 276 | 
. . . . . . 7
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → Fun ◡(◡𝐹 ↾ 𝐶)) | 
| 15 |   | df-ima 4676 | 
. . . . . . . 8
⊢ (◡𝐹 “ 𝐶) = ran (◡𝐹 ↾ 𝐶) | 
| 16 |   | df-rn 4674 | 
. . . . . . . 8
⊢ ran
(◡𝐹 ↾ 𝐶) = dom ◡(◡𝐹 ↾ 𝐶) | 
| 17 | 15, 16 | eqtr2i 2218 | 
. . . . . . 7
⊢ dom ◡(◡𝐹 ↾ 𝐶) = (◡𝐹 “ 𝐶) | 
| 18 | 14, 17 | jctir 313 | 
. . . . . 6
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → (Fun ◡(◡𝐹 ↾ 𝐶) ∧ dom ◡(◡𝐹 ↾ 𝐶) = (◡𝐹 “ 𝐶))) | 
| 19 |   | df-fn 5261 | 
. . . . . 6
⊢ (◡(◡𝐹 ↾ 𝐶) Fn (◡𝐹 “ 𝐶) ↔ (Fun ◡(◡𝐹 ↾ 𝐶) ∧ dom ◡(◡𝐹 ↾ 𝐶) = (◡𝐹 “ 𝐶))) | 
| 20 | 18, 19 | sylibr 134 | 
. . . . 5
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → ◡(◡𝐹 ↾ 𝐶) Fn (◡𝐹 “ 𝐶)) | 
| 21 |   | dfdm4 4858 | 
. . . . . 6
⊢ dom
(◡𝐹 ↾ 𝐶) = ran ◡(◡𝐹 ↾ 𝐶) | 
| 22 |   | forn 5483 | 
. . . . . . . . . 10
⊢ (𝐹:𝐴–onto→𝐵 → ran 𝐹 = 𝐵) | 
| 23 | 22 | sseq2d 3213 | 
. . . . . . . . 9
⊢ (𝐹:𝐴–onto→𝐵 → (𝐶 ⊆ ran 𝐹 ↔ 𝐶 ⊆ 𝐵)) | 
| 24 | 23 | biimpar 297 | 
. . . . . . . 8
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → 𝐶 ⊆ ran 𝐹) | 
| 25 |   | df-rn 4674 | 
. . . . . . . 8
⊢ ran 𝐹 = dom ◡𝐹 | 
| 26 | 24, 25 | sseqtrdi 3231 | 
. . . . . . 7
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → 𝐶 ⊆ dom ◡𝐹) | 
| 27 |   | ssdmres 4968 | 
. . . . . . 7
⊢ (𝐶 ⊆ dom ◡𝐹 ↔ dom (◡𝐹 ↾ 𝐶) = 𝐶) | 
| 28 | 26, 27 | sylib 122 | 
. . . . . 6
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → dom (◡𝐹 ↾ 𝐶) = 𝐶) | 
| 29 | 21, 28 | eqtr3id 2243 | 
. . . . 5
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → ran ◡(◡𝐹 ↾ 𝐶) = 𝐶) | 
| 30 |   | df-fo 5264 | 
. . . . 5
⊢ (◡(◡𝐹 ↾ 𝐶):(◡𝐹 “ 𝐶)–onto→𝐶 ↔ (◡(◡𝐹 ↾ 𝐶) Fn (◡𝐹 “ 𝐶) ∧ ran ◡(◡𝐹 ↾ 𝐶) = 𝐶)) | 
| 31 | 20, 29, 30 | sylanbrc 417 | 
. . . 4
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → ◡(◡𝐹 ↾ 𝐶):(◡𝐹 “ 𝐶)–onto→𝐶) | 
| 32 |   | foima 5485 | 
. . . 4
⊢ (◡(◡𝐹 ↾ 𝐶):(◡𝐹 “ 𝐶)–onto→𝐶 → (◡(◡𝐹 ↾ 𝐶) “ (◡𝐹 “ 𝐶)) = 𝐶) | 
| 33 | 31, 32 | syl 14 | 
. . 3
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → (◡(◡𝐹 ↾ 𝐶) “ (◡𝐹 “ 𝐶)) = 𝐶) | 
| 34 | 6, 33 | eqtr3d 2231 | 
. 2
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → ((𝐹 ↾ (◡𝐹 “ 𝐶)) “ (◡𝐹 “ 𝐶)) = 𝐶) | 
| 35 | 1, 34 | eqtr3id 2243 | 
1
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐶 ⊆ 𝐵) → (𝐹 “ (◡𝐹 “ 𝐶)) = 𝐶) |