(**************************************************************)
(*   Copyright Dominique Larchey-Wendling [*]                 *)
(*                                                            *)
(*                             [*] Affiliation LORIA -- CNRS  *)
(**************************************************************)
(*      This file is distributed under the terms of the       *)
(*         CeCILL v2 FREE SOFTWARE LICENSE AGREEMENT          *)
(**************************************************************)
(** ** Hilbert's tenth problem is undecidable *)
Set Implicit Arguments.
(** Hilbert's Tenth problem: given a diophantine equation with n variable and no parameters, does it have a solution *)
Definition H10_PROBLEM := { n : nat & dio_polynomial (pos n) Empty_set
* dio_polynomial (pos n) Empty_set }%type.
Definition H10 : H10_PROBLEM -> Prop.
End DIO_SINGLE_SAT_H10.

(* Specifications: *)
Theorem Fractran_UNDEC : Halt ⪯ FRACTRAN_HALTING.
Theorem Hilberts_Tenth : Halt ⪯ PCP
/\ PCP ⪯ MM_HALTING
/\ MM_HALTING ⪯ FRACTRAN_HALTING
/\ FRACTRAN_HALTING ⪯ DIO_LOGIC_SAT
/\ DIO_LOGIC_SAT ⪯ DIO_ELEM_SAT
/\ DIO_ELEM_SAT ⪯ DIO_SINGLE_SAT
/\ DIO_SINGLE_SAT ⪯ H10.
Theorem H10_undec : Halt ⪯ H10.
Check H10_undec.