92
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Materialist Dialectica Pierre-Marie Pédrot PPS/πr 2 17th September 2015 Pierre-Marie Pédrot (PPS/πr 2 ) A Materialist Dialectica 17/09/2015 1 / 44

A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A Materialist Dialectica

Pierre-Marie Pédrot

PPS/πr2

17th September 2015

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 1 / 44

Page 2: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Part I.«HowGödel became a computer scientist out of remorse »

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 2 / 44

Page 3: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic?

«The LOGICIST approach »From Axioms, applying valid Rules, derive a Conclusion.

Socrates is a man.All men are mortal.Thus Socrates is mortal.

All cats are mortal.Socrates is mortal.Thus Socrates is a cat.

⊢ A → B ⊢ B → C⊢ A → C

As long as rules are correct, you should be safe.Special emphasis on ensuring that they are indeed correct.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 3 / 44

Page 4: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic?

«The LOGICIST approach »From Axioms, applying valid Rules, derive a Conclusion.

Socrates is a man.All men are mortal.Thus Socrates is mortal.

All cats are mortal.Socrates is mortal.Thus Socrates is a cat.

⊢ A → B ⊢ B → C⊢ A → C

As long as rules are correct, you should be safe.

Special emphasis on ensuring that they are indeed correct.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 3 / 44

Page 5: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic?

«The LOGICIST approach »From Axioms, applying valid Rules, derive a Conclusion.

Socrates is a man.All men are mortal.Thus Socrates is mortal.

All cats are mortal.Socrates is mortal.Thus Socrates is a cat.

⊢ A → B ⊢ B → C⊢ A → C

As long as rules are correct, you should be safe.Special emphasis on ensuring that they are indeed correct.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 3 / 44

Page 6: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: a long tradition of failure

- 3XX. Aristotle predicts 50 years too late that Socrates had to die.Socrates is a man, all men are mortal, thus Socrates is mortal.

1641. Descartes proves that God and unicorns exist.God is perfect, perfection implies existence, thus God exists.

1901. Russell shows that there is no set of all sets.No one shall expel us from the Paradise that Cantor has created.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 4 / 44

Page 7: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: a long tradition of failure

- 3XX. Aristotle predicts 50 years too late that Socrates had to die.Socrates is a man, all men are mortal, thus Socrates is mortal.

1641. Descartes proves that God and unicorns exist.God is perfect, perfection implies existence, thus God exists.

1901. Russell shows that there is no set of all sets.No one shall expel us from the Paradise that Cantor has created.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 4 / 44

Page 8: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: a long tradition of failure

- 3XX. Aristotle predicts 50 years too late that Socrates had to die.Socrates is a man, all men are mortal, thus Socrates is mortal.

1641. Descartes proves that God and unicorns exist.God is perfect, perfection implies existence, thus God exists.

1901. Russell shows that there is no set of all sets.No one shall expel us from the Paradise that Cantor has created.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 4 / 44

Page 9: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: Fall of Logicism

1931: Gödel’s incompleteness theoremAssume a set of rules S which is

1 Expressive enough2 Consistent3 Mechanically checkable

then1 There is a sentence which is neither provable nor disprovable in S2 The consistency of S is neither provable nor disprovable in S

Quis ipsos custodiet custodes?

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 5 / 44

Page 10: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: Fall of Logicism

1931: Gödel’s incompleteness theoremAssume a set of rules S which is

1 Expressive enough2 Consistent3 Mechanically checkable

then1 There is a sentence which is neither provable nor disprovable in S2 The consistency of S is neither provable nor disprovable in S

Quis ipsos custodiet custodes?

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 5 / 44

Page 11: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: Fall of Logicism

1931: Gödel’s incompleteness theoremAssume a set of rules S which is

1 Expressive enough2 Consistent3 Mechanically checkable

then1 There is a sentence which is neither provable nor disprovable in S2 The consistency of S is neither provable nor disprovable in S

Quis ipsos custodiet custodes?Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 5 / 44

Page 12: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: Rise of Computer Science I

« Rather than trusting rules, let us trust experiments. »

You need constructive logicFrom a proof of ∃x.A[x] be able to recover a witness t and a proof of A[t].

Suspicious principlesA ∨ ¬A ¬¬A → A ((A → B) → A) → A

Excluded Middle Reductio ad Absurdum Peirce’s Law

From 1931, Gödel tried to atone for his incompleteness theoremConstructivizing non-constructive principles

1 Double-negation translation (1933)2 Dialectica (’30s, published in 1958)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 6 / 44

Page 13: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: Rise of Computer Science II

Gödel focussed on intuitionistic logic.

The mathematicianA constructive logicAdvocated by Brouwer forphilosophical reasons (1920’s)Without the aforementionedsuspicious axioms

The computer scientistProofs are dynamic objects ratherthan static applications of rules(Gentzen ’33, Prawitz ’65)Witness extraction algorithmicallyrecoverableFrom a proof one can extract aprogram (Kleene ’49)

Curry-Howard isomorphism (1960’s)

Intuitionistic proofs are λ-calculus programs

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 7 / 44

Page 14: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Logic: Rise of Computer Science II

Gödel focussed on intuitionistic logic.

The mathematicianA constructive logicAdvocated by Brouwer forphilosophical reasons (1920’s)Without the aforementionedsuspicious axioms

The computer scientistProofs are dynamic objects ratherthan static applications of rules(Gentzen ’33, Prawitz ’65)Witness extraction algorithmicallyrecoverableFrom a proof one can extract aprogram (Kleene ’49)

Curry-Howard isomorphism (1960’s)

Intuitionistic proofs are λ-calculus programs

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 7 / 44

Page 15: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

The beloved λ-calculus

The niftiest programming language of them all!

Terms t ::= x | λx. t | t u | . . .Types A ::= α | A → B | . . .

(x : A) ∈ Γ

Γ ⊢ x : AΓ, x : A ⊢ B

Γ ⊢ λx. t : A → BΓ ⊢ t : A → B Γ ⊢ u : A

Γ ⊢ t u : B

(λx. t) u →β t[x := u]

Type derivations are proofs, compatible with β-reduction:

If Γ ⊢ t : A and t →β r then Γ ⊢ r : A.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 8 / 44

Page 16: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Which logic for which programs?Standard members of each community will complain.

The mathematician

“This logic is crappy, it does not featurethe following principles I am acquaintedwith.”

Either A or not A hold.Every bounded monotone sequence has

a limit.Two sets with same elements are equal.

Every formula is equivalent to itsprenex form.

The computer scientist

“This language is crappy, it does notfeature the following structures I am ac-quainted with.”

printf("Hello world")x <- 42

while true { … }goto #considered_harmful

fork()…

INTUITIONISTIC LOGIC FUNCTIONAL LANGUAGE

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 9 / 44

Page 17: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Which logic for which programs?Standard members of each community will complain.

The mathematician

“This logic is crappy, it does not featurethe following principles I am acquaintedwith.”

Either A or not A hold.Every bounded monotone sequence has

a limit.Two sets with same elements are equal.

Every formula is equivalent to itsprenex form.

The computer scientist

“This language is crappy, it does notfeature the following structures I am ac-quainted with.”

printf("Hello world")x <- 42

while true { … }goto #considered_harmful

fork()…

INTUITIONISTIC LOGIC FUNCTIONAL LANGUAGE

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 9 / 44

Page 18: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A new hope

What Curry-Howard takes, it gives back.

New axioms ∼ Programming primitives

⇕ ⇕

Logical encoding ∼ Program translation

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 10 / 44

Page 19: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A new hope

What Curry-Howard takes, it gives back.

New axioms ∼ Programming primitives

⇕ ⇕

Logical encoding ∼ Program translation

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 10 / 44

Page 20: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

The prototypical example: Classical logic

We can implement classical logic through this scheme.

New axiom((A → B) → A) → A

Used by your next-door mathematician

∼Programming primitives

callcc

From Scheme, though a bit arcane

⇕ ⇕

Logical encodingdouble-negation translation

Gödel already did that by the 30’s

∼Program translation

continuation-passing styleThe dullest JS programmer uses this

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 11 / 44

Page 21: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Classical logic as a logical translation

Gödel-like presentation

Translation from classical logic into intuitionistic logic.

A,B ::= α | A → B | A × B | ⊥

A+ ≡ A− → ⊥α− ≡ α → ⊥(A → B)

− ≡ A+ × B−

. . .

x• ≡ λω. x ω(λx. t)• ≡ λ(x, ω).t• ω(t u)• ≡ λω. t•(u•, ω)

. . .

1 If ⊢

t :

A then ⊢

t• :

A+.2 There is a proof of ⊢ (((A → B) → A) → A)+.

3 If t ≡β u then t• ≡β u•. (Untyped!)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 12 / 44

Page 22: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Classical logic as a program translation

Curry-Howard presentation

Translation from λ-calculus + cc into λ-calculus.

A,B ::= α | A → B | A × B | ⊥

A+ ≡ A− → ⊥α− ≡ α → ⊥(A → B)

− ≡ A+ × B−

. . .

x• ≡ λω. x ω(λx. t)• ≡ λ(x, ω).t• ω(t u)• ≡ λω. t•(u•, ω)

. . .

1 If ⊢ t : A then ⊢ t• : A+.2 ⊢ cc• : (((A → B) → A) → A)+.3 If t ≡β u then t• ≡β u•. (Untyped!)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 12 / 44

Page 23: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

More is less

You lose part of your soul in the encoding.

If there is an intuitionistic proof of ⊢ A ∨ B then ⊢ A or ⊢ B.There are classical proofs of ⊢ A ∨ B s.t. neither ⊢ A nor ⊢ B.

You may want something more fine-grained...

Dialectica.(Gödel, 1958)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 13 / 44

Page 24: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

More is less

You lose part of your soul in the encoding.

If there is an intuitionistic proof of ⊢ A ∨ B then ⊢ A or ⊢ B.There are classical proofs of ⊢ A ∨ B s.t. neither ⊢ A nor ⊢ B.

You may want something more fine-grained...

Dialectica.(Gödel, 1958)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 13 / 44

Page 25: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What is Dialectica?

A realizability translation (−)D from HA into HAω

Targets System T (simply-typed λ-calculus + integers + sequences)Preserves intuitionistic content (∨+ ∃)But offers two additional semi-classical principles:

¬(∀n ∈ N.¬P n)MP ∃n ∈ N.P n

I → ∃m ∈ N.Q mIP∃m ∈ N. I → Q m

« Markov’s principle » « Independence of premise »

(P decidable, I irrelevant)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 14 / 44

Page 26: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What is Dialectica?

A realizability translation (−)D from HA into HAω

Targets System T (simply-typed λ-calculus + integers + sequences)Preserves intuitionistic content (∨+ ∃)

But offers two additional semi-classical principles:

¬(∀n ∈ N.¬P n)MP ∃n ∈ N.P n

I → ∃m ∈ N.Q mIP∃m ∈ N. I → Q m

« Markov’s principle » « Independence of premise »

(P decidable, I irrelevant)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 14 / 44

Page 27: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What is Dialectica?

A realizability translation (−)D from HA into HAω

Targets System T (simply-typed λ-calculus + integers + sequences)Preserves intuitionistic content (∨+ ∃)But offers two additional semi-classical principles:

¬(∀n ∈ N.¬P n)MP ∃n ∈ N.P n

I → ∃m ∈ N.Q mIP∃m ∈ N. I → Q m

« Markov’s principle » « Independence of premise »

(P decidable, I irrelevant)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 14 / 44

Page 28: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

The Good Old Gödel’s translation

⊢ A 7→ ⊢ AD ≡ ∃u⃗. ∀⃗x.AD[⃗u, x⃗](−)D essentially commutes with the connectives

except for the arrow

(A ∧ B)D ≡ ∃u⃗A, v⃗B. ∀⃗xA, y⃗B.AD [⃗uA, x⃗A] ∧ BD [⃗vB, y⃗B]

(A ∨ B)D ≡ ∃u⃗A, v⃗B, b. ∀⃗xA, y⃗B.

{AD [⃗uA, x⃗A] if b = 0BD [⃗vB, y⃗B] if b ̸= 0

(A → B)D ≡ ∃⃗f, φ⃗.∀u⃗A, y⃗B.AD [⃗uA, φ⃗ u⃗A y⃗B] → BD [⃗f u⃗A, y⃗B]

1 If ⊢HA A then ⊢HAω AD.2 MP and IP are provable through (−)D.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 15 / 44

Page 29: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

The Good Old Gödel’s translation

⊢ A 7→ ⊢ AD ≡ ∃u⃗. ∀⃗x.AD[⃗u, x⃗](−)D essentially commutes with the connectivesexcept for the arrow

(A ∧ B)D ≡ ∃u⃗A, v⃗B. ∀⃗xA, y⃗B.AD [⃗uA, x⃗A] ∧ BD [⃗vB, y⃗B]

(A ∨ B)D ≡ ∃u⃗A, v⃗B, b. ∀⃗xA, y⃗B.

{AD [⃗uA, x⃗A] if b = 0BD [⃗vB, y⃗B] if b ̸= 0

(A → B)D ≡ ∃⃗f, φ⃗.∀u⃗A, y⃗B.AD [⃗uA, φ⃗ u⃗A y⃗B] → BD [⃗f u⃗A, y⃗B]

1 If ⊢HA A then ⊢HAω AD.2 MP and IP are provable through (−)D.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 15 / 44

Page 30: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Successes and failures

Dialectica has been used a lotBar recursion (Spector ’62)Dialectica categories (De Paiva 89’)Proof mining (Oliva, Kohlenbach 2000’s)

Yet, a reputation of complexity and an aura of mystery.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 16 / 44

Page 31: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Successes and failures

Dialectica has been used a lotBar recursion (Spector ’62)Dialectica categories (De Paiva 89’)Proof mining (Oliva, Kohlenbach 2000’s)

Yet, a reputation of complexity and an aura of mystery.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 16 / 44

Page 32: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

In this Thesis

« Dialectica does not fit in the Curry-Howard paradigm. »(U. Kohlenbach, TYPES 2013, 25th April 2013.)

New axiomMP + IP

∼Programming primitives

observe variable use

⇕ ⇕

Logical encodingDialectica

∼Program translation

CPS-like accumulating stacks

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 17 / 44

Page 33: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

In this Thesis

« Dialectica does not fit in the Curry-Howard paradigm. »(U. Kohlenbach, TYPES 2013, 25th April 2013.)

New axiomM̃P

∼Programming primitives

observe variable use⇕ ⇕

Logical encodingDialectica

∼Program translation

CPS-like accumulating stacks

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 17 / 44

Page 34: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Contributions

Part II:

Reformulation of Dialectica as an untyped program translation

Part III:

Description of its computational content in a classical realizabilitystyle

Epilogue:

Extension to dependent type theories

Study of variants (call-by-value, classical-by-name, . . .) (Ch. 10)Study of relationship with similar translations (Ch. 12)A more canonical call-by-need with control (Ch. 5)

A lot of delightful Coq hacking! (not in the manuscript)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 18 / 44

Page 35: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Contributions

Part II:

Reformulation of Dialectica as an untyped program translation

Part III:

Description of its computational content in a classical realizabilitystyle

Epilogue:

Extension to dependent type theories

Study of variants (call-by-value, classical-by-name, . . .) (Ch. 10)Study of relationship with similar translations (Ch. 12)A more canonical call-by-need with control (Ch. 5)

A lot of delightful Coq hacking! (not in the manuscript)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 18 / 44

Page 36: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Contributions

Part II:

Reformulation of Dialectica as an untyped program translation

Part III:

Description of its computational content in a classical realizabilitystyle

Epilogue:

Extension to dependent type theories

Study of variants (call-by-value, classical-by-name, . . .) (Ch. 10)Study of relationship with similar translations (Ch. 12)A more canonical call-by-need with control (Ch. 5)

A lot of delightful Coq hacking! (not in the manuscript)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 18 / 44

Page 37: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Contributions

Part II:Reformulation of Dialectica as an untyped program translation

Part III:Description of its computational content in a classical realizabilitystyle

Epilogue:Extension to dependent type theories

Study of variants (call-by-value, classical-by-name, . . .) (Ch. 10)Study of relationship with similar translations (Ch. 12)A more canonical call-by-need with control (Ch. 5)

A lot of delightful Coq hacking! (not in the manuscript)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 18 / 44

Page 38: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Part II.«Reverse engineering Gödel's hacks »

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 19 / 44

Page 39: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Types, types, Types! (De Paiva, ’89)

Witness Counter Orthogonality

A proof u ⊩ A is a term ⊢ u : W(A) such that ∀x : C(A). u ⊥A x

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 20 / 44

Page 40: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Cleaning up

Gödel used System T + sequences as a target.

We use true datatypes!

W C

A → B{

W(A) → W(B)W(A) → C(B) → C(A)

W(A)× C(B)

A × B W(A)×W(B) C(A)× C(B)

A + B W(A)×W(B)× B C(A)× C(B)

Coming from a linear decomposition due to De Paiva and Hyland (1989).We restrict to propositional logic (for now).

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 21 / 44

Page 41: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Cleaning up

Gödel used System T + sequences as a target.We use true datatypes!

W C

A → B{

W(A) → W(B)W(A) → C(B) → C(A)

W(A)× C(B)

A × B W(A)×W(B)

{W(A)×W(B) → C(A)W(A)×W(B) → C(B)

A + B W(A) +W(B){

W(A) → C(A)W(B) → C(B)

Coming from a linear decomposition due to De Paiva and Hyland (1989).We restrict to propositional logic (for now).

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 21 / 44

Page 42: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A scrutiny into the term translation

Γ ⊢ t : A −→

W(Γ) ⊢ t• : W(A)W(Γ) ⊢ tx1 : C(A) → C(Γ1). . .W(Γ) ⊢ txn : C(A) → C(Γn)

t• is essentially t, except (λx. t)• ≡ (λx. t•, λxπ. tx π)

tx depends on two families of terms

∅A : C(A)

@A : C(A) → C(A) → W(A) → C(A)

s.t. u⊥A π1 @uA π2 ↔ u⊥A π1 ∧ u⊥A π2

∅ (resp. @) is used when weakening occurs (resp. duplication)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 22 / 44

Page 43: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A scrutiny into the term translation

Γ ⊢ t : A −→

W(Γ) ⊢ t• : W(A)W(Γ) ⊢ tx1 : C(A) → C(Γ1). . .W(Γ) ⊢ txn : C(A) → C(Γn)

t• is essentially t, except (λx. t)• ≡ (λx. t•, λxπ. tx π)

tx depends on two families of terms

∅A : C(A)

@A : C(A) → C(A) → W(A) → C(A)

s.t. u⊥A π1 @uA π2 ↔ u⊥A π1 ∧ u⊥A π2

∅ (resp. @) is used when weakening occurs (resp. duplication)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 22 / 44

Page 44: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Almost there

If ⊢ t : A then1 ⊢ t• : W(A).2 For all π : C(A), t•⊥A π.

There exists t1 and t2 s.t. t1 ≡β t2 but t1• ̸≡β t2•.

We would need equations that do not hold, such as

π @tA ∅A ≡β π ≡β ∅A @t

A π

because they are defined in a quite ad-hoc, non parametric way.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 23 / 44

Page 45: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Almost there

If ⊢ t : A then1 ⊢ t• : W(A).2 For all π : C(A), t•⊥A π.

There exists t1 and t2 s.t. t1 ≡β t2 but t1• ̸≡β t2•.

We would need equations that do not hold, such as

π @tA ∅A ≡β π ≡β ∅A @t

A π

because they are defined in a quite ad-hoc, non parametric way.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 23 / 44

Page 46: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

The usual suspects

As we have just seen, the problem appears because of @ and ∅.Actually already criticized because it requires decidability of ⊥.Solved by the Diller-Nahm variant using finite sets (1974)They are Gödel’s workarounds defined in a very hackish way

We use a similar trick by using finite multisets.

The desired equations hold naturally and parametrically.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 24 / 44

Page 47: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

The usual suspects

As we have just seen, the problem appears because of @ and ∅.Actually already criticized because it requires decidability of ⊥.Solved by the Diller-Nahm variant using finite sets (1974)They are Gödel’s workarounds defined in a very hackish way

We use a similar trick by using finite multisets.

The desired equations hold naturally and parametrically.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 24 / 44

Page 48: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Revising the translation

Before After

∅A : C(A) ∅A : MC(A)

@A : C(A) → C(A) → W(A) → C(A) @A : MC(A) → MC(A) → MC(A)

{W(A) → W(B)

W(A) → C(B) → C(A)

{W(A) → W(B)

W(A) → C(B) → MC(A)

W(Γ) ⊢ t• : W(A)W(Γ) ⊢ tx1 : C(A) → C(Γ1). . .W(Γ) ⊢ txn : C(A) → C(Γn)

W(Γ) ⊢ t• : W(A)

W(Γ) ⊢ tx1 : C(A) → MC(Γ1)

. . .

W(Γ) ⊢ txn : C(A) → MC(Γn)

⊥ . . .

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 25 / 44

Page 49: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Finally!

x• ≡ x

(λx. t)• ≡{λx. t•λxπ. tx π

(t u)• ≡ (fst t•) u•

xx ≡ λπ. {π}

yx ≡ λπ.∅

(λy. t)x ≡ λ(y, π). tx π

(t u)x ≡ λπ.

(snd t•) u• π >>= ux@

tx (u•, π)

1 If ⊢ t : A then

⊢ t• : W(A).For all π : C(A), t• ⊥A π.

2 If t1 ≡β t2 then t1• ≡β t2•

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 26 / 44

Page 50: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Finally!

x• ≡ x

(λx. t)• ≡{λx. t•λxπ. tx π

(t u)• ≡ (fst t•) u•

xx ≡ λπ. {π}

yx ≡ λπ.∅

(λy. t)x ≡ λ(y, π). tx π

(t u)x ≡ λπ.

(snd t•) u• π >>= ux@

tx (u•, π)

1 If ⊢ t : A then

⊢ t• : W(A).For all π : C(A), t• ⊥A π.

2 If t1 ≡β t2 then t1• ≡β t2•

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 26 / 44

Page 51: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Finally!

x• ≡ x

(λx. t)• ≡{λx. t•λxπ. tx π

(t u)• ≡ (fst t•) u•

xx ≡ λπ. {π}

yx ≡ λπ.∅

(λy. t)x ≡ λ(y, π). tx π

(t u)x ≡ λπ.

(snd t•) u• π >>= ux@

tx (u•, π)

1 If ⊢ t : A then

⊢ t• : W(A).For all π : C(A), t• ⊥A π.

2 If t1 ≡β t2 then t1• ≡β t2•

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 26 / 44

Page 52: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Finally!

x• ≡ x

(λx. t)• ≡{λx. t•λxπ. tx π

(t u)• ≡ (fst t•) u•

xx ≡ λπ. {π}

yx ≡ λπ.∅

(λy. t)x ≡ λ(y, π). tx π

(t u)x ≡ λπ.

(snd t•) u• π >>= ux@

tx (u•, π)

1 If ⊢ t : A then

⊢ t• : W(A).For all π : C(A), t• ⊥A π.

2 If t1 ≡β t2 then t1• ≡β t2•

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 26 / 44

Page 53: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Finally!

x• ≡ x

(λx. t)• ≡{λx. t•λxπ. tx π

(t u)• ≡ (fst t•) u•

xx ≡ λπ. {π}

yx ≡ λπ.∅

(λy. t)x ≡ λ(y, π). tx π

(t u)x ≡ λπ.

(snd t•) u• π >>= ux@

tx (u•, π)

1 If ⊢ t : A then⊢ t• : W(A).For all π : C(A), t• ⊥A π.

2 If t1 ≡β t2 then t1• ≡β t2•

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 26 / 44

Page 54: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Finally!

x• ≡ x

(λx. t)• ≡{λx. t•λxπ. tx π

(t u)• ≡ (fst t•) u•

xx ≡ λπ. {π}

yx ≡ λπ.∅

(λy. t)x ≡ λ(y, π). tx π

(t u)x ≡ λπ.

(snd t•) u• π >>= ux@

tx (u•, π)

1 If ⊢ t : A then

⊢ t• : W(A).For all π : C(A), t• ⊥A π.

2 If t1 ≡β t2 then t1• ≡β t2•

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 26 / 44

Page 55: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A note on orthogonality

The orthogonality can be expressed in this setting.Yet it is no more useful for now.The Gödel-style Dialectica used Friedmann’s trick for ∅0:

W(0) ≡ 1 and C(0) ≡ 1

You needed to rule out invalid proofs of W(0).Not the case anymore with multisets, W(0) ≡ 0.Soundness for free!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 27 / 44

Page 56: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Part III.«When Krivine meets Gödel »

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 28 / 44

Page 57: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

You are here

New axiom?

∼Programming primitives

?

⇕ ⇕

Logical encoding Program translation

Revised Dialectica ∼ Something involving

multisetscountersfree variables

What is actually doing the translation as a program?

What rôle on earth have the counters?

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 29 / 44

Page 58: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

You are here

New axiom?

∼Programming primitives

?

⇕ ⇕

Logical encoding Program translation

Revised Dialectica ∼ Something involving

multisetscountersfree variables

What is actually doing the translation as a program?

What rôle on earth have the counters?

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 29 / 44

Page 59: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Stay on the scene

Let us introduce you to the Krivine Abstract Machine (KAM).

Closures c ::= (t, σ)Environments σ ::= ∅ | σ + (x := c)Stacks π ::= ε | c · πProcesses p ::= ⟨c | π⟩

Push ⟨(t u, σ) | π⟩ → ⟨(t, σ) | (u, σ) · π⟩Pop ⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩Grab ⟨(x, σ + (x := c)) | π⟩ → ⟨c | π⟩Garbage ⟨(x, σ + (y := c)) | π⟩ → ⟨(x, σ) | π⟩

The Krivine Abstract Machine™

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 30 / 44

Page 60: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Stay on the scene

Let us introduce you to the Krivine Abstract Machine (KAM).

Closures c ::= (t, σ)Environments σ ::= ∅ | σ + (x := c)Stacks π ::= ε | c · πProcesses p ::= ⟨c | π⟩

Push ⟨(t u, σ) | π⟩ → ⟨(t, σ) | (u, σ) · π⟩

Pop ⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩Grab ⟨(x, σ + (x := c)) | π⟩ → ⟨c | π⟩Garbage ⟨(x, σ + (y := c)) | π⟩ → ⟨(x, σ) | π⟩

The Krivine Abstract Machine™

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 30 / 44

Page 61: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Stay on the scene

Let us introduce you to the Krivine Abstract Machine (KAM).

Closures c ::= (t, σ)Environments σ ::= ∅ | σ + (x := c)Stacks π ::= ε | c · πProcesses p ::= ⟨c | π⟩

Push ⟨(t u, σ) | π⟩ → ⟨(t, σ) | (u, σ) · π⟩

Pop ⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Grab ⟨(x, σ + (x := c)) | π⟩ → ⟨c | π⟩Garbage ⟨(x, σ + (y := c)) | π⟩ → ⟨(x, σ) | π⟩

The Krivine Abstract Machine™

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 30 / 44

Page 62: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Stay on the scene

Let us introduce you to the Krivine Abstract Machine (KAM).

Closures c ::= (t, σ)Environments σ ::= ∅ | σ + (x := c)Stacks π ::= ε | c · πProcesses p ::= ⟨c | π⟩

Push ⟨(t u, σ) | π⟩ → ⟨(t, σ) | (u, σ) · π⟩Pop ⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Grab ⟨(x, σ + (x := c)) | π⟩ → ⟨c | π⟩

Garbage ⟨(x, σ + (y := c)) | π⟩ → ⟨(x, σ) | π⟩

The Krivine Abstract Machine™

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 30 / 44

Page 63: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Stay on the scene

Let us introduce you to the Krivine Abstract Machine (KAM).

Closures c ::= (t, σ)Environments σ ::= ∅ | σ + (x := c)Stacks π ::= ε | c · πProcesses p ::= ⟨c | π⟩

Push ⟨(t u, σ) | π⟩ → ⟨(t, σ) | (u, σ) · π⟩Pop ⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩Grab ⟨(x, σ + (x := c)) | π⟩ → ⟨c | π⟩

Garbage ⟨(x, σ + (y := c)) | π⟩ → ⟨(x, σ) | π⟩

The Krivine Abstract Machine™

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 30 / 44

Page 64: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Stay on the scene

Let us introduce you to the Krivine Abstract Machine (KAM).

Closures c ::= (t, σ)Environments σ ::= ∅ | σ + (x := c)Stacks π ::= ε | c · πProcesses p ::= ⟨c | π⟩

Push ⟨(t u, σ) | π⟩ → ⟨(t, σ) | (u, σ) · π⟩Pop ⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩Grab ⟨(x, σ + (x := c)) | π⟩ → ⟨c | π⟩Garbage ⟨(x, σ + (y := c)) | π⟩ → ⟨(x, σ) | π⟩

The Krivine Abstract Machine™

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 30 / 44

Page 65: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A word on the KAM

The KAM is call-by-name, implementing linear head reductionUsed amongst other things to do classical realizability (Krivine ’02)Features stacks and environments as first-class objectsIn particular, typing can be extended to stacks and environments

⊢ π : A⊥ σ ⊢ Γ

Double-negation and forcing already explained through the KAMDouble-negation using callcc (Griffin ’90, Krivine ’03)Forcing using a monotonous global variable (Miquel ’11)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 31 / 44

Page 66: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What has been seen cannot be unseen

C(A → B) ≡ W(A)× C(B)

⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Counters are stacks!Dialectica gives access to stacks!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 32 / 44

Page 67: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What has been seen cannot be unseen

C(A → B) ≡ W(A)× C(B)

⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Counters are stacks!Dialectica gives access to stacks!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 32 / 44

Page 68: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What has been seen cannot be unseen

C(A → B) ≡ W(A)× C(B)

⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Counters are stacks!Dialectica gives access to stacks!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 32 / 44

Page 69: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What has been seen cannot be unseen

C(A → B) ≡ W(A)× C(B)

⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Counters are stacks!Dialectica gives access to stacks!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 32 / 44

Page 70: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What has been seen cannot be unseen

C(A → B) ≡ W(A)× C(B)

⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Counters are stacks!Dialectica gives access to stacks!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 32 / 44

Page 71: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What has been seen cannot be unseen

C(A → B) ≡ W(A)× C(B)

⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Counters are stacks!

Dialectica gives access to stacks!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 32 / 44

Page 72: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

What has been seen cannot be unseen

C(A → B) ≡ W(A)× C(B)

⟨(λx. t, σ) | c · π⟩ → ⟨(t, σ + (x := c)) | π⟩

Counters are stacks!Dialectica gives access to stacks!

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 32 / 44

Page 73: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Closures all the way down

Let:a term x⃗ : Γ ⊢ t : Aa closure σ ⊢ Γ

a stack ⊢ π : A⊥ (i.e. π• : C(A))

Then(txi {⃗x := σ•})π• : MC(Γi) ≡ {ρ1; . . . ; ρm}

are the stacks encountered by xi while evaluating ⟨(t, σ) | π⟩, i.e.

⟨(t, σ) | π⟩ −→∗ ⟨(xi, σ1) | ρ1⟩... ...

−→∗ ⟨(xi, σm) | ρm⟩

The (−)x translation tracks the uses of x as delimited continuations.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 33 / 44

Page 74: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Closures all the way down

Let:a term x⃗ : Γ ⊢ t : Aa closure σ ⊢ Γ

a stack ⊢ π : A⊥ (i.e. π• : C(A))

Then(txi {⃗x := σ•})π• : MC(Γi) ≡ {ρ1; . . . ; ρm}

are the stacks encountered by xi while evaluating ⟨(t, σ) | π⟩, i.e.

⟨(t, σ) | π⟩ −→∗ ⟨(xi, σ1) | ρ1⟩... ...

−→∗ ⟨(xi, σm) | ρm⟩

The (−)x translation tracks the uses of x as delimited continuations.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 33 / 44

Page 75: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Look around you

xx ≡ λπ. {π}

yx ≡ λπ.∅

(λy. t)x ≡ λ(y, π). tx π

(t u)x ≡ λπ.

(snd t•) u• π >>= ux@

tx (u•, π)

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 34 / 44

Page 76: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A little issue

The stacks produced by the KAM are ordered by sequentiality.The Dialectica produces multisets of stacks without regard to order.

Not possible to fix easily (or at all?)A defect of linear logic ?

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 35 / 44

Page 77: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

A little issue

The stacks produced by the KAM are ordered by sequentiality.The Dialectica produces multisets of stacks without regard to order.

Not possible to fix easily (or at all?)A defect of linear logic ?

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 35 / 44

Page 78: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Revisiting MP + IP

In the historical presentation:

IP essentially obtained by ∅ + realizabilityMP is more magical

W(MP) ∼= N → Nmp := λx. x

In the revised Dialectica:

Not a realizability and no ∅ ⇝ no IPThe historical realizer of the MP takes another flavour

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 36 / 44

Page 79: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Revisiting MP + IP

In the historical presentation:

IP essentially obtained by ∅ + realizabilityMP is more magical

W(MP) ∼= N → Nmp := λx. x

In the revised Dialectica:

Not a realizability and no ∅ ⇝ no IPThe historical realizer of the MP takes another flavour

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 36 / 44

Page 80: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

MP?

1 First issue: W(¬A) ∼= ¬W(A)

Need to weaken ¬A into ∼ A ≡ A → ⊥ whereW(⊥) ≡ 1 C(⊥) ≡ 1 ()̸⊥⊥() (no rule for ⊥)

2 Second issue: W(∼∼ A) ∼= (W(A) → MC(A)) → MW(A)

You need the orthogonality to ensure that the returned multiset isclassically not empty!

f ⊩ ∼∼ A ↔∀φ : W(A) → MC(A).¬(∀u : W(A) ∈ f φ.¬(∀π : C(A) ∈ φ u. u⊥A π))

3 If A has a decidable orthogonality then this is equivalent to∀φ : W(A) → MC(A). ∃u : W(A) ∈ f φ. ∀π : C(A) ∈ φ u. u⊥A π

4 Extract using φ ≡ λ_.∅ and enjoy (if A is first-order).∃u : W(A) ∈ f φ

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 37 / 44

Page 81: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

MP?

1 First issue: W(¬A) ∼= ¬W(A)

Need to weaken ¬A into ∼ A ≡ A → ⊥ whereW(⊥) ≡ 1 C(⊥) ≡ 1 ()̸⊥⊥() (no rule for ⊥)

2 Second issue: W(∼∼ A) ∼= (W(A) → MC(A)) → MW(A)

You need the orthogonality to ensure that the returned multiset isclassically not empty!

f ⊩ ∼∼ A ↔∀φ : W(A) → MC(A).¬(∀u : W(A) ∈ f φ.¬(∀π : C(A) ∈ φ u. u⊥A π))

3 If A has a decidable orthogonality then this is equivalent to∀φ : W(A) → MC(A). ∃u : W(A) ∈ f φ. ∀π : C(A) ∈ φ u. u⊥A π

4 Extract using φ ≡ λ_.∅ and enjoy (if A is first-order).∃u : W(A) ∈ f φ

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 37 / 44

Page 82: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

MP?

1 First issue: W(¬A) ∼= ¬W(A)

Need to weaken ¬A into ∼ A ≡ A → ⊥ whereW(⊥) ≡ 1 C(⊥) ≡ 1 ()̸⊥⊥() (no rule for ⊥)

2 Second issue: W(∼∼ A) ∼= (W(A) → MC(A)) → MW(A)

You need the orthogonality to ensure that the returned multiset isclassically not empty!

f ⊩ ∼∼ A ↔∀φ : W(A) → MC(A).¬(∀u : W(A) ∈ f φ.¬(∀π : C(A) ∈ φ u. u⊥A π))

3 If A has a decidable orthogonality then this is equivalent to∀φ : W(A) → MC(A). ∃u : W(A) ∈ f φ. ∀π : C(A) ∈ φ u. u⊥A π

4 Extract using φ ≡ λ_.∅ and enjoy (if A is first-order).∃u : W(A) ∈ f φ

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 37 / 44

Page 83: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

MP?

1 First issue: W(¬A) ∼= ¬W(A)

Need to weaken ¬A into ∼ A ≡ A → ⊥ whereW(⊥) ≡ 1 C(⊥) ≡ 1 ()̸⊥⊥() (no rule for ⊥)

2 Second issue: W(∼∼ A) ∼= (W(A) → MC(A)) → MW(A)

You need the orthogonality to ensure that the returned multiset isclassically not empty!

f ⊩ ∼∼ A ↔∀φ : W(A) → MC(A).¬(∀u : W(A) ∈ f φ.¬(∀π : C(A) ∈ φ u. u⊥A π))

3 If A has a decidable orthogonality then this is equivalent to∀φ : W(A) → MC(A). ∃u : W(A) ∈ f φ. ∀π : C(A) ∈ φ u. u⊥A π

4 Extract using φ ≡ λ_.∅ and enjoy (if A is first-order).∃u : W(A) ∈ f φ

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 37 / 44

Page 84: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Comparison with historical Dialectica

We’ve got rid of IP: it’s not a bug, it’s a feature!MP has a clearer meaning now.

The delimited continuation part extracts argument access to functionsWe made explicit a crawling over finite multisets that were hard-wiredinto @ in the historical version

In particular we may do fancier things nowCounting the number of accesses of a function to a variableMore ...?

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 38 / 44

Page 85: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Epilogue.« You're not done yet. »

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 39 / 44

Page 86: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Dependently-typed Dialectica

This translation naturally lifts to dependent typesW(Πx : A.B) ≡ Πx : W(A).W(B)× (C(B) → MW(A))C(Πx : A.B) ≡ Σx : W(A).C(B)

What about dependent elimination?Hints in this thesisActually solved after the manuscript was submitted (kudos to Andrej)Essentially make C(A) highly depend on some value u : W(A)Decomposes through CBPV (Levy ’01)

Difficult to implement in practice?Computational implementation of multisets?We should be using HITs (HoTT Book)TODO: Write an implementation of Dialectica in Coq

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 40 / 44

Page 87: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Intuitionism is the new linear

Dialectica is the prototypical model of LL« Double-glueing, le mot est lâché ! »

Towards a « free model » of LL in LJ?« A new linear logic: intuitionistic logic »

Delimited continuations and dependency probably neededLinear logic is not about linearity

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 41 / 44

Page 88: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Intuitionistic enough translations

Dialectica shares common properties with (intuitionistic) forcing.In particular, W(−) commutes with positives.

This is a moral requirement to preserve dependent elimination.Occurs strikingly often with commutative / idempotent monads.

Forcing (a monotonous reader monad on (P,≤))Intuitionistic CPS (similar but with stacks)Dialectica (a rich writer on C(A) → MC(Γ))Sheafification (?)

Probably something deep there

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 42 / 44

Page 89: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Intuitionistic enough translations

Dialectica shares common properties with (intuitionistic) forcing.In particular, W(−) commutes with positives.

This is a moral requirement to preserve dependent elimination.

Occurs strikingly often with commutative / idempotent monads.Forcing (a monotonous reader monad on (P,≤))Intuitionistic CPS (similar but with stacks)Dialectica (a rich writer on C(A) → MC(Γ))Sheafification (?)

Probably something deep there

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 42 / 44

Page 90: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Intuitionistic enough translations

Dialectica shares common properties with (intuitionistic) forcing.In particular, W(−) commutes with positives.

This is a moral requirement to preserve dependent elimination.Occurs strikingly often with commutative / idempotent monads.

Forcing (a monotonous reader monad on (P,≤))Intuitionistic CPS (similar but with stacks)Dialectica (a rich writer on C(A) → MC(Γ))Sheafification (?)

Probably something deep there

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 42 / 44

Page 91: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Conclusion

We demystified Gödel’s Dialectica translation.Actually using concepts inexistents at the time of Gödel:

Computational content of proofsStacksExplicit substitutions

We described computationally the contents of Markov’s principle.This presentation allows for a lot of extensions and future work.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 43 / 44

Page 92: A Materialist Dialectica - xn--pdrot-bsa.frédrot.fr/slides/thesis-09-15.pdf · A Materialist Dialectica Pierre-Marie Pédrot PPS/ˇr2 17th September 2015 Pierre-Marie Pédrot (PPS/ˇr2)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Scribitur ad narrandum, non ad probandum

Thanks for your attention.

Pierre-Marie Pédrot (PPS/πr2) A Materialist Dialectica 17/09/2015 44 / 44