deniskuperberg laurelinepinault damienpous · 3/19 curry-howardcorrespondence...
TRANSCRIPT
![Page 1: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/1.jpg)
1/19
Computational content of circular proof systems.
Denis Kuperberg Laureline Pinault Damien Pous
LIP, ENS Lyon
Warsaw Automata SeminarWednesday 13th May 2020
![Page 2: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/2.jpg)
2/19
1 Context
2 Computing languages
3 Computing functions
![Page 3: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/3.jpg)
3/19
Curry-Howard correspondence
Proof of formula ϕ ↔ Program of type ϕ
Example: The identity program is a proof of p→ p.
A B
Cimplies
Deduction Rule
Correspondence well-understood for usual proof systems
[Curry,Howard] Intuitionistic logic ↔ Typed λ-calculus[...] . . . ↔ . . .
This work: Study the computational content of cyclic proofs.
![Page 4: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/4.jpg)
3/19
Curry-Howard correspondence
Proof of formula ϕ ↔ Program of type ϕ
Example: The identity program is a proof of p→ p.
A B
Cimplies
Deduction Rule
Correspondence well-understood for usual proof systems
[Curry,Howard] Intuitionistic logic ↔ Typed λ-calculus[...] . . . ↔ . . .
This work: Study the computational content of cyclic proofs.
![Page 5: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/5.jpg)
3/19
Curry-Howard correspondence
Proof of formula ϕ ↔ Program of type ϕ
Example: The identity program is a proof of p→ p.
A B
Cimplies
Deduction Rule
calls
Program instruction
Correspondence well-understood for usual proof systems
[Curry,Howard] Intuitionistic logic ↔ Typed λ-calculus[...] . . . ↔ . . .
This work: Study the computational content of cyclic proofs.
![Page 6: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/6.jpg)
3/19
Curry-Howard correspondence
Proof of formula ϕ ↔ Program of type ϕ
Example: The identity program is a proof of p→ p.
A B
Cimplies
Deduction Rule
calls
Program instruction
Correspondence well-understood for usual proof systems
[Curry,Howard] Intuitionistic logic ↔ Typed λ-calculus[...] . . . ↔ . . .
This work: Study the computational content of cyclic proofs.
![Page 7: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/7.jpg)
3/19
Curry-Howard correspondence
Proof of formula ϕ ↔ Program of type ϕ
Example: The identity program is a proof of p→ p.
A B
Cimplies
Deduction Rule
calls
Program instruction
Correspondence well-understood for usual proof systems
[Curry,Howard] Intuitionistic logic ↔ Typed λ-calculus[...] . . . ↔ . . .
This work: Study the computational content of cyclic proofs.
![Page 8: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/8.jpg)
4/19
Cyclic Proofs
Usual proofs:
Axiom1
Axiom2
A
B
Axiom3
C
D
Cyclic Proofs:
AxiomA
A
B
D
C
D
Validity conditions: Cycles must contain particular rules.
As programs: recursive calls must be done on smaller arguments.→ guarantees termination.
![Page 9: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/9.jpg)
4/19
Cyclic Proofs
Usual proofs:
Axiom1
Axiom2
A
B
Axiom3
C
D
Cyclic Proofs:
AxiomA
A
B
D
C
D
Validity conditions: Cycles must contain particular rules.
As programs: recursive calls must be done on smaller arguments.→ guarantees termination.
![Page 10: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/10.jpg)
4/19
Cyclic Proofs
Usual proofs:
Axiom1
Axiom2
A
B
Axiom3
C
D
Cyclic Proofs:
AxiomA
A
B
D
C
D
Validity conditions: Cycles must contain particular rules.
As programs: recursive calls must be done on smaller arguments.→ guarantees termination.
![Page 11: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/11.jpg)
4/19
Cyclic Proofs
Usual proofs:
Axiom1
Axiom2
A
B
Axiom3
C
D
Cyclic Proofs:
AxiomA
A
B
D
C
D
Validity conditions: Cycles must contain particular rules.
As programs: recursive calls must be done on smaller arguments.
→ guarantees termination.
![Page 12: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/12.jpg)
4/19
Cyclic Proofs
Usual proofs:
Axiom1
Axiom2
A
B
Axiom3
C
D
Cyclic Proofs:
AxiomA
A
B
D
C
D
Validity conditions: Cycles must contain particular rules.
As programs: recursive calls must be done on smaller arguments.→ guarantees termination.
![Page 13: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/13.jpg)
5/19
A proof system for regular expressionsExample: [Das, Pous ’17]Cyclic proof system for inclusion of regular expressions:
(Ax)ε ⊆ ε
(*-right1)ε ⊆ a∗
(Ax)a ⊆ a a∗ ⊆ a∗
(*-right2)a, a∗ ⊆ a∗
(*-left)a∗ ⊆ a∗
Soundness and completeness [Das, Pous ’17]
L(e) ⊆ L(f)⇔ ∃ proof of e ⊆ f .
Here, we care about computational content.This example: program whose type is a∗ → a∗:
let rec f l = match l with|[] -> []|a::q -> a::(f q)
![Page 14: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/14.jpg)
5/19
A proof system for regular expressionsExample: [Das, Pous ’17]Cyclic proof system for inclusion of regular expressions:
(Ax)ε ⊆ ε
(*-right1)ε ⊆ a∗
(Ax)a ⊆ a a∗ ⊆ a∗
(*-right2)a, a∗ ⊆ a∗
(*-left)a∗ ⊆ a∗
Soundness and completeness [Das, Pous ’17]
L(e) ⊆ L(f)⇔ ∃ proof of e ⊆ f .
Here, we care about computational content.This example: program whose type is a∗ → a∗:
let rec f l = match l with|[] -> []|a::q -> a::(f q)
![Page 15: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/15.jpg)
5/19
A proof system for regular expressionsExample: [Das, Pous ’17]Cyclic proof system for inclusion of regular expressions:
(Ax)ε ⊆ ε
(*-right1)ε ⊆ a∗
(Ax)a ⊆ a a∗ ⊆ a∗
(*-right2)a, a∗ ⊆ a∗
(*-left)a∗ ⊆ a∗
Soundness and completeness [Das, Pous ’17]
L(e) ⊆ L(f)⇔ ∃ proof of e ⊆ f .
Here, we care about computational content.This example: program whose type is a∗ → a∗:
let rec f l = match l with|[] -> []|a::q -> a::(f q)
![Page 16: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/16.jpg)
6/19
1 Context
2 Computing languages
3 Computing functions
![Page 17: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/17.jpg)
7/19
Computing languagesGoal: Avoid transductions, start with languages.I Regular expressions e, f := a ∈ A | e.f | e+ f | e∗
I Boolean type bool (encoded by ε+ ε)
Proof of A∗ ` bool ⇔ Program of type A∗ → bool⇔ Language L ⊆ A∗.
Structural rules: basic data manipulation (erase, copy).
On the proof side: reuse or ignore hypotheses (cf linear logic)
![Page 18: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/18.jpg)
7/19
Computing languagesGoal: Avoid transductions, start with languages.I Regular expressions e, f := a ∈ A | e.f | e+ f | e∗
I Boolean type bool (encoded by ε+ ε)
Proof of A∗ ` bool ⇔ Program of type A∗ → bool⇔ Language L ⊆ A∗.
Structural rules: basic data manipulation (erase, copy).
On the proof side: reuse or ignore hypotheses (cf linear logic)
![Page 19: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/19.jpg)
7/19
Computing languagesGoal: Avoid transductions, start with languages.I Regular expressions e, f := a ∈ A | e.f | e+ f | e∗
I Boolean type bool (encoded by ε+ ε)
Proof of A∗ ` bool ⇔ Program of type A∗ → bool⇔ Language L ⊆ A∗.
Structural rules: basic data manipulation (erase, copy).
On the proof side: reuse or ignore hypotheses (cf linear logic)
![Page 20: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/20.jpg)
8/19
Simplified proof system
Expressions e := A | A∗
Lists E,F = e1, e2, . . . , en interpreted as tuples
Proof system:Return true or false
(true)` bool
(false)` bool
Pattern matchings(E,F ` bool)a∈A
(A)E,A, F ` bool
E,F ` bool E,A,A∗, F ` bool(∗)
E,A∗, F ` boolErase, copy
E,F ` bool(weakening)
E, e, F ` boolE, e, e, F ` bool
(contraction)E, e, F ` bool
![Page 21: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/21.jpg)
9/19
Proofs as language acceptors
What are the languages computed by cyclic proofs ?
Example on alphabet {a, b}: The language b∗
(true)` bool
(false)` bool
(wkn)(A∗ ` bool)a (A∗ ` bool)b
(A)A,A∗ ` bool
(∗)A∗ ` bool
No contraction rule: Affine system.
LemmaThe affine system captures exactly regular languages.
![Page 22: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/22.jpg)
9/19
Proofs as language acceptors
What are the languages computed by cyclic proofs ?
Example on alphabet {a, b}: The language b∗
(true)` bool
(false)` bool
(wkn)(A∗ ` bool)a (A∗ ` bool)b
(A)A,A∗ ` bool
(∗)A∗ ` bool
No contraction rule: Affine system.
LemmaThe affine system captures exactly regular languages.
![Page 23: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/23.jpg)
9/19
Proofs as language acceptors
What are the languages computed by cyclic proofs ?
Example on alphabet {a, b}: The language b∗
(true)` bool
(false)` bool
(wkn)(A∗ ` bool)a (A∗ ` bool)b
(A)A,A∗ ` bool
(∗)A∗ ` bool
No contraction rule: Affine system.
LemmaThe affine system captures exactly regular languages.
![Page 24: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/24.jpg)
10/19
With contractions: what class of language?
Example on alphabet {a, b}: Language {anbn | n ∈ N}.Intuition:I Copy the input u1 into u2: aaabbb aaabbbb
I Erase leading a’s in u2: aaabbb bbb
I Match each leading a in u1 to a leading b in u2: bbb ε
I When u2 becomes empty, verify that u1 ∈ b∗.
We can also recognize anbncn with the same technique.
TheoremThe proof system recognizes exactly languages in Logspace.
Proof technique: Design an equivalent automaton model.
![Page 25: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/25.jpg)
10/19
With contractions: what class of language?
Example on alphabet {a, b}: Language {anbn | n ∈ N}.Intuition:I Copy the input u1 into u2: aaabbb aaabbbb
I Erase leading a’s in u2: aaabbb bbb
I Match each leading a in u1 to a leading b in u2: bbb ε
I When u2 becomes empty, verify that u1 ∈ b∗.
We can also recognize anbncn with the same technique.
TheoremThe proof system recognizes exactly languages in Logspace.
Proof technique: Design an equivalent automaton model.
![Page 26: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/26.jpg)
10/19
With contractions: what class of language?
Example on alphabet {a, b}: Language {anbn | n ∈ N}.Intuition:I Copy the input u1 into u2: aaabbb aaabbbb
I Erase leading a’s in u2: aaabbb bbb
I Match each leading a in u1 to a leading b in u2: bbb ε
I When u2 becomes empty, verify that u1 ∈ b∗.
We can also recognize anbncn with the same technique.
TheoremThe proof system recognizes exactly languages in Logspace.
Proof technique: Design an equivalent automaton model.
![Page 27: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/27.jpg)
11/19
A new automaton modelJumping Multihead Automata
A JMA is an automaton with k reading heads.
Transitions: Q× (A ∪ {/})k → Q× {�,�, J1, . . . , Jk}k
a a b a a b b a /
q
12 3
I � : advance one stepI �: stay in placeI Ji: jump to the position of head i
(optional: Syntactic criterion guaranteeing halting)
![Page 28: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/28.jpg)
11/19
A new automaton modelJumping Multihead Automata
A JMA is an automaton with k reading heads.
Transitions: Q× (A ∪ {/})k → Q× {�,�, J1, . . . , Jk}k
a a b a a b b a /
q
12 3
I � : advance one stepI �: stay in placeI Ji: jump to the position of head i
(optional: Syntactic criterion guaranteeing halting)
![Page 29: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/29.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 30: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/30.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 31: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/31.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 32: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/32.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 33: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/33.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 34: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/34.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 35: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/35.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 36: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/36.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 37: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/37.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 38: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/38.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 39: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/39.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 40: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/40.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 41: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/41.jpg)
12/19
Example of JMA
Example: {a2n | n ∈ N} is accepted by a 2-head JMA.
q0 q1 q2
qrej
qacc
(a, /), �, J1
(a, a), �, �
(a, a), �, �
(a, /), �, �
(/, /), �, �
(a, /), �, �
a a a a a a a a /
ACCEPT
TheoremCyclic proofs and JMA recognize the same class of languages.
![Page 42: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/42.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
c c /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 43: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/43.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
c c /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 44: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/44.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 45: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/45.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 46: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/46.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 47: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/47.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 48: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/48.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 49: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/49.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 50: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/50.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 51: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/51.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 52: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/52.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 53: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/53.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 54: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/54.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 55: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/55.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 56: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/56.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 57: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/57.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 58: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/58.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 59: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/59.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 60: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/60.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 61: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/61.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 62: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/62.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 63: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/63.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 64: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/64.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 65: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/65.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 66: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/66.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 67: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/67.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 68: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/68.jpg)
13/19
Expressive power of JMAsJMAs ⊆ Logspace easy: remember the location of the k heads.
2MAs: 2-way Multihead Automata [Holzer, Kutrib, Malcher ’08]:I No jump, but heads can move left or right.I Characterizes Logspace.
TheoremAny 2MA can be simulated by a JMA
Difficulty: simulate a left move of some head.
Example: Palindroms = {u ∈ Σ∗ | u = uR} is accepted by a JMA.
a a b c c b a a /.
Generalization of this idea ⇒ Translation from 2MA to JMA.
![Page 69: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/69.jpg)
14/19
1 Context
2 Computing languages
3 Computing functions
![Page 70: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/70.jpg)
15/19
Cut rule and integer functionsThe cut rule:
E ` e e, F ` gE, F ` g
I Corresponds to composition of programs.I Fundamental in proof theory.I Computation ↔ cut elimination process.
We can now consider transductions: A∗ → B∗.Focus on functions: Nk → N (unary alphabet).
Expressions (simplified): e, f := 1 | e · f | e+ f | e∗ | e→ f .
Sequents: (1∗)k ` 1∗: functions Nk → N.
Which functions Nk → N can the system with cuts compute ?
![Page 71: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/71.jpg)
15/19
Cut rule and integer functionsThe cut rule:
E ` e e, F ` gE, F ` g
I Corresponds to composition of programs.I Fundamental in proof theory.I Computation ↔ cut elimination process.
We can now consider transductions: A∗ → B∗.Focus on functions: Nk → N (unary alphabet).
Expressions (simplified): e, f := 1 | e · f | e+ f | e∗ | e→ f .
Sequents: (1∗)k ` 1∗: functions Nk → N.
Which functions Nk → N can the system with cuts compute ?
![Page 72: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/72.jpg)
15/19
Cut rule and integer functionsThe cut rule:
E ` e e, F ` gE, F ` g
I Corresponds to composition of programs.I Fundamental in proof theory.I Computation ↔ cut elimination process.
We can now consider transductions: A∗ → B∗.Focus on functions: Nk → N (unary alphabet).
Expressions (simplified): e, f := 1 | e · f | e+ f | e∗ | e→ f .
Sequents: (1∗)k ` 1∗: functions Nk → N.
Which functions Nk → N can the system with cuts compute ?
![Page 73: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/73.jpg)
15/19
Cut rule and integer functionsThe cut rule:
E ` e e, F ` gE, F ` g
I Corresponds to composition of programs.I Fundamental in proof theory.I Computation ↔ cut elimination process.
We can now consider transductions: A∗ → B∗.Focus on functions: Nk → N (unary alphabet).
Expressions (simplified): e, f := 1 | e · f | e+ f | e∗ | e→ f .
Sequents: (1∗)k ` 1∗: functions Nk → N.
Which functions Nk → N can the system with cuts compute ?
![Page 74: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/74.jpg)
16/19
System TAs automata before, we want a computational framework tocharacterize the expressive power of our cyclic proof system.
System T:I λ-calculus with explicit integer type,I Explicit recursion operator on integers,I Type system, typing derivations are finite trees.
System T terms:
M,N ::= x | 0 | s(M) | λx.M |MN | Rec(N,M0,Ms(x, y))(+constructors/destructors for pairs, lists)
Rec(N,M0,Ms) returns{M0 if N = 0Ms(N,Rec(n,M0,Ms)) if N = s(n)
Example: Addition a+ b: λab.Rec(b, a, s(y))
![Page 75: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/75.jpg)
16/19
System TAs automata before, we want a computational framework tocharacterize the expressive power of our cyclic proof system.
System T:I λ-calculus with explicit integer type,I Explicit recursion operator on integers,I Type system, typing derivations are finite trees.
System T terms:
M,N ::= x | 0 | s(M) | λx.M |MN | Rec(N,M0,Ms(x, y))(+constructors/destructors for pairs, lists)
Rec(N,M0,Ms) returns{M0 if N = 0Ms(N,Rec(n,M0,Ms)) if N = s(n)
Example: Addition a+ b: λab.Rec(b, a, s(y))
![Page 76: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/76.jpg)
16/19
System TAs automata before, we want a computational framework tocharacterize the expressive power of our cyclic proof system.
System T:I λ-calculus with explicit integer type,I Explicit recursion operator on integers,I Type system, typing derivations are finite trees.
System T terms:
M,N ::= x | 0 | s(M) | λx.M |MN | Rec(N,M0,Ms(x, y))(+constructors/destructors for pairs, lists)
Rec(N,M0,Ms) returns{M0 if N = 0Ms(N,Rec(n,M0,Ms)) if N = s(n)
Example: Addition a+ b: λab.Rec(b, a, s(y))
![Page 77: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/77.jpg)
17/19
Results
System Taff: Affine version of System T, data cannot be duplicated.Example: λfx.f(f(x)) is not typable in Taff.
TheoremAffine Cyclic proofs ⇐⇒ System Taff ⇐⇒ Prim. rec.Cyclic proofs ⇐⇒ System T ⇐⇒ Peano
λab.Rec(b, a, s(y))
Easy
Hard
Open problems in proof theory: infinite descent versus induction
.
![Page 78: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/78.jpg)
17/19
Results
System Taff: Affine version of System T, data cannot be duplicated.Example: λfx.f(f(x)) is not typable in Taff.
TheoremAffine Cyclic proofs ⇐⇒ System Taff ⇐⇒ Prim. rec.Cyclic proofs ⇐⇒ System T ⇐⇒ Peano
λab.Rec(b, a, s(y))
Easy
Hard
Open problems in proof theory: infinite descent versus induction
.
![Page 79: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/79.jpg)
17/19
Results
System Taff: Affine version of System T, data cannot be duplicated.Example: λfx.f(f(x)) is not typable in Taff.
TheoremAffine Cyclic proofs ⇐⇒ System Taff ⇐⇒ Prim. rec.Cyclic proofs ⇐⇒ System T ⇐⇒ Peano
λab.Rec(b, a, s(y))
Easy
Hard
Open problems in proof theory: infinite descent versus induction
.
![Page 80: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/80.jpg)
17/19
Results
System Taff: Affine version of System T, data cannot be duplicated.Example: λfx.f(f(x)) is not typable in Taff.
TheoremAffine Cyclic proofs ⇐⇒ System Taff ⇐⇒ Prim. rec.Cyclic proofs ⇐⇒ System T ⇐⇒ Peano
λab.Rec(b, a, s(y))
Easy
Hard
Open problems in proof theory: infinite descent versus induction
.
![Page 81: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/81.jpg)
17/19
Results
System Taff: Affine version of System T, data cannot be duplicated.Example: λfx.f(f(x)) is not typable in Taff.
TheoremAffine Cyclic proofs ⇐⇒ System Taff ⇐⇒ Prim. rec.Cyclic proofs ⇐⇒ System T ⇐⇒ Peano
λab.Rec(b, a, s(y))
Easy
Hard
Open problems in proof theory: infinite descent versus induction
.
![Page 82: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/82.jpg)
17/19
Results
System Taff: Affine version of System T, data cannot be duplicated.Example: λfx.f(f(x)) is not typable in Taff.
TheoremAffine Cyclic proofs ⇐⇒ System Taff ⇐⇒ Prim. rec.Cyclic proofs ⇐⇒ System T ⇐⇒ Peano
λab.Rec(b, a, s(y))
Easy
Hard
Open problems in proof theory: infinite descent versus induction.
![Page 83: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/83.jpg)
18/19
Proof schemesAffine proofs → Taff:I normal form for proofs, with explicit hierarchy of cycles,I inductively build Taff terms.
Affine proofs → Prim. rec.:I Stronger normal form through Taff,I RCA0: constructive fragment of 2nd-order arithmetic,I ∀ affine cyclic proof, prove in RCA0 that its computation terminates,I From reverse maths: RCA0 ↔ Prim. rec.
Proofs → System T:I ACA0: RCA0 + König’s lemma,I ∀ cyclic proof , prove in ACA0 that its computation terminates,I Conservativity result: ACA0 ↔ Peano for integer functions,I Classic result: Peano ↔ System T.
![Page 84: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/84.jpg)
18/19
Proof schemesAffine proofs → Taff:I normal form for proofs, with explicit hierarchy of cycles,I inductively build Taff terms.
Affine proofs → Prim. rec.:I Stronger normal form through Taff,I RCA0: constructive fragment of 2nd-order arithmetic,I ∀ affine cyclic proof, prove in RCA0 that its computation terminates,I From reverse maths: RCA0 ↔ Prim. rec.
Proofs → System T:I ACA0: RCA0 + König’s lemma,I ∀ cyclic proof , prove in ACA0 that its computation terminates,I Conservativity result: ACA0 ↔ Peano for integer functions,I Classic result: Peano ↔ System T.
![Page 85: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/85.jpg)
18/19
Proof schemesAffine proofs → Taff:I normal form for proofs, with explicit hierarchy of cycles,I inductively build Taff terms.
Affine proofs → Prim. rec.:I Stronger normal form through Taff,I RCA0: constructive fragment of 2nd-order arithmetic,I ∀ affine cyclic proof, prove in RCA0 that its computation terminates,I From reverse maths: RCA0 ↔ Prim. rec.
Proofs → System T:I ACA0: RCA0 + König’s lemma,I ∀ cyclic proof , prove in ACA0 that its computation terminates,I Conservativity result: ACA0 ↔ Peano for integer functions,I Classic result: Peano ↔ System T.
![Page 86: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/86.jpg)
19/19
ConclusionOpen problems:I Avoid the “blackbox” of reverse maths.I Use of reverse maths → some results do not lift to
transductions.I Generalize the normal form with hierarchy of cycles to other
cyclic proof systems.
Thank you for your attention !
![Page 87: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule](https://reader033.vdocuments.pub/reader033/viewer/2022050515/5f9fb579fc036d2dac25ba3b/html5/thumbnails/87.jpg)
19/19
ConclusionOpen problems:I Avoid the “blackbox” of reverse maths.I Use of reverse maths → some results do not lift to
transductions.I Generalize the normal form with hierarchy of cycles to other
cyclic proof systems.
Thank you for your attention !