Pell's equation and Matiyasevic's theorem #
This file solves Pell's equation, i.e. integer solutions to x ^ 2 - d * y ^ 2 = 1
in the special case that d = a ^ 2 - 1
.
This is then applied to prove Matiyasevic's theorem that the power
function is Diophantine, which is the last key ingredient in the solution to Hilbert's tenth
problem. For the definition of Diophantine function, see NumberTheory.Dioph
.
For results on Pell's equation for arbitrary (positive, non-square) d
, see
NumberTheory.Pell
.
Main definition #
pell
is a function assigning to a natural numbern
then
-th solution to Pell's equation constructed recursively from the initial solution(0, 1)
.
Main statements #
eq_pell
shows that every solution to Pell's equation is recursively obtained usingpell
matiyasevic
shows that a certain system of Diophantine equations has a solution if and only if the first variable is thex
-component in a solution to Pell's equation - the key step towards Hilbert's tenth problem in Davis' version of Matiyasevic's theorem.eq_pow_of_pell
shows that the power function is Diophantine.
Implementation notes #
The proof of Matiyasevic's theorem doesn't follow Matiyasevic's original account of using Fibonacci numbers but instead Davis' variant of using solutions to Pell's equation.
References #
- [M. Carneiro, A Lean formalization of Matiyasevič's theorem][carneiro2018matiyasevic]
- [M. Davis, Hilbert's tenth problem is unsolvable][MR317916]
Tags #
Pell's equation, Matiyasevic's theorem, Hilbert's tenth problem
The Pell sequences, i.e. the sequence of integer solutions to x ^ 2 - d * y ^ 2 = 1
, where
d = a ^ 2 - 1
, defined together in mutual recursion.
Equations
Instances For
Equations
- (_ : Zsqrtd.Nonsquare (Pell.d a1)) = (_ : Zsqrtd.Nonsquare (Pell.d a1))