(**************************************************************)
(*   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 *)
From Undecidability.Shared.Libs.DLW
From Undecidability.Synthetic Require Import Undecidability.
From Undecidability.MinskyMachines
From Undecidability.FRACTRAN
From Undecidability.H10
From Undecidability.H10.Dio
Set Implicit Arguments.
Check FRACTRAN_undec.
(* DLW: Below is a prefered identical statement with a nice notation tactic proposed by M. Wuttke  Theorem Hilberts_Tenth : HaltTM 1 ⪯ PCPb /\ PCPb ⪯ 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. *)
(* reduction chain as described in Dominique Larchey-Wendling, Yannick Forster: Hilbert's Tenth Problem in Coq. FSCD 2019: 27:1-27:20 *)

Theorem Hilberts_Tenth :
⎩ HaltTM 1 ⪯ₘ PCPb ⪯ₘ MM_HALTING ⪯ₘ FRACTRAN_HALTING ⪯ₘ DIO_LOGIC_SAT ⪯ₘ DIO_ELEM_SAT ⪯ₘ DIO_SINGLE_SAT ⪯ₘ H10 ⎭.