Metamath Proof Explorer


Theorem zesq

Description: An integer is even iff its square is even. (Contributed by Mario Carneiro, 12-Sep-2015)

Ref Expression
Assertion zesq ( 𝑁 ∈ ℤ → ( ( 𝑁 / 2 ) ∈ ℤ ↔ ( ( 𝑁 ↑ 2 ) / 2 ) ∈ ℤ ) )

Proof

Step Hyp Ref Expression
1 zcn ⊢ ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ )
2 sqval ⊢ ( 𝑁 ∈ ℂ → ( 𝑁 ↑ 2 ) = ( 𝑁 · 𝑁 ) )
3 1 2 syl ⊢ ( 𝑁 ∈ ℤ → ( 𝑁 ↑ 2 ) = ( 𝑁 · 𝑁 ) )
4 3 oveq1d ⊢ ( 𝑁 ∈ ℤ → ( ( 𝑁 ↑ 2 ) / 2 ) = ( ( 𝑁 · 𝑁 ) / 2 ) )
5 2cnd ⊢ ( 𝑁 ∈ ℤ → 2 ∈ ℂ )
6 2ne0 ⊢ 2 ≠ 0
7 6 a1i ⊢ ( 𝑁 ∈ ℤ → 2 ≠ 0 )
8 1 1 5 7 divassd ⊢ ( 𝑁 ∈ ℤ → ( ( 𝑁 · 𝑁 ) / 2 ) = ( 𝑁 · ( 𝑁 / 2 ) ) )
9 4 8 eqtrd ⊢ ( 𝑁 ∈ ℤ → ( ( 𝑁 ↑ 2 ) / 2 ) = ( 𝑁 · ( 𝑁 / 2 ) ) )
10 9 adantr ⊢ ( ( 𝑁 ∈ ℤ ∧ ( 𝑁 / 2 ) ∈ ℤ ) → ( ( 𝑁 ↑ 2 ) / 2 ) = ( 𝑁 · ( 𝑁 / 2 ) ) )
11 zmulcl ⊢ ( ( 𝑁 ∈ ℤ ∧ ( 𝑁 / 2 ) ∈ ℤ ) → ( 𝑁 · ( 𝑁 / 2 ) ) ∈ ℤ )
12 10 11 eqeltrd ⊢ ( ( 𝑁 ∈ ℤ ∧ ( 𝑁 / 2 ) ∈ ℤ ) → ( ( 𝑁 ↑ 2 ) / 2 ) ∈ ℤ )
13 1 adantr ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → 𝑁 ∈ ℂ )
14 sqcl ⊢ ( 𝑁 ∈ ℂ → ( 𝑁 ↑ 2 ) ∈ ℂ )
15 13 14 syl ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( 𝑁 ↑ 2 ) ∈ ℂ )
16 peano2cn ⊢ ( ( 𝑁 ↑ 2 ) ∈ ℂ → ( ( 𝑁 ↑ 2 ) + 1 ) ∈ ℂ )
17 15 16 syl ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 𝑁 ↑ 2 ) + 1 ) ∈ ℂ )
18 17 halfcld ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) ∈ ℂ )
19 18 13 pncand ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + 𝑁 ) − 𝑁 ) = ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) )
20 binom21 ⊢ ( 𝑁 ∈ ℂ → ( ( 𝑁 + 1 ) ↑ 2 ) = ( ( ( 𝑁 ↑ 2 ) + ( 2 · 𝑁 ) ) + 1 ) )
21 13 20 syl ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 𝑁 + 1 ) ↑ 2 ) = ( ( ( 𝑁 ↑ 2 ) + ( 2 · 𝑁 ) ) + 1 ) )
22 peano2cn ⊢ ( 𝑁 ∈ ℂ → ( 𝑁 + 1 ) ∈ ℂ )
23 13 22 syl ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( 𝑁 + 1 ) ∈ ℂ )
24 sqval ⊢ ( ( 𝑁 + 1 ) ∈ ℂ → ( ( 𝑁 + 1 ) ↑ 2 ) = ( ( 𝑁 + 1 ) · ( 𝑁 + 1 ) ) )
25 23 24 syl ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 𝑁 + 1 ) ↑ 2 ) = ( ( 𝑁 + 1 ) · ( 𝑁 + 1 ) ) )
26 2cn ⊢ 2 ∈ ℂ
27 mulcl ⊢ ( ( 2 ∈ ℂ ∧ 𝑁 ∈ ℂ ) → ( 2 · 𝑁 ) ∈ ℂ )
28 26 13 27 sylancr ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( 2 · 𝑁 ) ∈ ℂ )
29 1cnd ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → 1 ∈ ℂ )
30 15 28 29 add32d ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( 𝑁 ↑ 2 ) + ( 2 · 𝑁 ) ) + 1 ) = ( ( ( 𝑁 ↑ 2 ) + 1 ) + ( 2 · 𝑁 ) ) )
31 21 25 30 3eqtr3d ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 𝑁 + 1 ) · ( 𝑁 + 1 ) ) = ( ( ( 𝑁 ↑ 2 ) + 1 ) + ( 2 · 𝑁 ) ) )
32 31 oveq1d ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( 𝑁 + 1 ) · ( 𝑁 + 1 ) ) / 2 ) = ( ( ( ( 𝑁 ↑ 2 ) + 1 ) + ( 2 · 𝑁 ) ) / 2 ) )
33 2cnd ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → 2 ∈ ℂ )
34 6 a1i ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → 2 ≠ 0 )
35 23 23 33 34 divassd ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( 𝑁 + 1 ) · ( 𝑁 + 1 ) ) / 2 ) = ( ( 𝑁 + 1 ) · ( ( 𝑁 + 1 ) / 2 ) ) )
36 17 28 33 34 divdird ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( ( 𝑁 ↑ 2 ) + 1 ) + ( 2 · 𝑁 ) ) / 2 ) = ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + ( ( 2 · 𝑁 ) / 2 ) ) )
37 13 33 34 divcan3d ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 2 · 𝑁 ) / 2 ) = 𝑁 )
38 37 oveq2d ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + ( ( 2 · 𝑁 ) / 2 ) ) = ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + 𝑁 ) )
39 36 38 eqtrd ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( ( 𝑁 ↑ 2 ) + 1 ) + ( 2 · 𝑁 ) ) / 2 ) = ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + 𝑁 ) )
40 32 35 39 3eqtr3d ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 𝑁 + 1 ) · ( ( 𝑁 + 1 ) / 2 ) ) = ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + 𝑁 ) )
41 peano2z ⊢ ( 𝑁 ∈ ℤ → ( 𝑁 + 1 ) ∈ ℤ )
42 zmulcl ⊢ ( ( ( 𝑁 + 1 ) ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 𝑁 + 1 ) · ( ( 𝑁 + 1 ) / 2 ) ) ∈ ℤ )
43 41 42 sylan ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( 𝑁 + 1 ) · ( ( 𝑁 + 1 ) / 2 ) ) ∈ ℤ )
44 40 43 eqeltrrd ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + 𝑁 ) ∈ ℤ )
45 simpl ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → 𝑁 ∈ ℤ )
46 44 45 zsubcld ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) + 𝑁 ) − 𝑁 ) ∈ ℤ )
47 19 46 eqeltrrd ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) → ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) ∈ ℤ )
48 47 ex ⊢ ( 𝑁 ∈ ℤ → ( ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ → ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) ∈ ℤ ) )
49 48 con3d ⊢ ( 𝑁 ∈ ℤ → ( ¬ ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) ∈ ℤ → ¬ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) )
50 zsqcl ⊢ ( 𝑁 ∈ ℤ → ( 𝑁 ↑ 2 ) ∈ ℤ )
51 zeo2 ⊢ ( ( 𝑁 ↑ 2 ) ∈ ℤ → ( ( ( 𝑁 ↑ 2 ) / 2 ) ∈ ℤ ↔ ¬ ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) ∈ ℤ ) )
52 50 51 syl ⊢ ( 𝑁 ∈ ℤ → ( ( ( 𝑁 ↑ 2 ) / 2 ) ∈ ℤ ↔ ¬ ( ( ( 𝑁 ↑ 2 ) + 1 ) / 2 ) ∈ ℤ ) )
53 zeo2 ⊢ ( 𝑁 ∈ ℤ → ( ( 𝑁 / 2 ) ∈ ℤ ↔ ¬ ( ( 𝑁 + 1 ) / 2 ) ∈ ℤ ) )
54 49 52 53 3imtr4d ⊢ ( 𝑁 ∈ ℤ → ( ( ( 𝑁 ↑ 2 ) / 2 ) ∈ ℤ → ( 𝑁 / 2 ) ∈ ℤ ) )
55 54 imp ⊢ ( ( 𝑁 ∈ ℤ ∧ ( ( 𝑁 ↑ 2 ) / 2 ) ∈ ℤ ) → ( 𝑁 / 2 ) ∈ ℤ )
56 12 55 impbida ⊢ ( 𝑁 ∈ ℤ → ( ( 𝑁 / 2 ) ∈ ℤ ↔ ( ( 𝑁 ↑ 2 ) / 2 ) ∈ ℤ ) )