Step |
Hyp |
Ref |
Expression |
1 |
|
addsf |
⊢ +s : ( No × No ) ⟶ No |
2 |
|
0sno |
⊢ 0s ∈ No |
3 |
|
opelxpi |
⊢ ( ( 𝑧 ∈ No ∧ 0s ∈ No ) → 〈 𝑧 , 0s 〉 ∈ ( No × No ) ) |
4 |
2 3
|
mpan2 |
⊢ ( 𝑧 ∈ No → 〈 𝑧 , 0s 〉 ∈ ( No × No ) ) |
5 |
|
addsrid |
⊢ ( 𝑧 ∈ No → ( 𝑧 +s 0s ) = 𝑧 ) |
6 |
5
|
eqcomd |
⊢ ( 𝑧 ∈ No → 𝑧 = ( 𝑧 +s 0s ) ) |
7 |
|
fveq2 |
⊢ ( 𝑥 = 〈 𝑧 , 0s 〉 → ( +s ‘ 𝑥 ) = ( +s ‘ 〈 𝑧 , 0s 〉 ) ) |
8 |
|
df-ov |
⊢ ( 𝑧 +s 0s ) = ( +s ‘ 〈 𝑧 , 0s 〉 ) |
9 |
7 8
|
eqtr4di |
⊢ ( 𝑥 = 〈 𝑧 , 0s 〉 → ( +s ‘ 𝑥 ) = ( 𝑧 +s 0s ) ) |
10 |
9
|
rspceeqv |
⊢ ( ( 〈 𝑧 , 0s 〉 ∈ ( No × No ) ∧ 𝑧 = ( 𝑧 +s 0s ) ) → ∃ 𝑥 ∈ ( No × No ) 𝑧 = ( +s ‘ 𝑥 ) ) |
11 |
4 6 10
|
syl2anc |
⊢ ( 𝑧 ∈ No → ∃ 𝑥 ∈ ( No × No ) 𝑧 = ( +s ‘ 𝑥 ) ) |
12 |
11
|
rgen |
⊢ ∀ 𝑧 ∈ No ∃ 𝑥 ∈ ( No × No ) 𝑧 = ( +s ‘ 𝑥 ) |
13 |
|
dffo3 |
⊢ ( +s : ( No × No ) –onto→ No ↔ ( +s : ( No × No ) ⟶ No ∧ ∀ 𝑧 ∈ No ∃ 𝑥 ∈ ( No × No ) 𝑧 = ( +s ‘ 𝑥 ) ) ) |
14 |
1 12 13
|
mpbir2an |
⊢ +s : ( No × No ) –onto→ No |