| Step |
Hyp |
Ref |
Expression |
| 1 |
|
xp1st |
⊢ ( 𝑥 ∈ ( N × N ) → ( 1st ‘ 𝑥 ) ∈ N ) |
| 2 |
|
xp2nd |
⊢ ( 𝑦 ∈ ( N × N ) → ( 2nd ‘ 𝑦 ) ∈ N ) |
| 3 |
|
mulclpi |
⊢ ( ( ( 1st ‘ 𝑥 ) ∈ N ∧ ( 2nd ‘ 𝑦 ) ∈ N ) → ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) ∈ N ) |
| 4 |
1 2 3
|
syl2an |
⊢ ( ( 𝑥 ∈ ( N × N ) ∧ 𝑦 ∈ ( N × N ) ) → ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) ∈ N ) |
| 5 |
|
xp1st |
⊢ ( 𝑦 ∈ ( N × N ) → ( 1st ‘ 𝑦 ) ∈ N ) |
| 6 |
|
xp2nd |
⊢ ( 𝑥 ∈ ( N × N ) → ( 2nd ‘ 𝑥 ) ∈ N ) |
| 7 |
|
mulclpi |
⊢ ( ( ( 1st ‘ 𝑦 ) ∈ N ∧ ( 2nd ‘ 𝑥 ) ∈ N ) → ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ∈ N ) |
| 8 |
5 6 7
|
syl2anr |
⊢ ( ( 𝑥 ∈ ( N × N ) ∧ 𝑦 ∈ ( N × N ) ) → ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ∈ N ) |
| 9 |
|
addclpi |
⊢ ( ( ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) ∈ N ∧ ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ∈ N ) → ( ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) +N ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ) ∈ N ) |
| 10 |
4 8 9
|
syl2anc |
⊢ ( ( 𝑥 ∈ ( N × N ) ∧ 𝑦 ∈ ( N × N ) ) → ( ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) +N ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ) ∈ N ) |
| 11 |
|
mulclpi |
⊢ ( ( ( 2nd ‘ 𝑥 ) ∈ N ∧ ( 2nd ‘ 𝑦 ) ∈ N ) → ( ( 2nd ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) ∈ N ) |
| 12 |
6 2 11
|
syl2an |
⊢ ( ( 𝑥 ∈ ( N × N ) ∧ 𝑦 ∈ ( N × N ) ) → ( ( 2nd ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) ∈ N ) |
| 13 |
10 12
|
opelxpd |
⊢ ( ( 𝑥 ∈ ( N × N ) ∧ 𝑦 ∈ ( N × N ) ) → 〈 ( ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) +N ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ) , ( ( 2nd ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) 〉 ∈ ( N × N ) ) |
| 14 |
13
|
rgen2 |
⊢ ∀ 𝑥 ∈ ( N × N ) ∀ 𝑦 ∈ ( N × N ) 〈 ( ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) +N ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ) , ( ( 2nd ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) 〉 ∈ ( N × N ) |
| 15 |
|
df-plpq |
⊢ +pQ = ( 𝑥 ∈ ( N × N ) , 𝑦 ∈ ( N × N ) ↦ 〈 ( ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) +N ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ) , ( ( 2nd ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) 〉 ) |
| 16 |
15
|
fmpo |
⊢ ( ∀ 𝑥 ∈ ( N × N ) ∀ 𝑦 ∈ ( N × N ) 〈 ( ( ( 1st ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) +N ( ( 1st ‘ 𝑦 ) ·N ( 2nd ‘ 𝑥 ) ) ) , ( ( 2nd ‘ 𝑥 ) ·N ( 2nd ‘ 𝑦 ) ) 〉 ∈ ( N × N ) ↔ +pQ : ( ( N × N ) × ( N × N ) ) ⟶ ( N × N ) ) |
| 17 |
14 16
|
mpbi |
⊢ +pQ : ( ( N × N ) × ( N × N ) ) ⟶ ( N × N ) |