| Step | Hyp | Ref
 | Expression | 
| 1 |   | simpr 110 | 
. . . . 5
⊢ ((𝜑 ∧ Fun 𝐹) → Fun 𝐹) | 
| 2 |   | flift.1 | 
. . . . . . . . . . 11
⊢ 𝐹 = ran (𝑥 ∈ 𝑋 ↦ 〈𝐴, 𝐵〉) | 
| 3 |   | flift.2 | 
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → 𝐴 ∈ 𝑅) | 
| 4 |   | flift.3 | 
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → 𝐵 ∈ 𝑆) | 
| 5 | 2, 3, 4 | fliftel 5840 | 
. . . . . . . . . 10
⊢ (𝜑 → (𝑦𝐹𝑧 ↔ ∃𝑥 ∈ 𝑋 (𝑦 = 𝐴 ∧ 𝑧 = 𝐵))) | 
| 6 | 5 | exbidv 1839 | 
. . . . . . . . 9
⊢ (𝜑 → (∃𝑧 𝑦𝐹𝑧 ↔ ∃𝑧∃𝑥 ∈ 𝑋 (𝑦 = 𝐴 ∧ 𝑧 = 𝐵))) | 
| 7 | 6 | adantr 276 | 
. . . . . . . 8
⊢ ((𝜑 ∧ Fun 𝐹) → (∃𝑧 𝑦𝐹𝑧 ↔ ∃𝑧∃𝑥 ∈ 𝑋 (𝑦 = 𝐴 ∧ 𝑧 = 𝐵))) | 
| 8 |   | rexcom4 2786 | 
. . . . . . . . 9
⊢
(∃𝑥 ∈
𝑋 ∃𝑧(𝑦 = 𝐴 ∧ 𝑧 = 𝐵) ↔ ∃𝑧∃𝑥 ∈ 𝑋 (𝑦 = 𝐴 ∧ 𝑧 = 𝐵)) | 
| 9 |   | 19.42v 1921 | 
. . . . . . . . . . . 12
⊢
(∃𝑧(𝑦 = 𝐴 ∧ 𝑧 = 𝐵) ↔ (𝑦 = 𝐴 ∧ ∃𝑧 𝑧 = 𝐵)) | 
| 10 |   | elisset 2777 | 
. . . . . . . . . . . . . 14
⊢ (𝐵 ∈ 𝑆 → ∃𝑧 𝑧 = 𝐵) | 
| 11 | 4, 10 | syl 14 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → ∃𝑧 𝑧 = 𝐵) | 
| 12 | 11 | biantrud 304 | 
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (𝑦 = 𝐴 ↔ (𝑦 = 𝐴 ∧ ∃𝑧 𝑧 = 𝐵))) | 
| 13 | 9, 12 | bitr4id 199 | 
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑋) → (∃𝑧(𝑦 = 𝐴 ∧ 𝑧 = 𝐵) ↔ 𝑦 = 𝐴)) | 
| 14 | 13 | rexbidva 2494 | 
. . . . . . . . . 10
⊢ (𝜑 → (∃𝑥 ∈ 𝑋 ∃𝑧(𝑦 = 𝐴 ∧ 𝑧 = 𝐵) ↔ ∃𝑥 ∈ 𝑋 𝑦 = 𝐴)) | 
| 15 | 14 | adantr 276 | 
. . . . . . . . 9
⊢ ((𝜑 ∧ Fun 𝐹) → (∃𝑥 ∈ 𝑋 ∃𝑧(𝑦 = 𝐴 ∧ 𝑧 = 𝐵) ↔ ∃𝑥 ∈ 𝑋 𝑦 = 𝐴)) | 
| 16 | 8, 15 | bitr3id 194 | 
. . . . . . . 8
⊢ ((𝜑 ∧ Fun 𝐹) → (∃𝑧∃𝑥 ∈ 𝑋 (𝑦 = 𝐴 ∧ 𝑧 = 𝐵) ↔ ∃𝑥 ∈ 𝑋 𝑦 = 𝐴)) | 
| 17 | 7, 16 | bitrd 188 | 
. . . . . . 7
⊢ ((𝜑 ∧ Fun 𝐹) → (∃𝑧 𝑦𝐹𝑧 ↔ ∃𝑥 ∈ 𝑋 𝑦 = 𝐴)) | 
| 18 | 17 | abbidv 2314 | 
. . . . . 6
⊢ ((𝜑 ∧ Fun 𝐹) → {𝑦 ∣ ∃𝑧 𝑦𝐹𝑧} = {𝑦 ∣ ∃𝑥 ∈ 𝑋 𝑦 = 𝐴}) | 
| 19 |   | df-dm 4673 | 
. . . . . 6
⊢ dom 𝐹 = {𝑦 ∣ ∃𝑧 𝑦𝐹𝑧} | 
| 20 |   | eqid 2196 | 
. . . . . . 7
⊢ (𝑥 ∈ 𝑋 ↦ 𝐴) = (𝑥 ∈ 𝑋 ↦ 𝐴) | 
| 21 | 20 | rnmpt 4914 | 
. . . . . 6
⊢ ran
(𝑥 ∈ 𝑋 ↦ 𝐴) = {𝑦 ∣ ∃𝑥 ∈ 𝑋 𝑦 = 𝐴} | 
| 22 | 18, 19, 21 | 3eqtr4g 2254 | 
. . . . 5
⊢ ((𝜑 ∧ Fun 𝐹) → dom 𝐹 = ran (𝑥 ∈ 𝑋 ↦ 𝐴)) | 
| 23 |   | df-fn 5261 | 
. . . . 5
⊢ (𝐹 Fn ran (𝑥 ∈ 𝑋 ↦ 𝐴) ↔ (Fun 𝐹 ∧ dom 𝐹 = ran (𝑥 ∈ 𝑋 ↦ 𝐴))) | 
| 24 | 1, 22, 23 | sylanbrc 417 | 
. . . 4
⊢ ((𝜑 ∧ Fun 𝐹) → 𝐹 Fn ran (𝑥 ∈ 𝑋 ↦ 𝐴)) | 
| 25 | 2, 3, 4 | fliftrel 5839 | 
. . . . . . 7
⊢ (𝜑 → 𝐹 ⊆ (𝑅 × 𝑆)) | 
| 26 | 25 | adantr 276 | 
. . . . . 6
⊢ ((𝜑 ∧ Fun 𝐹) → 𝐹 ⊆ (𝑅 × 𝑆)) | 
| 27 |   | rnss 4896 | 
. . . . . 6
⊢ (𝐹 ⊆ (𝑅 × 𝑆) → ran 𝐹 ⊆ ran (𝑅 × 𝑆)) | 
| 28 | 26, 27 | syl 14 | 
. . . . 5
⊢ ((𝜑 ∧ Fun 𝐹) → ran 𝐹 ⊆ ran (𝑅 × 𝑆)) | 
| 29 |   | rnxpss 5101 | 
. . . . 5
⊢ ran
(𝑅 × 𝑆) ⊆ 𝑆 | 
| 30 | 28, 29 | sstrdi 3195 | 
. . . 4
⊢ ((𝜑 ∧ Fun 𝐹) → ran 𝐹 ⊆ 𝑆) | 
| 31 |   | df-f 5262 | 
. . . 4
⊢ (𝐹:ran (𝑥 ∈ 𝑋 ↦ 𝐴)⟶𝑆 ↔ (𝐹 Fn ran (𝑥 ∈ 𝑋 ↦ 𝐴) ∧ ran 𝐹 ⊆ 𝑆)) | 
| 32 | 24, 30, 31 | sylanbrc 417 | 
. . 3
⊢ ((𝜑 ∧ Fun 𝐹) → 𝐹:ran (𝑥 ∈ 𝑋 ↦ 𝐴)⟶𝑆) | 
| 33 | 32 | ex 115 | 
. 2
⊢ (𝜑 → (Fun 𝐹 → 𝐹:ran (𝑥 ∈ 𝑋 ↦ 𝐴)⟶𝑆)) | 
| 34 |   | ffun 5410 | 
. 2
⊢ (𝐹:ran (𝑥 ∈ 𝑋 ↦ 𝐴)⟶𝑆 → Fun 𝐹) | 
| 35 | 33, 34 | impbid1 142 | 
1
⊢ (𝜑 → (Fun 𝐹 ↔ 𝐹:ran (𝑥 ∈ 𝑋 ↦ 𝐴)⟶𝑆)) |