Metamath Proof Explorer


Theorem expeqidd

Description: A nonnegative real number is zero or one if and only if it is itself when raised to an integer greater than one. (Contributed by SN, 3-Jul-2025)

Ref Expression
Hypotheses expeqidd.a ( 𝜑𝐴 ∈ ℝ )
expeqidd.n ( 𝜑𝑁 ∈ ( ℤ ‘ 2 ) )
expeqidd.0 ( 𝜑 → 0 ≤ 𝐴 )
Assertion expeqidd ( 𝜑 → ( ( 𝐴𝑁 ) = 𝐴 ↔ ( 𝐴 = 0 ∨ 𝐴 = 1 ) ) )

Proof

Step Hyp Ref Expression
1 expeqidd.a ( 𝜑𝐴 ∈ ℝ )
2 expeqidd.n ( 𝜑𝑁 ∈ ( ℤ ‘ 2 ) )
3 expeqidd.0 ( 𝜑 → 0 ≤ 𝐴 )
4 df-ne ( 𝐴 ≠ 0 ↔ ¬ 𝐴 = 0 )
5 1 recnd ( 𝜑𝐴 ∈ ℂ )
6 5 ad2antrr ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → 𝐴 ∈ ℂ )
7 simplr ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → 𝐴 ≠ 0 )
8 eluz2nn ( 𝑁 ∈ ( ℤ ‘ 2 ) → 𝑁 ∈ ℕ )
9 2 8 syl ( 𝜑𝑁 ∈ ℕ )
10 9 nnzd ( 𝜑𝑁 ∈ ℤ )
11 10 ad2antrr ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → 𝑁 ∈ ℤ )
12 6 7 11 expm1d ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( 𝐴 ↑ ( 𝑁 − 1 ) ) = ( ( 𝐴𝑁 ) / 𝐴 ) )
13 simpr ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( 𝐴𝑁 ) = 𝐴 )
14 13 oveq1d ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( ( 𝐴𝑁 ) / 𝐴 ) = ( 𝐴 / 𝐴 ) )
15 6 7 dividd ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( 𝐴 / 𝐴 ) = 1 )
16 12 14 15 3eqtrd ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( 𝐴 ↑ ( 𝑁 − 1 ) ) = 1 )
17 1 adantr ( ( 𝜑𝐴 ≠ 0 ) → 𝐴 ∈ ℝ )
18 uz2m1nn ( 𝑁 ∈ ( ℤ ‘ 2 ) → ( 𝑁 − 1 ) ∈ ℕ )
19 2 18 syl ( 𝜑 → ( 𝑁 − 1 ) ∈ ℕ )
20 19 adantr ( ( 𝜑𝐴 ≠ 0 ) → ( 𝑁 − 1 ) ∈ ℕ )
21 3 adantr ( ( 𝜑𝐴 ≠ 0 ) → 0 ≤ 𝐴 )
22 17 20 21 expeq1d ( ( 𝜑𝐴 ≠ 0 ) → ( ( 𝐴 ↑ ( 𝑁 − 1 ) ) = 1 ↔ 𝐴 = 1 ) )
23 22 biimpa ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴 ↑ ( 𝑁 − 1 ) ) = 1 ) → 𝐴 = 1 )
24 16 23 syldan ( ( ( 𝜑𝐴 ≠ 0 ) ∧ ( 𝐴𝑁 ) = 𝐴 ) → 𝐴 = 1 )
25 24 an32s ( ( ( 𝜑 ∧ ( 𝐴𝑁 ) = 𝐴 ) ∧ 𝐴 ≠ 0 ) → 𝐴 = 1 )
26 25 ex ( ( 𝜑 ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( 𝐴 ≠ 0 → 𝐴 = 1 ) )
27 4 26 biimtrrid ( ( 𝜑 ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( ¬ 𝐴 = 0 → 𝐴 = 1 ) )
28 27 orrd ( ( 𝜑 ∧ ( 𝐴𝑁 ) = 𝐴 ) → ( 𝐴 = 0 ∨ 𝐴 = 1 ) )
29 28 ex ( 𝜑 → ( ( 𝐴𝑁 ) = 𝐴 → ( 𝐴 = 0 ∨ 𝐴 = 1 ) ) )
30 9 0expd ( 𝜑 → ( 0 ↑ 𝑁 ) = 0 )
31 oveq1 ( 𝐴 = 0 → ( 𝐴𝑁 ) = ( 0 ↑ 𝑁 ) )
32 id ( 𝐴 = 0 → 𝐴 = 0 )
33 31 32 eqeq12d ( 𝐴 = 0 → ( ( 𝐴𝑁 ) = 𝐴 ↔ ( 0 ↑ 𝑁 ) = 0 ) )
34 30 33 syl5ibrcom ( 𝜑 → ( 𝐴 = 0 → ( 𝐴𝑁 ) = 𝐴 ) )
35 1exp ( 𝑁 ∈ ℤ → ( 1 ↑ 𝑁 ) = 1 )
36 10 35 syl ( 𝜑 → ( 1 ↑ 𝑁 ) = 1 )
37 oveq1 ( 𝐴 = 1 → ( 𝐴𝑁 ) = ( 1 ↑ 𝑁 ) )
38 id ( 𝐴 = 1 → 𝐴 = 1 )
39 37 38 eqeq12d ( 𝐴 = 1 → ( ( 𝐴𝑁 ) = 𝐴 ↔ ( 1 ↑ 𝑁 ) = 1 ) )
40 36 39 syl5ibrcom ( 𝜑 → ( 𝐴 = 1 → ( 𝐴𝑁 ) = 𝐴 ) )
41 34 40 jaod ( 𝜑 → ( ( 𝐴 = 0 ∨ 𝐴 = 1 ) → ( 𝐴𝑁 ) = 𝐴 ) )
42 29 41 impbid ( 𝜑 → ( ( 𝐴𝑁 ) = 𝐴 ↔ ( 𝐴 = 0 ∨ 𝐴 = 1 ) ) )