Step |
Hyp |
Ref |
Expression |
1 |
|
mofeu.1 |
⊢ 𝐺 = ( 𝐴 × 𝐵 ) |
2 |
|
mofeu.2 |
⊢ ( 𝜑 → ( 𝐵 = ∅ → 𝐴 = ∅ ) ) |
3 |
|
mofeu.3 |
⊢ ( 𝜑 → ∃* 𝑥 𝑥 ∈ 𝐵 ) |
4 |
2
|
imp |
⊢ ( ( 𝜑 ∧ 𝐵 = ∅ ) → 𝐴 = ∅ ) |
5 |
|
f00 |
⊢ ( 𝐹 : 𝐴 ⟶ ∅ ↔ ( 𝐹 = ∅ ∧ 𝐴 = ∅ ) ) |
6 |
5
|
rbaib |
⊢ ( 𝐴 = ∅ → ( 𝐹 : 𝐴 ⟶ ∅ ↔ 𝐹 = ∅ ) ) |
7 |
4 6
|
syl |
⊢ ( ( 𝜑 ∧ 𝐵 = ∅ ) → ( 𝐹 : 𝐴 ⟶ ∅ ↔ 𝐹 = ∅ ) ) |
8 |
|
feq3 |
⊢ ( 𝐵 = ∅ → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 : 𝐴 ⟶ ∅ ) ) |
9 |
8
|
adantl |
⊢ ( ( 𝜑 ∧ 𝐵 = ∅ ) → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 : 𝐴 ⟶ ∅ ) ) |
10 |
|
xpeq2 |
⊢ ( 𝐵 = ∅ → ( 𝐴 × 𝐵 ) = ( 𝐴 × ∅ ) ) |
11 |
|
xp0 |
⊢ ( 𝐴 × ∅ ) = ∅ |
12 |
10 11
|
eqtrdi |
⊢ ( 𝐵 = ∅ → ( 𝐴 × 𝐵 ) = ∅ ) |
13 |
1 12
|
eqtrid |
⊢ ( 𝐵 = ∅ → 𝐺 = ∅ ) |
14 |
13
|
adantl |
⊢ ( ( 𝜑 ∧ 𝐵 = ∅ ) → 𝐺 = ∅ ) |
15 |
14
|
eqeq2d |
⊢ ( ( 𝜑 ∧ 𝐵 = ∅ ) → ( 𝐹 = 𝐺 ↔ 𝐹 = ∅ ) ) |
16 |
7 9 15
|
3bitr4d |
⊢ ( ( 𝜑 ∧ 𝐵 = ∅ ) → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = 𝐺 ) ) |
17 |
|
19.42v |
⊢ ( ∃ 𝑦 ( 𝜑 ∧ 𝐵 = { 𝑦 } ) ↔ ( 𝜑 ∧ ∃ 𝑦 𝐵 = { 𝑦 } ) ) |
18 |
|
fconst2g |
⊢ ( 𝑦 ∈ V → ( 𝐹 : 𝐴 ⟶ { 𝑦 } ↔ 𝐹 = ( 𝐴 × { 𝑦 } ) ) ) |
19 |
18
|
elv |
⊢ ( 𝐹 : 𝐴 ⟶ { 𝑦 } ↔ 𝐹 = ( 𝐴 × { 𝑦 } ) ) |
20 |
|
feq3 |
⊢ ( 𝐵 = { 𝑦 } → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 : 𝐴 ⟶ { 𝑦 } ) ) |
21 |
|
xpeq2 |
⊢ ( 𝐵 = { 𝑦 } → ( 𝐴 × 𝐵 ) = ( 𝐴 × { 𝑦 } ) ) |
22 |
21
|
eqeq2d |
⊢ ( 𝐵 = { 𝑦 } → ( 𝐹 = ( 𝐴 × 𝐵 ) ↔ 𝐹 = ( 𝐴 × { 𝑦 } ) ) ) |
23 |
20 22
|
bibi12d |
⊢ ( 𝐵 = { 𝑦 } → ( ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = ( 𝐴 × 𝐵 ) ) ↔ ( 𝐹 : 𝐴 ⟶ { 𝑦 } ↔ 𝐹 = ( 𝐴 × { 𝑦 } ) ) ) ) |
24 |
19 23
|
mpbiri |
⊢ ( 𝐵 = { 𝑦 } → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = ( 𝐴 × 𝐵 ) ) ) |
25 |
1
|
eqeq2i |
⊢ ( 𝐹 = 𝐺 ↔ 𝐹 = ( 𝐴 × 𝐵 ) ) |
26 |
24 25
|
bitr4di |
⊢ ( 𝐵 = { 𝑦 } → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = 𝐺 ) ) |
27 |
26
|
adantl |
⊢ ( ( 𝜑 ∧ 𝐵 = { 𝑦 } ) → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = 𝐺 ) ) |
28 |
27
|
exlimiv |
⊢ ( ∃ 𝑦 ( 𝜑 ∧ 𝐵 = { 𝑦 } ) → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = 𝐺 ) ) |
29 |
17 28
|
sylbir |
⊢ ( ( 𝜑 ∧ ∃ 𝑦 𝐵 = { 𝑦 } ) → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = 𝐺 ) ) |
30 |
|
mo0sn |
⊢ ( ∃* 𝑥 𝑥 ∈ 𝐵 ↔ ( 𝐵 = ∅ ∨ ∃ 𝑦 𝐵 = { 𝑦 } ) ) |
31 |
3 30
|
sylib |
⊢ ( 𝜑 → ( 𝐵 = ∅ ∨ ∃ 𝑦 𝐵 = { 𝑦 } ) ) |
32 |
16 29 31
|
mpjaodan |
⊢ ( 𝜑 → ( 𝐹 : 𝐴 ⟶ 𝐵 ↔ 𝐹 = 𝐺 ) ) |