DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence...

87
1/19 Computational content of circular proof systems. Denis Kuperberg Laureline Pinault Damien Pous LIP, ENS Lyon Warsaw Automata Seminar Wednesday 13th May 2020

Transcript of DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence...

Page 1: DenisKuperberg LaurelinePinault DamienPous · 3/19 Curry-Howardcorrespondence Proofofformulaϕ↔Programoftypeϕ Example: Theidentityprogramisaproofofp→p. A B C implies DeductionRule

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 !