Proof of Theorem fncnv
| Step | Hyp | Ref
 | Expression | 
| 1 |   | df-fn 5261 | 
. 2
⊢ (◡(𝑅 ∩ (𝐴 × 𝐵)) Fn 𝐵 ↔ (Fun ◡(𝑅 ∩ (𝐴 × 𝐵)) ∧ dom ◡(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵)) | 
| 2 |   | df-rn 4674 | 
. . . 4
⊢ ran
(𝑅 ∩ (𝐴 × 𝐵)) = dom ◡(𝑅 ∩ (𝐴 × 𝐵)) | 
| 3 | 2 | eqeq1i 2204 | 
. . 3
⊢ (ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 ↔ dom ◡(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵) | 
| 4 | 3 | anbi2i 457 | 
. 2
⊢ ((Fun
◡(𝑅 ∩ (𝐴 × 𝐵)) ∧ ran (𝑅 ∩ (𝐴 × 𝐵)) = 𝐵) ↔ (Fun ◡(𝑅 ∩ (𝐴 × 𝐵)) ∧ dom ◡(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵)) | 
| 5 |   | rninxp 5113 | 
. . . . 5
⊢ (ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 ↔ ∀𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝑥𝑅𝑦) | 
| 6 | 5 | anbi1i 458 | 
. . . 4
⊢ ((ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 ∧ ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦) ↔ (∀𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝑥𝑅𝑦 ∧ ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 7 |   | funcnv 5319 | 
. . . . . 6
⊢ (Fun
◡(𝑅 ∩ (𝐴 × 𝐵)) ↔ ∀𝑦 ∈ ran (𝑅 ∩ (𝐴 × 𝐵))∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦) | 
| 8 |   | raleq 2693 | 
. . . . . . 7
⊢ (ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 → (∀𝑦 ∈ ran (𝑅 ∩ (𝐴 × 𝐵))∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ ∀𝑦 ∈ 𝐵 ∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦)) | 
| 9 |   | moanimv 2120 | 
. . . . . . . . . 10
⊢
(∃*𝑥(𝑦 ∈ 𝐵 ∧ (𝑥 ∈ 𝐴 ∧ 𝑥𝑅𝑦)) ↔ (𝑦 ∈ 𝐵 → ∃*𝑥(𝑥 ∈ 𝐴 ∧ 𝑥𝑅𝑦))) | 
| 10 |   | brinxp2 4730 | 
. . . . . . . . . . . 12
⊢ (𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ (𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ∧ 𝑥𝑅𝑦)) | 
| 11 |   | 3anan12 992 | 
. . . . . . . . . . . 12
⊢ ((𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ∧ 𝑥𝑅𝑦) ↔ (𝑦 ∈ 𝐵 ∧ (𝑥 ∈ 𝐴 ∧ 𝑥𝑅𝑦))) | 
| 12 | 10, 11 | bitri 184 | 
. . . . . . . . . . 11
⊢ (𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ (𝑦 ∈ 𝐵 ∧ (𝑥 ∈ 𝐴 ∧ 𝑥𝑅𝑦))) | 
| 13 | 12 | mobii 2082 | 
. . . . . . . . . 10
⊢
(∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ ∃*𝑥(𝑦 ∈ 𝐵 ∧ (𝑥 ∈ 𝐴 ∧ 𝑥𝑅𝑦))) | 
| 14 |   | df-rmo 2483 | 
. . . . . . . . . . 11
⊢
(∃*𝑥 ∈
𝐴 𝑥𝑅𝑦 ↔ ∃*𝑥(𝑥 ∈ 𝐴 ∧ 𝑥𝑅𝑦)) | 
| 15 | 14 | imbi2i 226 | 
. . . . . . . . . 10
⊢ ((𝑦 ∈ 𝐵 → ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦) ↔ (𝑦 ∈ 𝐵 → ∃*𝑥(𝑥 ∈ 𝐴 ∧ 𝑥𝑅𝑦))) | 
| 16 | 9, 13, 15 | 3bitr4i 212 | 
. . . . . . . . 9
⊢
(∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ (𝑦 ∈ 𝐵 → ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 17 |   | biimt 241 | 
. . . . . . . . 9
⊢ (𝑦 ∈ 𝐵 → (∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦 ↔ (𝑦 ∈ 𝐵 → ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦))) | 
| 18 | 16, 17 | bitr4id 199 | 
. . . . . . . 8
⊢ (𝑦 ∈ 𝐵 → (∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 19 | 18 | ralbiia 2511 | 
. . . . . . 7
⊢
(∀𝑦 ∈
𝐵 ∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦) | 
| 20 | 8, 19 | bitrdi 196 | 
. . . . . 6
⊢ (ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 → (∀𝑦 ∈ ran (𝑅 ∩ (𝐴 × 𝐵))∃*𝑥 𝑥(𝑅 ∩ (𝐴 × 𝐵))𝑦 ↔ ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 21 | 7, 20 | bitrid 192 | 
. . . . 5
⊢ (ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 → (Fun ◡(𝑅 ∩ (𝐴 × 𝐵)) ↔ ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 22 | 21 | pm5.32i 454 | 
. . . 4
⊢ ((ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 ∧ Fun ◡(𝑅 ∩ (𝐴 × 𝐵))) ↔ (ran (𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 ∧ ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 23 |   | r19.26 2623 | 
. . . 4
⊢
(∀𝑦 ∈
𝐵 (∃𝑥 ∈ 𝐴 𝑥𝑅𝑦 ∧ ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦) ↔ (∀𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝑥𝑅𝑦 ∧ ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 24 | 6, 22, 23 | 3bitr4i 212 | 
. . 3
⊢ ((ran
(𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 ∧ Fun ◡(𝑅 ∩ (𝐴 × 𝐵))) ↔ ∀𝑦 ∈ 𝐵 (∃𝑥 ∈ 𝐴 𝑥𝑅𝑦 ∧ ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 25 |   | ancom 266 | 
. . 3
⊢ ((Fun
◡(𝑅 ∩ (𝐴 × 𝐵)) ∧ ran (𝑅 ∩ (𝐴 × 𝐵)) = 𝐵) ↔ (ran (𝑅 ∩ (𝐴 × 𝐵)) = 𝐵 ∧ Fun ◡(𝑅 ∩ (𝐴 × 𝐵)))) | 
| 26 |   | reu5 2714 | 
. . . 4
⊢
(∃!𝑥 ∈
𝐴 𝑥𝑅𝑦 ↔ (∃𝑥 ∈ 𝐴 𝑥𝑅𝑦 ∧ ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 27 | 26 | ralbii 2503 | 
. . 3
⊢
(∀𝑦 ∈
𝐵 ∃!𝑥 ∈ 𝐴 𝑥𝑅𝑦 ↔ ∀𝑦 ∈ 𝐵 (∃𝑥 ∈ 𝐴 𝑥𝑅𝑦 ∧ ∃*𝑥 ∈ 𝐴 𝑥𝑅𝑦)) | 
| 28 | 24, 25, 27 | 3bitr4i 212 | 
. 2
⊢ ((Fun
◡(𝑅 ∩ (𝐴 × 𝐵)) ∧ ran (𝑅 ∩ (𝐴 × 𝐵)) = 𝐵) ↔ ∀𝑦 ∈ 𝐵 ∃!𝑥 ∈ 𝐴 𝑥𝑅𝑦) | 
| 29 | 1, 4, 28 | 3bitr2i 208 | 
1
⊢ (◡(𝑅 ∩ (𝐴 × 𝐵)) Fn 𝐵 ↔ ∀𝑦 ∈ 𝐵 ∃!𝑥 ∈ 𝐴 𝑥𝑅𝑦) |