| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | simp3 1139 | . . 3
⊢ ((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) → 𝐴 ∈ Fin) | 
| 2 |  | dfss3 3972 | . . . . . 6
⊢ (𝐴 ⊆ ran 𝐹 ↔ ∀𝑥 ∈ 𝐴 𝑥 ∈ ran 𝐹) | 
| 3 |  | fvelrnb 6969 | . . . . . . 7
⊢ (𝐹 Fn 𝐵 → (𝑥 ∈ ran 𝐹 ↔ ∃𝑦 ∈ 𝐵 (𝐹‘𝑦) = 𝑥)) | 
| 4 | 3 | ralbidv 3178 | . . . . . 6
⊢ (𝐹 Fn 𝐵 → (∀𝑥 ∈ 𝐴 𝑥 ∈ ran 𝐹 ↔ ∀𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝐹‘𝑦) = 𝑥)) | 
| 5 | 2, 4 | bitrid 283 | . . . . 5
⊢ (𝐹 Fn 𝐵 → (𝐴 ⊆ ran 𝐹 ↔ ∀𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝐹‘𝑦) = 𝑥)) | 
| 6 | 5 | biimpa 476 | . . . 4
⊢ ((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹) → ∀𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝐹‘𝑦) = 𝑥) | 
| 7 | 6 | 3adant3 1133 | . . 3
⊢ ((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) → ∀𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝐹‘𝑦) = 𝑥) | 
| 8 |  | fveqeq2 6915 | . . . 4
⊢ (𝑦 = (𝑓‘𝑥) → ((𝐹‘𝑦) = 𝑥 ↔ (𝐹‘(𝑓‘𝑥)) = 𝑥)) | 
| 9 | 8 | ac6sfi 9320 | . . 3
⊢ ((𝐴 ∈ Fin ∧ ∀𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 (𝐹‘𝑦) = 𝑥) → ∃𝑓(𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) | 
| 10 | 1, 7, 9 | syl2anc 584 | . 2
⊢ ((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) → ∃𝑓(𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) | 
| 11 |  | fimass 6756 | . . . . . 6
⊢ (𝑓:𝐴⟶𝐵 → (𝑓 “ 𝐴) ⊆ 𝐵) | 
| 12 |  | vex 3484 | . . . . . . . 8
⊢ 𝑓 ∈ V | 
| 13 | 12 | imaex 7936 | . . . . . . 7
⊢ (𝑓 “ 𝐴) ∈ V | 
| 14 | 13 | elpw 4604 | . . . . . 6
⊢ ((𝑓 “ 𝐴) ∈ 𝒫 𝐵 ↔ (𝑓 “ 𝐴) ⊆ 𝐵) | 
| 15 | 11, 14 | sylibr 234 | . . . . 5
⊢ (𝑓:𝐴⟶𝐵 → (𝑓 “ 𝐴) ∈ 𝒫 𝐵) | 
| 16 | 15 | ad2antrl 728 | . . . 4
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → (𝑓 “ 𝐴) ∈ 𝒫 𝐵) | 
| 17 |  | ffun 6739 | . . . . . 6
⊢ (𝑓:𝐴⟶𝐵 → Fun 𝑓) | 
| 18 | 17 | ad2antrl 728 | . . . . 5
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → Fun 𝑓) | 
| 19 |  | simpl3 1194 | . . . . 5
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → 𝐴 ∈ Fin) | 
| 20 |  | imafi 9353 | . . . . 5
⊢ ((Fun
𝑓 ∧ 𝐴 ∈ Fin) → (𝑓 “ 𝐴) ∈ Fin) | 
| 21 | 18, 19, 20 | syl2anc 584 | . . . 4
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → (𝑓 “ 𝐴) ∈ Fin) | 
| 22 | 16, 21 | elind 4200 | . . 3
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → (𝑓 “ 𝐴) ∈ (𝒫 𝐵 ∩ Fin)) | 
| 23 |  | fvco3 7008 | . . . . . . . . . . 11
⊢ ((𝑓:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) → ((𝐹 ∘ 𝑓)‘𝑥) = (𝐹‘(𝑓‘𝑥))) | 
| 24 |  | fvresi 7193 | . . . . . . . . . . . 12
⊢ (𝑥 ∈ 𝐴 → (( I ↾ 𝐴)‘𝑥) = 𝑥) | 
| 25 | 24 | adantl 481 | . . . . . . . . . . 11
⊢ ((𝑓:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) → (( I ↾ 𝐴)‘𝑥) = 𝑥) | 
| 26 | 23, 25 | eqeq12d 2753 | . . . . . . . . . 10
⊢ ((𝑓:𝐴⟶𝐵 ∧ 𝑥 ∈ 𝐴) → (((𝐹 ∘ 𝑓)‘𝑥) = (( I ↾ 𝐴)‘𝑥) ↔ (𝐹‘(𝑓‘𝑥)) = 𝑥)) | 
| 27 | 26 | ralbidva 3176 | . . . . . . . . 9
⊢ (𝑓:𝐴⟶𝐵 → (∀𝑥 ∈ 𝐴 ((𝐹 ∘ 𝑓)‘𝑥) = (( I ↾ 𝐴)‘𝑥) ↔ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) | 
| 28 | 27 | biimprd 248 | . . . . . . . 8
⊢ (𝑓:𝐴⟶𝐵 → (∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥 → ∀𝑥 ∈ 𝐴 ((𝐹 ∘ 𝑓)‘𝑥) = (( I ↾ 𝐴)‘𝑥))) | 
| 29 | 28 | adantl 481 | . . . . . . 7
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ 𝑓:𝐴⟶𝐵) → (∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥 → ∀𝑥 ∈ 𝐴 ((𝐹 ∘ 𝑓)‘𝑥) = (( I ↾ 𝐴)‘𝑥))) | 
| 30 | 29 | impr 454 | . . . . . 6
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → ∀𝑥 ∈ 𝐴 ((𝐹 ∘ 𝑓)‘𝑥) = (( I ↾ 𝐴)‘𝑥)) | 
| 31 |  | simpl1 1192 | . . . . . . . 8
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → 𝐹 Fn 𝐵) | 
| 32 |  | ffn 6736 | . . . . . . . . 9
⊢ (𝑓:𝐴⟶𝐵 → 𝑓 Fn 𝐴) | 
| 33 | 32 | ad2antrl 728 | . . . . . . . 8
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → 𝑓 Fn 𝐴) | 
| 34 |  | frn 6743 | . . . . . . . . 9
⊢ (𝑓:𝐴⟶𝐵 → ran 𝑓 ⊆ 𝐵) | 
| 35 | 34 | ad2antrl 728 | . . . . . . . 8
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → ran 𝑓 ⊆ 𝐵) | 
| 36 |  | fnco 6686 | . . . . . . . 8
⊢ ((𝐹 Fn 𝐵 ∧ 𝑓 Fn 𝐴 ∧ ran 𝑓 ⊆ 𝐵) → (𝐹 ∘ 𝑓) Fn 𝐴) | 
| 37 | 31, 33, 35, 36 | syl3anc 1373 | . . . . . . 7
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → (𝐹 ∘ 𝑓) Fn 𝐴) | 
| 38 |  | fnresi 6697 | . . . . . . 7
⊢ ( I
↾ 𝐴) Fn 𝐴 | 
| 39 |  | eqfnfv 7051 | . . . . . . 7
⊢ (((𝐹 ∘ 𝑓) Fn 𝐴 ∧ ( I ↾ 𝐴) Fn 𝐴) → ((𝐹 ∘ 𝑓) = ( I ↾ 𝐴) ↔ ∀𝑥 ∈ 𝐴 ((𝐹 ∘ 𝑓)‘𝑥) = (( I ↾ 𝐴)‘𝑥))) | 
| 40 | 37, 38, 39 | sylancl 586 | . . . . . 6
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → ((𝐹 ∘ 𝑓) = ( I ↾ 𝐴) ↔ ∀𝑥 ∈ 𝐴 ((𝐹 ∘ 𝑓)‘𝑥) = (( I ↾ 𝐴)‘𝑥))) | 
| 41 | 30, 40 | mpbird 257 | . . . . 5
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → (𝐹 ∘ 𝑓) = ( I ↾ 𝐴)) | 
| 42 | 41 | imaeq1d 6077 | . . . 4
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → ((𝐹 ∘ 𝑓) “ 𝐴) = (( I ↾ 𝐴) “ 𝐴)) | 
| 43 |  | imaco 6271 | . . . 4
⊢ ((𝐹 ∘ 𝑓) “ 𝐴) = (𝐹 “ (𝑓 “ 𝐴)) | 
| 44 |  | ssid 4006 | . . . . 5
⊢ 𝐴 ⊆ 𝐴 | 
| 45 |  | resiima 6094 | . . . . 5
⊢ (𝐴 ⊆ 𝐴 → (( I ↾ 𝐴) “ 𝐴) = 𝐴) | 
| 46 | 44, 45 | ax-mp 5 | . . . 4
⊢ (( I
↾ 𝐴) “ 𝐴) = 𝐴 | 
| 47 | 42, 43, 46 | 3eqtr3g 2800 | . . 3
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → (𝐹 “ (𝑓 “ 𝐴)) = 𝐴) | 
| 48 |  | imaeq2 6074 | . . . . 5
⊢ (𝑐 = (𝑓 “ 𝐴) → (𝐹 “ 𝑐) = (𝐹 “ (𝑓 “ 𝐴))) | 
| 49 | 48 | eqeq1d 2739 | . . . 4
⊢ (𝑐 = (𝑓 “ 𝐴) → ((𝐹 “ 𝑐) = 𝐴 ↔ (𝐹 “ (𝑓 “ 𝐴)) = 𝐴)) | 
| 50 | 49 | rspcev 3622 | . . 3
⊢ (((𝑓 “ 𝐴) ∈ (𝒫 𝐵 ∩ Fin) ∧ (𝐹 “ (𝑓 “ 𝐴)) = 𝐴) → ∃𝑐 ∈ (𝒫 𝐵 ∩ Fin)(𝐹 “ 𝑐) = 𝐴) | 
| 51 | 22, 47, 50 | syl2anc 584 | . 2
⊢ (((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) ∧ (𝑓:𝐴⟶𝐵 ∧ ∀𝑥 ∈ 𝐴 (𝐹‘(𝑓‘𝑥)) = 𝑥)) → ∃𝑐 ∈ (𝒫 𝐵 ∩ Fin)(𝐹 “ 𝑐) = 𝐴) | 
| 52 | 10, 51 | exlimddv 1935 | 1
⊢ ((𝐹 Fn 𝐵 ∧ 𝐴 ⊆ ran 𝐹 ∧ 𝐴 ∈ Fin) → ∃𝑐 ∈ (𝒫 𝐵 ∩ Fin)(𝐹 “ 𝑐) = 𝐴) |