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 ) |