norm_num
extension for Irrational
#
This module defines a norm_num
extension for Irrational x ^ y
for rational x
and y
. It also
supports Irrational √x
expressions.
Implementation details #
To prove that (a / b) ^ (p / q)
is irrational, we reduce the problem to showing that (a / b) ^ p
is not a q
-th power of any rational number. This, in turn, reduces to proving that either a
or
b
is not a q
-th power of a natural number, assuming p
and q
are coprime.
To show that a given n : ℕ
is not a q
-th power, we find a natural number k
such that k ^ q < n < (k + 1) ^ q
, using binary search.
TODO #
Disprove Irrational x
for rational x
.
Finds NotPowerCertificate
showing that m
is not n
-power.
Equations
- One or more equations did not get rendered due to their size.
Instances For
norm_num
extension that proves Irrational x ^ y
for rational y
. x
may be
natural or rational.
Instances For
norm_num
extension that proves Irrational √x
for rational x
.