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