Proof of Theorem dff3
Step | Hyp | Ref
| Expression |
1 | | fssxp 5233 |
. . 3
⊢ (F:A–→B
→ F ⊆ (A ×
B)) |
2 | | fdm 5227 |
. . . . . . . 8
⊢ (F:A–→B
→ dom F = A) |
3 | 2 | eleq2d 2420 |
. . . . . . 7
⊢ (F:A–→B
→ (x ∈ dom F ↔
x ∈
A)) |
4 | 3 | biimpar 471 |
. . . . . 6
⊢ ((F:A–→B
∧ x ∈ A) →
x ∈ dom
F) |
5 | | eldm 4899 |
. . . . . 6
⊢ (x ∈ dom F ↔ ∃y xFy) |
6 | 4, 5 | sylib 188 |
. . . . 5
⊢ ((F:A–→B
∧ x ∈ A) →
∃y
xFy) |
7 | | ffun 5226 |
. . . . . . 7
⊢ (F:A–→B
→ Fun F) |
8 | 7 | adantr 451 |
. . . . . 6
⊢ ((F:A–→B
∧ x ∈ A) → Fun
F) |
9 | | funmo 5126 |
. . . . . 6
⊢ (Fun F → ∃*y xFy) |
10 | 8, 9 | syl 15 |
. . . . 5
⊢ ((F:A–→B
∧ x ∈ A) →
∃*y
xFy) |
11 | | eu5 2242 |
. . . . 5
⊢ (∃!y xFy ↔ (∃y xFy ∧ ∃*y xFy)) |
12 | 6, 10, 11 | sylanbrc 645 |
. . . 4
⊢ ((F:A–→B
∧ x ∈ A) →
∃!y
xFy) |
13 | 12 | ralrimiva 2698 |
. . 3
⊢ (F:A–→B
→ ∀x ∈ A ∃!y xFy) |
14 | 1, 13 | jca 518 |
. 2
⊢ (F:A–→B
→ (F ⊆ (A ×
B) ∧ ∀x ∈ A ∃!y xFy)) |
15 | | df-ral 2620 |
. . . . . . 7
⊢ (∀x ∈ A ∃!y xFy ↔ ∀x(x ∈ A → ∃!y xFy)) |
16 | | dmss 4907 |
. . . . . . . . . . . . . . 15
⊢ (F ⊆ (A × B)
→ dom F ⊆ dom (A
× B)) |
17 | | dmxpss 5053 |
. . . . . . . . . . . . . . 15
⊢ dom (A × B)
⊆ A |
18 | 16, 17 | syl6ss 3285 |
. . . . . . . . . . . . . 14
⊢ (F ⊆ (A × B)
→ dom F ⊆ A) |
19 | 18 | sseld 3273 |
. . . . . . . . . . . . 13
⊢ (F ⊆ (A × B)
→ (x ∈ dom F →
x ∈
A)) |
20 | 5, 19 | syl5bir 209 |
. . . . . . . . . . . 12
⊢ (F ⊆ (A × B)
→ (∃y xFy →
x ∈
A)) |
21 | 20 | con3d 125 |
. . . . . . . . . . 11
⊢ (F ⊆ (A × B)
→ (¬ x ∈ A →
¬ ∃y
xFy)) |
22 | | pm2.21 100 |
. . . . . . . . . . . 12
⊢ (¬ ∃y xFy → (∃y xFy → ∃!y xFy)) |
23 | | df-mo 2209 |
. . . . . . . . . . . 12
⊢ (∃*y xFy ↔ (∃y xFy → ∃!y xFy)) |
24 | 22, 23 | sylibr 203 |
. . . . . . . . . . 11
⊢ (¬ ∃y xFy → ∃*y xFy) |
25 | 21, 24 | syl6 29 |
. . . . . . . . . 10
⊢ (F ⊆ (A × B)
→ (¬ x ∈ A →
∃*y
xFy)) |
26 | 25 | a1dd 42 |
. . . . . . . . 9
⊢ (F ⊆ (A × B)
→ (¬ x ∈ A →
((x ∈
A → ∃!y xFy) → ∃*y xFy))) |
27 | | pm2.27 35 |
. . . . . . . . . 10
⊢ (x ∈ A → ((x
∈ A
→ ∃!y xFy) → ∃!y xFy)) |
28 | | eumo 2244 |
. . . . . . . . . 10
⊢ (∃!y xFy → ∃*y xFy) |
29 | 27, 28 | syl6 29 |
. . . . . . . . 9
⊢ (x ∈ A → ((x
∈ A
→ ∃!y xFy) → ∃*y xFy)) |
30 | 26, 29 | pm2.61d2 152 |
. . . . . . . 8
⊢ (F ⊆ (A × B)
→ ((x ∈ A →
∃!y
xFy) → ∃*y xFy)) |
31 | 30 | alimdv 1621 |
. . . . . . 7
⊢ (F ⊆ (A × B)
→ (∀x(x ∈ A →
∃!y
xFy) → ∀x∃*y xFy)) |
32 | 15, 31 | syl5bi 208 |
. . . . . 6
⊢ (F ⊆ (A × B)
→ (∀x ∈ A ∃!y xFy → ∀x∃*y xFy)) |
33 | 32 | imp 418 |
. . . . 5
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → ∀x∃*y xFy) |
34 | | dffun6 5125 |
. . . . 5
⊢ (Fun F ↔ ∀x∃*y xFy) |
35 | 33, 34 | sylibr 203 |
. . . 4
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → Fun F) |
36 | 18 | adantr 451 |
. . . . 5
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → dom F
⊆ A) |
37 | | euex 2227 |
. . . . . . . . 9
⊢ (∃!y xFy → ∃y xFy) |
38 | 37, 5 | sylibr 203 |
. . . . . . . 8
⊢ (∃!y xFy → x ∈ dom F) |
39 | 38 | ralimi 2690 |
. . . . . . 7
⊢ (∀x ∈ A ∃!y xFy → ∀x ∈ A x ∈ dom F) |
40 | | dfss3 3264 |
. . . . . . 7
⊢ (A ⊆ dom F ↔ ∀x ∈ A x ∈ dom F) |
41 | 39, 40 | sylibr 203 |
. . . . . 6
⊢ (∀x ∈ A ∃!y xFy → A ⊆ dom F) |
42 | 41 | adantl 452 |
. . . . 5
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → A
⊆ dom F) |
43 | 36, 42 | eqssd 3290 |
. . . 4
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → dom F
= A) |
44 | | df-fn 4791 |
. . . 4
⊢ (F Fn A ↔
(Fun F ∧
dom F = A)) |
45 | 35, 43, 44 | sylanbrc 645 |
. . 3
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → F Fn
A) |
46 | | rnss 4960 |
. . . . 5
⊢ (F ⊆ (A × B)
→ ran F ⊆ ran (A
× B)) |
47 | | rnxpss 5054 |
. . . . 5
⊢ ran (A × B)
⊆ B |
48 | 46, 47 | syl6ss 3285 |
. . . 4
⊢ (F ⊆ (A × B)
→ ran F ⊆ B) |
49 | 48 | adantr 451 |
. . 3
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → ran F
⊆ B) |
50 | | df-f 4792 |
. . 3
⊢ (F:A–→B
↔ (F Fn A ∧ ran F ⊆ B)) |
51 | 45, 49, 50 | sylanbrc 645 |
. 2
⊢ ((F ⊆ (A × B)
∧ ∀x ∈ A ∃!y xFy) → F:A–→B) |
52 | 14, 51 | impbii 180 |
1
⊢ (F:A–→B
↔ (F ⊆ (A ×
B) ∧ ∀x ∈ A ∃!y xFy)) |