Step |
Hyp |
Ref |
Expression |
1 |
|
eucalgval.1 |
⊢ 𝐸 = ( 𝑥 ∈ ℕ0 , 𝑦 ∈ ℕ0 ↦ if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) ) |
2 |
|
nnne0 |
⊢ ( 𝑦 ∈ ℕ → 𝑦 ≠ 0 ) |
3 |
2
|
adantl |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ ) → 𝑦 ≠ 0 ) |
4 |
3
|
neneqd |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ ) → ¬ 𝑦 = 0 ) |
5 |
4
|
iffalsed |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ ) → if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) = 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) |
6 |
|
nnnn0 |
⊢ ( 𝑦 ∈ ℕ → 𝑦 ∈ ℕ0 ) |
7 |
6
|
adantl |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ ) → 𝑦 ∈ ℕ0 ) |
8 |
|
nn0z |
⊢ ( 𝑥 ∈ ℕ0 → 𝑥 ∈ ℤ ) |
9 |
|
zmodcl |
⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) → ( 𝑥 mod 𝑦 ) ∈ ℕ0 ) |
10 |
8 9
|
sylan |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ ) → ( 𝑥 mod 𝑦 ) ∈ ℕ0 ) |
11 |
7 10
|
opelxpd |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ ) → 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ∈ ( ℕ0 × ℕ0 ) ) |
12 |
5 11
|
eqeltrd |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ ) → if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) ∈ ( ℕ0 × ℕ0 ) ) |
13 |
12
|
adantlr |
⊢ ( ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) ∧ 𝑦 ∈ ℕ ) → if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) ∈ ( ℕ0 × ℕ0 ) ) |
14 |
|
iftrue |
⊢ ( 𝑦 = 0 → if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) = 〈 𝑥 , 𝑦 〉 ) |
15 |
14
|
adantl |
⊢ ( ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) ∧ 𝑦 = 0 ) → if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) = 〈 𝑥 , 𝑦 〉 ) |
16 |
|
opelxpi |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) → 〈 𝑥 , 𝑦 〉 ∈ ( ℕ0 × ℕ0 ) ) |
17 |
16
|
adantr |
⊢ ( ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) ∧ 𝑦 = 0 ) → 〈 𝑥 , 𝑦 〉 ∈ ( ℕ0 × ℕ0 ) ) |
18 |
15 17
|
eqeltrd |
⊢ ( ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) ∧ 𝑦 = 0 ) → if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) ∈ ( ℕ0 × ℕ0 ) ) |
19 |
|
simpr |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) → 𝑦 ∈ ℕ0 ) |
20 |
|
elnn0 |
⊢ ( 𝑦 ∈ ℕ0 ↔ ( 𝑦 ∈ ℕ ∨ 𝑦 = 0 ) ) |
21 |
19 20
|
sylib |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) → ( 𝑦 ∈ ℕ ∨ 𝑦 = 0 ) ) |
22 |
13 18 21
|
mpjaodan |
⊢ ( ( 𝑥 ∈ ℕ0 ∧ 𝑦 ∈ ℕ0 ) → if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) ∈ ( ℕ0 × ℕ0 ) ) |
23 |
22
|
rgen2 |
⊢ ∀ 𝑥 ∈ ℕ0 ∀ 𝑦 ∈ ℕ0 if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) ∈ ( ℕ0 × ℕ0 ) |
24 |
1
|
fmpo |
⊢ ( ∀ 𝑥 ∈ ℕ0 ∀ 𝑦 ∈ ℕ0 if ( 𝑦 = 0 , 〈 𝑥 , 𝑦 〉 , 〈 𝑦 , ( 𝑥 mod 𝑦 ) 〉 ) ∈ ( ℕ0 × ℕ0 ) ↔ 𝐸 : ( ℕ0 × ℕ0 ) ⟶ ( ℕ0 × ℕ0 ) ) |
25 |
23 24
|
mpbi |
⊢ 𝐸 : ( ℕ0 × ℕ0 ) ⟶ ( ℕ0 × ℕ0 ) |