| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | resixp 8974 | . . . 4
⊢ ((𝐵 ⊆ 𝐴 ∧ 𝑓 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑓 ↾ 𝐵) ∈ X𝑥 ∈ 𝐵 𝐶) | 
| 2 |  | resixpfo.1 | . . . 4
⊢ 𝐹 = (𝑓 ∈ X𝑥 ∈ 𝐴 𝐶 ↦ (𝑓 ↾ 𝐵)) | 
| 3 | 1, 2 | fmptd 7133 | . . 3
⊢ (𝐵 ⊆ 𝐴 → 𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶) | 
| 4 | 3 | adantr 480 | . 2
⊢ ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → 𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶) | 
| 5 |  | n0 4352 | . . . 4
⊢ (X𝑥 ∈
𝐴 𝐶 ≠ ∅ ↔ ∃𝑔 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) | 
| 6 |  | eleq1w 2823 | . . . . . . . . . . . 12
⊢ (𝑧 = 𝑥 → (𝑧 ∈ 𝐵 ↔ 𝑥 ∈ 𝐵)) | 
| 7 | 6 | ifbid 4548 | . . . . . . . . . . 11
⊢ (𝑧 = 𝑥 → if(𝑧 ∈ 𝐵, ℎ, 𝑔) = if(𝑥 ∈ 𝐵, ℎ, 𝑔)) | 
| 8 |  | id 22 | . . . . . . . . . . 11
⊢ (𝑧 = 𝑥 → 𝑧 = 𝑥) | 
| 9 | 7, 8 | fveq12d 6912 | . . . . . . . . . 10
⊢ (𝑧 = 𝑥 → (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) | 
| 10 | 9 | cbvmptv 5254 | . . . . . . . . 9
⊢ (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) = (𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) | 
| 11 |  | vex 3483 | . . . . . . . . . . . . . . . 16
⊢ ℎ ∈ V | 
| 12 | 11 | elixp 8945 | . . . . . . . . . . . . . . 15
⊢ (ℎ ∈ X𝑥 ∈
𝐵 𝐶 ↔ (ℎ Fn 𝐵 ∧ ∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶)) | 
| 13 | 12 | simprbi 496 | . . . . . . . . . . . . . 14
⊢ (ℎ ∈ X𝑥 ∈
𝐵 𝐶 → ∀𝑥 ∈ 𝐵 (ℎ‘𝑥) ∈ 𝐶) | 
| 14 |  | fveq1 6904 | . . . . . . . . . . . . . . . . . 18
⊢ (ℎ = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → (ℎ‘𝑥) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) | 
| 15 | 14 | eleq1d 2825 | . . . . . . . . . . . . . . . . 17
⊢ (ℎ = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → ((ℎ‘𝑥) ∈ 𝐶 ↔ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 16 |  | fveq1 6904 | . . . . . . . . . . . . . . . . . 18
⊢ (𝑔 = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → (𝑔‘𝑥) = (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) | 
| 17 | 16 | eleq1d 2825 | . . . . . . . . . . . . . . . . 17
⊢ (𝑔 = if(𝑥 ∈ 𝐵, ℎ, 𝑔) → ((𝑔‘𝑥) ∈ 𝐶 ↔ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 18 |  | simpl 482 | . . . . . . . . . . . . . . . . . 18
⊢ (((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) → (𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶)) | 
| 19 | 18 | imp 406 | . . . . . . . . . . . . . . . . 17
⊢ ((((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) ∧ 𝑥 ∈ 𝐵) → (ℎ‘𝑥) ∈ 𝐶) | 
| 20 |  | simplrr 777 | . . . . . . . . . . . . . . . . 17
⊢ ((((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) ∧ ¬ 𝑥 ∈ 𝐵) → (𝑔‘𝑥) ∈ 𝐶) | 
| 21 | 15, 17, 19, 20 | ifbothda 4563 | . . . . . . . . . . . . . . . 16
⊢ (((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) ∧ (𝑥 ∈ 𝐴 ∧ (𝑔‘𝑥) ∈ 𝐶)) → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶) | 
| 22 | 21 | exp32 420 | . . . . . . . . . . . . . . 15
⊢ ((𝑥 ∈ 𝐵 → (ℎ‘𝑥) ∈ 𝐶) → (𝑥 ∈ 𝐴 → ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶))) | 
| 23 | 22 | ralimi2 3077 | . . . . . . . . . . . . . 14
⊢
(∀𝑥 ∈
𝐵 (ℎ‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 24 | 13, 23 | syl 17 | . . . . . . . . . . . . 13
⊢ (ℎ ∈ X𝑥 ∈
𝐵 𝐶 → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 25 | 24 | adantl 481 | . . . . . . . . . . . 12
⊢ ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → ∀𝑥 ∈ 𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 26 |  | ralim 3085 | . . . . . . . . . . . 12
⊢
(∀𝑥 ∈
𝐴 ((𝑔‘𝑥) ∈ 𝐶 → (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶) → (∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 27 | 25, 26 | syl 17 | . . . . . . . . . . 11
⊢ ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → (∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶 → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 28 |  | vex 3483 | . . . . . . . . . . . . 13
⊢ 𝑔 ∈ V | 
| 29 | 28 | elixp 8945 | . . . . . . . . . . . 12
⊢ (𝑔 ∈ X𝑥 ∈
𝐴 𝐶 ↔ (𝑔 Fn 𝐴 ∧ ∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶)) | 
| 30 | 29 | simprbi 496 | . . . . . . . . . . 11
⊢ (𝑔 ∈ X𝑥 ∈
𝐴 𝐶 → ∀𝑥 ∈ 𝐴 (𝑔‘𝑥) ∈ 𝐶) | 
| 31 | 27, 30 | impel 505 | . . . . . . . . . 10
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶) | 
| 32 |  | n0i 4339 | . . . . . . . . . . . . 13
⊢ (𝑔 ∈ X𝑥 ∈
𝐴 𝐶 → ¬ X𝑥 ∈ 𝐴 𝐶 = ∅) | 
| 33 |  | ixpprc 8960 | . . . . . . . . . . . . 13
⊢ (¬
𝐴 ∈ V → X𝑥 ∈
𝐴 𝐶 = ∅) | 
| 34 | 32, 33 | nsyl2 141 | . . . . . . . . . . . 12
⊢ (𝑔 ∈ X𝑥 ∈
𝐴 𝐶 → 𝐴 ∈ V) | 
| 35 | 34 | adantl 481 | . . . . . . . . . . 11
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → 𝐴 ∈ V) | 
| 36 |  | mptelixpg 8976 | . . . . . . . . . . 11
⊢ (𝐴 ∈ V → ((𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶 ↔ ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 37 | 35, 36 | syl 17 | . . . . . . . . . 10
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶 ↔ ∀𝑥 ∈ 𝐴 (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥) ∈ 𝐶)) | 
| 38 | 31, 37 | mpbird 257 | . . . . . . . . 9
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑥 ∈ 𝐴 ↦ (if(𝑥 ∈ 𝐵, ℎ, 𝑔)‘𝑥)) ∈ X𝑥 ∈ 𝐴 𝐶) | 
| 39 | 10, 38 | eqeltrid 2844 | . . . . . . . 8
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ∈ X𝑥 ∈ 𝐴 𝐶) | 
| 40 |  | reseq1 5990 | . . . . . . . . . 10
⊢ (𝑓 = (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) → (𝑓 ↾ 𝐵) = ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵)) | 
| 41 |  | iftrue 4530 | . . . . . . . . . . . . . 14
⊢ (𝑧 ∈ 𝐵 → if(𝑧 ∈ 𝐵, ℎ, 𝑔) = ℎ) | 
| 42 | 41 | fveq1d 6907 | . . . . . . . . . . . . 13
⊢ (𝑧 ∈ 𝐵 → (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧) = (ℎ‘𝑧)) | 
| 43 | 42 | mpteq2ia 5244 | . . . . . . . . . . . 12
⊢ (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧)) | 
| 44 |  | resmpt 6054 | . . . . . . . . . . . . 13
⊢ (𝐵 ⊆ 𝐴 → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))) | 
| 45 | 44 | ad2antrr 726 | . . . . . . . . . . . 12
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = (𝑧 ∈ 𝐵 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))) | 
| 46 |  | ixpfn 8944 | . . . . . . . . . . . . . 14
⊢ (ℎ ∈ X𝑥 ∈
𝐵 𝐶 → ℎ Fn 𝐵) | 
| 47 | 46 | ad2antlr 727 | . . . . . . . . . . . . 13
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ Fn 𝐵) | 
| 48 |  | dffn5 6966 | . . . . . . . . . . . . 13
⊢ (ℎ Fn 𝐵 ↔ ℎ = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧))) | 
| 49 | 47, 48 | sylib 218 | . . . . . . . . . . . 12
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ = (𝑧 ∈ 𝐵 ↦ (ℎ‘𝑧))) | 
| 50 | 43, 45, 49 | 3eqtr4a 2802 | . . . . . . . . . . 11
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) = ℎ) | 
| 51 | 50, 11 | eqeltrdi 2848 | . . . . . . . . . 10
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵) ∈ V) | 
| 52 | 2, 40, 39, 51 | fvmptd3 7038 | . . . . . . . . 9
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧))) = ((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ↾ 𝐵)) | 
| 53 | 52, 50 | eqtr2d 2777 | . . . . . . . 8
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ℎ = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))) | 
| 54 |  | fveq2 6905 | . . . . . . . . 9
⊢ (𝑦 = (𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) → (𝐹‘𝑦) = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))) | 
| 55 | 54 | rspceeqv 3644 | . . . . . . . 8
⊢ (((𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)) ∈ X𝑥 ∈ 𝐴 𝐶 ∧ ℎ = (𝐹‘(𝑧 ∈ 𝐴 ↦ (if(𝑧 ∈ 𝐵, ℎ, 𝑔)‘𝑧)))) → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)) | 
| 56 | 39, 53, 55 | syl2anc 584 | . . . . . . 7
⊢ (((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) ∧ 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶) → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)) | 
| 57 | 56 | ex 412 | . . . . . 6
⊢ ((𝐵 ⊆ 𝐴 ∧ ℎ ∈ X𝑥 ∈ 𝐵 𝐶) → (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))) | 
| 58 | 57 | ralrimdva 3153 | . . . . 5
⊢ (𝐵 ⊆ 𝐴 → (𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))) | 
| 59 | 58 | exlimdv 1932 | . . . 4
⊢ (𝐵 ⊆ 𝐴 → (∃𝑔 𝑔 ∈ X𝑥 ∈ 𝐴 𝐶 → ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))) | 
| 60 | 5, 59 | biimtrid 242 | . . 3
⊢ (𝐵 ⊆ 𝐴 → (X𝑥 ∈ 𝐴 𝐶 ≠ ∅ → ∀ℎ ∈ X
𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))) | 
| 61 | 60 | imp 406 | . 2
⊢ ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → ∀ℎ ∈ X
𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦)) | 
| 62 |  | dffo3 7121 | . 2
⊢ (𝐹:X𝑥 ∈ 𝐴 𝐶–onto→X𝑥 ∈ 𝐵 𝐶 ↔ (𝐹:X𝑥 ∈ 𝐴 𝐶⟶X𝑥 ∈ 𝐵 𝐶 ∧ ∀ℎ ∈ X 𝑥 ∈ 𝐵 𝐶∃𝑦 ∈ X 𝑥 ∈ 𝐴 𝐶ℎ = (𝐹‘𝑦))) | 
| 63 | 4, 61, 62 | sylanbrc 583 | 1
⊢ ((𝐵 ⊆ 𝐴 ∧ X𝑥 ∈ 𝐴 𝐶 ≠ ∅) → 𝐹:X𝑥 ∈ 𝐴 𝐶–onto→X𝑥 ∈ 𝐵 𝐶) |