A constructive Coq library for the mechanisation of undecidability Yannick Forster and Dominique Larchey-Wendling MLA 2019 March 13 saarland university computer science Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 1
Decidability A problem P : X → P is decidable if . . . Classically Fix a model of computation M : there is a decider in M For the cbv λ -calculus ∃ u : T . ∀ x : X . ( ux ⊲ T ∧ Px ) ∨ ( ux ⊲ F ∧ ¬ Px ) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 2
Decidability A problem P : X → P is decidable if . . . Classically Fix a model of computation M : there is a decider in M For the cbv λ -calculus ∃ u : T . ∀ x : X . ( ux ⊲ T ∧ Px ) ∨ ( ux ⊲ F ∧ ¬ Px ) ∃ f : X → B . ∀ x : X . Px ↔ fx = true Type Theory Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 2
Decidability A problem P : X → P is decidable if . . . Classically Fix a model of computation M : there is a decider in M For the cbv λ -calculus ∃ u : T . ∀ x : X . ( ux ⊲ T ∧ Px ) ∨ ( ux ⊲ F ∧ ¬ Px ) ∃ f : X → B . ∀ x : X . Px ↔ fx = true Type Theory dependent version (Coq, Agda, Lean, . . . ) dec P := ∀ x : X . { P x } + {¬ P x } Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 2
Undecidability A problem P : X → P is undecidable if . . . Classically If there is no decider u in M Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 3
Undecidability A problem P : X → P is undecidable if . . . Classically If there is no decider u in M For the cbv λ -calculus ¬ ∃ u : T . ∀ x : X . ( ux ⊲ T ∧ Px ) ∨ ( ux ⊲ F ∧ ¬ Px ) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 3
Undecidability A problem P : X → P is undecidable if . . . Classically If there is no decider u in M For the cbv λ -calculus ¬ ∃ u : T . ∀ x : X . ( ux ⊲ T ∧ Px ) ∨ ( ux ⊲ F ∧ ¬ Px ) Type Theory ¬ ( ∀ x : X . { Px } + {¬ Px } ) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 3
Undecidability A problem P : X → P is undecidable if . . . Classically If there is no decider u in M For the cbv λ -calculus ¬ ∃ u : T . ∀ x : X . ( ux ⊲ T ∧ Px ) ∨ ( ux ⊲ F ∧ ¬ Px ) ✭✭✭✭✭✭✭✭✭✭✭ ✭ Type Theory ¬ ( ∀ x : X . { Px } + {¬ Px } ) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 3
Undecidability A problem P : X → P is undecidable if . . . Classically If there is no decider u in M For the cbv λ -calculus ¬ ∃ u : T . ∀ x : X . ( ux ⊲ T ∧ Px ) ∨ ( ux ⊲ F ∧ ¬ Px ) ✭✭✭✭✭✭✭✭✭✭✭ ✭ Type Theory ¬ ( ∀ x : X . { Px } + {¬ Px } ) In reality: most proofs are by reduction Definition (Synthetic undecidability) P undecidable := Halting problem reduces to P Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 3
The library https://github.com/uds-psl/coq-library-undecidability Halting problems ◮ Turing machines ◮ Minsky machines ◮ µ -recursive functions ◮ call-by-value lambda-calculus Post correspondence problem Provability in linear logic and first-order logic Solvability of Diophantine equations, including a formalisation of the DPRM theorem Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 4
Today 1 Overview over PCP and H10 as entry points 2 Exemplary undecidability proof for intuitionistic linear logic 3 Overview over the library and future work Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 5
Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 6
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA M Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA 19 i M LA Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA 19 i n M LA Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA 19 i n Na 19 in M LA Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA 19 i n Na n 19 in M LA Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA 19 i n Na n c 19 in M LA Nan Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA 19 i n Na n c y 19 in M LA Nan cy Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan MLA 19 i n Na n c y 19 in M LA Nan cy MLA 19 inNancy MLA 19 inNancy Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Symbols a , b , c : symbols of type X Strings x , y , z : lists of symbols Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan Card x / y : pairs of strings Card set R : finite set of cards MLA 19 i n Na n c y 19 in Stacks A : lists of cards M LA Nan cy MLA 19 inNancy MLA 19 inNancy Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP X Symbols a , b , c : symbols of type X Strings x , y , z : lists of symbols Na MLA y xuz 19 i n c 19 in M cy ofze LA Nan Card x / y : pairs of strings Card set R : finite set of cards MLA 19 i n Na n c y 19 in Stacks A : lists of cards M LA Nan cy MLA 19 inNancy MLA 19 inNancy [] 1 := ǫ [] 2 := ǫ ( x / y :: A ) 1 := x ( A 1 ) ( x / y :: A ) 2 := y ( A 2 ) PCP ( R ) := ∃ A ⊆ R . A � = [] ∧ A 1 = A 2 Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP � BPCP Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 7
PCP � BPCP PCP is PCP N BPCP is PCP B Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 8
PCP � BPCP PCP is PCP N BPCP is PCP B f : N ∗ → B ∗ f ( a 1 . . . a n : N ∗ ) := 1 a 1 0 . . . 1 a n 0 Lift f to cards, card sets and stack by pointwise application Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 8
PCP � BPCP PCP is PCP N BPCP is PCP B f : N ∗ → B ∗ f ( a 1 . . . a n : N ∗ ) := 1 a 1 0 . . . 1 a n 0 Lift f to cards, card sets and stack by pointwise application ↔ To prove: PCP R BPCP ( f R ) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 8
PCP � BPCP PCP is PCP N BPCP is PCP B f : N ∗ → B ∗ f ( a 1 . . . a n : N ∗ ) := 1 a 1 0 . . . 1 a n 0 Lift f to cards, card sets and stack by pointwise application ↔ To prove: PCP R BPCP ( f R ) Define inverse function g , easy Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 8
Hilbert’s tenth problem, constraints version c : constr ::= x ˙ = z | x ˙ + y ˙ × y ˙ = z | x ˙ = 1 [[ x ˙ + y ˙ = z ]] ρ := ρ x + ρ y = ρ z [[ x ˙ × y ˙ = z ]] ρ := ρ x · ρ y = ρ z [[ x ˙ = 1 ]] ρ := ρ x = 1 H10c ( L : L constr ) := ∃ ρ , ∀ c ∈ L , [[ c ]] ρ Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 9
Undecidability of Intuitionistic Linear Logic (CPP ’19) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 10
Undecidability of Intuitionistic Linear Logic (CPP ’19) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 10
Undecidability of Intuitionistic Linear Logic (CPP ’19) Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 10
Undecidability of Intuitionistic Linear Logic (CPP ’19) TM PCP BPCP BSM MM eILL ILL ITP 18 LICS 10 LICS 10 Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 10
Undecidability of Intuitionistic Linear Logic (CPP ’19) 1 2 3 4 5 TM PCP BPCP BSM MM eILL ILL ITP 18 LICS 10 LICS 10 Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 10
Low-level Code Y. Forster and D. Larchey-Wendling Coq library of undecidability MLA 2019 – Mar 13 10
Recommend
More recommend