| Step |
Hyp |
Ref |
Expression |
| 1 |
|
n0 |
⊢ ( 𝐵 ≠ ∅ ↔ ∃ 𝑦 𝑦 ∈ 𝐵 ) |
| 2 |
|
opelxp |
⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) ↔ ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) ) |
| 3 |
|
fvres |
⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) → ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) ‘ 〈 𝑥 , 𝑦 〉 ) = ( 1st ‘ 〈 𝑥 , 𝑦 〉 ) ) |
| 4 |
|
vex |
⊢ 𝑥 ∈ V |
| 5 |
|
vex |
⊢ 𝑦 ∈ V |
| 6 |
4 5
|
op1st |
⊢ ( 1st ‘ 〈 𝑥 , 𝑦 〉 ) = 𝑥 |
| 7 |
3 6
|
eqtr2di |
⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) → 𝑥 = ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) ‘ 〈 𝑥 , 𝑦 〉 ) ) |
| 8 |
|
f1stres |
⊢ ( 1st ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐴 |
| 9 |
|
ffn |
⊢ ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐴 → ( 1st ↾ ( 𝐴 × 𝐵 ) ) Fn ( 𝐴 × 𝐵 ) ) |
| 10 |
8 9
|
ax-mp |
⊢ ( 1st ↾ ( 𝐴 × 𝐵 ) ) Fn ( 𝐴 × 𝐵 ) |
| 11 |
|
fnfvelrn |
⊢ ( ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) Fn ( 𝐴 × 𝐵 ) ∧ 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) ) → ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) ‘ 〈 𝑥 , 𝑦 〉 ) ∈ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) |
| 12 |
10 11
|
mpan |
⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) → ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) ‘ 〈 𝑥 , 𝑦 〉 ) ∈ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) |
| 13 |
7 12
|
eqeltrd |
⊢ ( 〈 𝑥 , 𝑦 〉 ∈ ( 𝐴 × 𝐵 ) → 𝑥 ∈ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) |
| 14 |
2 13
|
sylbir |
⊢ ( ( 𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ) → 𝑥 ∈ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) |
| 15 |
14
|
expcom |
⊢ ( 𝑦 ∈ 𝐵 → ( 𝑥 ∈ 𝐴 → 𝑥 ∈ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) ) |
| 16 |
15
|
exlimiv |
⊢ ( ∃ 𝑦 𝑦 ∈ 𝐵 → ( 𝑥 ∈ 𝐴 → 𝑥 ∈ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) ) |
| 17 |
1 16
|
sylbi |
⊢ ( 𝐵 ≠ ∅ → ( 𝑥 ∈ 𝐴 → 𝑥 ∈ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) ) |
| 18 |
17
|
ssrdv |
⊢ ( 𝐵 ≠ ∅ → 𝐴 ⊆ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) |
| 19 |
|
frn |
⊢ ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐴 → ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐴 ) |
| 20 |
8 19
|
ax-mp |
⊢ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐴 |
| 21 |
18 20
|
jctil |
⊢ ( 𝐵 ≠ ∅ → ( ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐴 ∧ 𝐴 ⊆ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) ) |
| 22 |
|
eqss |
⊢ ( ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) = 𝐴 ↔ ( ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ⊆ 𝐴 ∧ 𝐴 ⊆ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) ) ) |
| 23 |
21 22
|
sylibr |
⊢ ( 𝐵 ≠ ∅ → ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) = 𝐴 ) |
| 24 |
23 8
|
jctil |
⊢ ( 𝐵 ≠ ∅ → ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐴 ∧ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) = 𝐴 ) ) |
| 25 |
|
dffo2 |
⊢ ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) –onto→ 𝐴 ↔ ( ( 1st ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) ⟶ 𝐴 ∧ ran ( 1st ↾ ( 𝐴 × 𝐵 ) ) = 𝐴 ) ) |
| 26 |
24 25
|
sylibr |
⊢ ( 𝐵 ≠ ∅ → ( 1st ↾ ( 𝐴 × 𝐵 ) ) : ( 𝐴 × 𝐵 ) –onto→ 𝐴 ) |