Proof of Theorem fncnv
| Step | Hyp | Ref
| Expression |
| 1 | | df-fn 4791 |
. 2
⊢ (◡(R ∩
(A × B)) Fn B ↔
(Fun ◡(R ∩ (A
× B)) ∧ dom ◡(R ∩
(A × B)) = B)) |
| 2 | | dfrn4 4905 |
. . . 4
⊢ ran (R ∩ (A
× B)) = dom ◡(R ∩
(A × B)) |
| 3 | 2 | eqeq1i 2360 |
. . 3
⊢ (ran (R ∩ (A
× B)) = B ↔ dom ◡(R ∩
(A × B)) = B) |
| 4 | 3 | anbi2i 675 |
. 2
⊢ ((Fun ◡(R ∩
(A × B)) ∧ ran (R ∩ (A
× B)) = B) ↔ (Fun ◡(R ∩
(A × B)) ∧ dom ◡(R ∩
(A × B)) = B)) |
| 5 | | rninxp 5061 |
. . . . 5
⊢ (ran (R ∩ (A
× B)) = B ↔ ∀y ∈ B ∃x ∈ A xRy) |
| 6 | 5 | anbi1i 676 |
. . . 4
⊢ ((ran (R ∩ (A
× B)) = B ∧ ∀y ∈ B ∃*x ∈ A xRy) ↔ (∀y ∈ B ∃x ∈ A xRy ∧ ∀y ∈ B ∃*x ∈ A xRy)) |
| 7 | | funcnv 5157 |
. . . . . 6
⊢ (Fun ◡(R ∩
(A × B)) ↔ ∀y ∈ ran (R ∩
(A × B))∃*x x(R ∩ (A
× B))y) |
| 8 | | raleq 2808 |
. . . . . . 7
⊢ (ran (R ∩ (A
× B)) = B → (∀y ∈ ran (R ∩
(A × B))∃*x x(R ∩ (A
× B))y ↔ ∀y ∈ B ∃*x x(R ∩
(A × B))y)) |
| 9 | | biimt 325 |
. . . . . . . . 9
⊢ (y ∈ B → (∃*x ∈ A xRy ↔ (y
∈ B
→ ∃*x ∈ A xRy))) |
| 10 | | moanimv 2262 |
. . . . . . . . . 10
⊢ (∃*x(y ∈ B ∧ (x ∈ A ∧ xRy)) ↔ (y
∈ B
→ ∃*x(x ∈ A ∧ xRy))) |
| 11 | | brin 4694 |
. . . . . . . . . . . 12
⊢ (x(R ∩
(A × B))y ↔
(xRy ∧ x(A × B)y)) |
| 12 | | brxp 4813 |
. . . . . . . . . . . . . . . 16
⊢ (x(A ×
B)y
↔ (x ∈ A ∧ y ∈ B)) |
| 13 | | ancom 437 |
. . . . . . . . . . . . . . . 16
⊢ ((x ∈ A ∧ y ∈ B) ↔ (y
∈ B ∧ x ∈ A)) |
| 14 | 12, 13 | bitri 240 |
. . . . . . . . . . . . . . 15
⊢ (x(A ×
B)y
↔ (y ∈ B ∧ x ∈ A)) |
| 15 | 14 | anbi2i 675 |
. . . . . . . . . . . . . 14
⊢ ((xRy ∧ x(A ×
B)y)
↔ (xRy ∧ (y ∈ B ∧ x ∈ A))) |
| 16 | | ancom 437 |
. . . . . . . . . . . . . 14
⊢ ((xRy ∧ (y ∈ B ∧ x ∈ A)) ↔ ((y
∈ B ∧ x ∈ A) ∧ xRy)) |
| 17 | 15, 16 | bitri 240 |
. . . . . . . . . . . . 13
⊢ ((xRy ∧ x(A ×
B)y)
↔ ((y ∈ B ∧ x ∈ A) ∧ xRy)) |
| 18 | | anass 630 |
. . . . . . . . . . . . 13
⊢ (((y ∈ B ∧ x ∈ A) ∧ xRy) ↔ (y
∈ B ∧ (x ∈ A ∧ xRy))) |
| 19 | 17, 18 | bitri 240 |
. . . . . . . . . . . 12
⊢ ((xRy ∧ x(A ×
B)y)
↔ (y ∈ B ∧ (x ∈ A ∧ xRy))) |
| 20 | 11, 19 | bitri 240 |
. . . . . . . . . . 11
⊢ (x(R ∩
(A × B))y ↔
(y ∈
B ∧
(x ∈
A ∧
xRy))) |
| 21 | 20 | mobii 2240 |
. . . . . . . . . 10
⊢ (∃*x x(R ∩
(A × B))y ↔
∃*x(y ∈ B ∧ (x ∈ A ∧ xRy))) |
| 22 | | df-rmo 2623 |
. . . . . . . . . . 11
⊢ (∃*x ∈ A xRy ↔ ∃*x(x ∈ A ∧ xRy)) |
| 23 | 22 | imbi2i 303 |
. . . . . . . . . 10
⊢ ((y ∈ B → ∃*x ∈ A xRy) ↔ (y
∈ B
→ ∃*x(x ∈ A ∧ xRy))) |
| 24 | 10, 21, 23 | 3bitr4i 268 |
. . . . . . . . 9
⊢ (∃*x x(R ∩
(A × B))y ↔
(y ∈
B → ∃*x ∈ A xRy)) |
| 25 | 9, 24 | syl6rbbr 255 |
. . . . . . . 8
⊢ (y ∈ B → (∃*x x(R ∩
(A × B))y ↔
∃*x
∈ A
xRy)) |
| 26 | 25 | ralbiia 2647 |
. . . . . . 7
⊢ (∀y ∈ B ∃*x x(R ∩
(A × B))y ↔
∀y
∈ B ∃*x ∈ A xRy) |
| 27 | 8, 26 | syl6bb 252 |
. . . . . 6
⊢ (ran (R ∩ (A
× B)) = B → (∀y ∈ ran (R ∩
(A × B))∃*x x(R ∩ (A
× B))y ↔ ∀y ∈ B ∃*x ∈ A xRy)) |
| 28 | 7, 27 | syl5bb 248 |
. . . . 5
⊢ (ran (R ∩ (A
× B)) = B → (Fun ◡(R ∩
(A × B)) ↔ ∀y ∈ B ∃*x ∈ A xRy)) |
| 29 | 28 | pm5.32i 618 |
. . . 4
⊢ ((ran (R ∩ (A
× B)) = B ∧ Fun ◡(R ∩
(A × B))) ↔ (ran (R ∩ (A
× B)) = B ∧ ∀y ∈ B ∃*x ∈ A xRy)) |
| 30 | | r19.26 2747 |
. . . 4
⊢ (∀y ∈ B (∃x ∈ A xRy ∧ ∃*x ∈ A xRy) ↔ (∀y ∈ B ∃x ∈ A xRy ∧ ∀y ∈ B ∃*x ∈ A xRy)) |
| 31 | 6, 29, 30 | 3bitr4i 268 |
. . 3
⊢ ((ran (R ∩ (A
× B)) = B ∧ Fun ◡(R ∩
(A × B))) ↔ ∀y ∈ B (∃x ∈ A xRy ∧ ∃*x ∈ A xRy)) |
| 32 | | ancom 437 |
. . 3
⊢ ((Fun ◡(R ∩
(A × B)) ∧ ran (R ∩ (A
× B)) = B) ↔ (ran (R ∩ (A
× B)) = B ∧ Fun ◡(R ∩
(A × B)))) |
| 33 | | reu5 2825 |
. . . 4
⊢ (∃!x ∈ A xRy ↔ (∃x ∈ A xRy ∧ ∃*x ∈ A xRy)) |
| 34 | 33 | ralbii 2639 |
. . 3
⊢ (∀y ∈ B ∃!x ∈ A xRy ↔ ∀y ∈ B (∃x ∈ A xRy ∧ ∃*x ∈ A xRy)) |
| 35 | 31, 32, 34 | 3bitr4i 268 |
. 2
⊢ ((Fun ◡(R ∩
(A × B)) ∧ ran (R ∩ (A
× B)) = B) ↔ ∀y ∈ B ∃!x ∈ A xRy) |
| 36 | 1, 4, 35 | 3bitr2i 264 |
1
⊢ (◡(R ∩
(A × B)) Fn B ↔
∀y
∈ B ∃!x ∈ A xRy) |