Top Banner
Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST, Université Paris 1 Panthéon-Sorbonne October 2, 2019 Bertinoro 1 / 42
214

Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Aug 11, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical Constants from a Computational Point of View

Alberto Naibo(joint work with Mattia Petrolo and Thomas Seiller)

IHPST, Université Paris 1 Panthéon-Sorbonne

October 2, 2019

Bertinoro

1 / 42

Page 2: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Overview

Our aim is to develop a general framework for answering to the question“What is a logical constant?”.

This framework will be based on a computational account, which in turn will beinspired by a proof-theoretic point of view.

The bridge between the proof-theoretic level and the computational level will beassured by a generalization of the proofs-as-programs correspondance (i.e. theCurry-Howard correspondance), in the lines of Girard’s Geometry of Interaction.

2 / 42

Page 3: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Overview

Our aim is to develop a general framework for answering to the question“What is a logical constant?”.

This framework will be based on a computational account, which in turn will beinspired by a proof-theoretic point of view.

The bridge between the proof-theoretic level and the computational level will beassured by a generalization of the proofs-as-programs correspondance (i.e. theCurry-Howard correspondance), in the lines of Girard’s Geometry of Interaction.

2 / 42

Page 4: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Overview

Our aim is to develop a general framework for answering to the question“What is a logical constant?”.

This framework will be based on a computational account, which in turn will beinspired by a proof-theoretic point of view.

The bridge between the proof-theoretic level and the computational level will beassured by a generalization of the proofs-as-programs correspondance (i.e. theCurry-Howard correspondance), in the lines of Girard’s Geometry of Interaction.

2 / 42

Page 5: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Meaning and logicality

Our starting point is the observation that when a proof-theoretic account oflinguistic expressions is adopted, the question of the meaning of theseexpressions is often conflated with the question of their logicality.

More precisely, it is not clear how we should interpret the situation in which theinference rules for a given expression (say, a connective) satisfy a certainproof-theoretic condition, namely, the condition of harmony (Dummett 1991).Should we consider this expression as a proper logical constant or simply as ameaningful expression (without necessarily being a logical one)?

The conflation between these two questions seems to be originated from the factthat someone like Dummett – one of the fathers of proof-theoretic semantics –considered them as tightly connected:

Harmony [...] can be demanded only when [inference] rules are heldcompletely to determine the meanings of the logical constants. It was,indeed, suggested as a (very strict) criterion for an operator’s being alogical constant that its meaning is completely determined by the rulesof inference governing it. (Dummett 1991: 286–287)

The reason of this tight connection is due to the fact that proofs – as well as theinference rules composing them – are taken to be contentful acts, namely,linguistic justifications of certain assertions.

3 / 42

Page 6: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Meaning and logicality

Our starting point is the observation that when a proof-theoretic account oflinguistic expressions is adopted, the question of the meaning of theseexpressions is often conflated with the question of their logicality.

More precisely, it is not clear how we should interpret the situation in which theinference rules for a given expression (say, a connective) satisfy a certainproof-theoretic condition, namely, the condition of harmony (Dummett 1991).Should we consider this expression as a proper logical constant or simply as ameaningful expression (without necessarily being a logical one)?

The conflation between these two questions seems to be originated from the factthat someone like Dummett – one of the fathers of proof-theoretic semantics –considered them as tightly connected:

Harmony [...] can be demanded only when [inference] rules are heldcompletely to determine the meanings of the logical constants. It was,indeed, suggested as a (very strict) criterion for an operator’s being alogical constant that its meaning is completely determined by the rulesof inference governing it. (Dummett 1991: 286–287)

The reason of this tight connection is due to the fact that proofs – as well as theinference rules composing them – are taken to be contentful acts, namely,linguistic justifications of certain assertions.

3 / 42

Page 7: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Meaning and logicality

Our starting point is the observation that when a proof-theoretic account oflinguistic expressions is adopted, the question of the meaning of theseexpressions is often conflated with the question of their logicality.

More precisely, it is not clear how we should interpret the situation in which theinference rules for a given expression (say, a connective) satisfy a certainproof-theoretic condition, namely, the condition of harmony (Dummett 1991).Should we consider this expression as a proper logical constant or simply as ameaningful expression (without necessarily being a logical one)?

The conflation between these two questions seems to be originated from the factthat someone like Dummett – one of the fathers of proof-theoretic semantics –considered them as tightly connected:

Harmony [...] can be demanded only when [inference] rules are heldcompletely to determine the meanings of the logical constants. It was,indeed, suggested as a (very strict) criterion for an operator’s being alogical constant that its meaning is completely determined by the rulesof inference governing it. (Dummett 1991: 286–287)

The reason of this tight connection is due to the fact that proofs – as well as theinference rules composing them – are taken to be contentful acts, namely,linguistic justifications of certain assertions.

3 / 42

Page 8: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Meaning and logicality

Our starting point is the observation that when a proof-theoretic account oflinguistic expressions is adopted, the question of the meaning of theseexpressions is often conflated with the question of their logicality.

More precisely, it is not clear how we should interpret the situation in which theinference rules for a given expression (say, a connective) satisfy a certainproof-theoretic condition, namely, the condition of harmony (Dummett 1991).Should we consider this expression as a proper logical constant or simply as ameaningful expression (without necessarily being a logical one)?

The conflation between these two questions seems to be originated from the factthat someone like Dummett – one of the fathers of proof-theoretic semantics –considered them as tightly connected:

Harmony [...] can be demanded only when [inference] rules are heldcompletely to determine the meanings of the logical constants. It was,indeed, suggested as a (very strict) criterion for an operator’s being alogical constant that its meaning is completely determined by the rulesof inference governing it. (Dummett 1991: 286–287)

The reason of this tight connection is due to the fact that proofs – as well as theinference rules composing them – are taken to be contentful acts, namely,linguistic justifications of certain assertions.

3 / 42

Page 9: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Meaning and logicality

Our starting point is the observation that when a proof-theoretic account oflinguistic expressions is adopted, the question of the meaning of theseexpressions is often conflated with the question of their logicality.

More precisely, it is not clear how we should interpret the situation in which theinference rules for a given expression (say, a connective) satisfy a certainproof-theoretic condition, namely, the condition of harmony (Dummett 1991).Should we consider this expression as a proper logical constant or simply as ameaningful expression (without necessarily being a logical one)?

The conflation between these two questions seems to be originated from the factthat someone like Dummett – one of the fathers of proof-theoretic semantics –considered them as tightly connected:

Harmony [...] can be demanded only when [inference] rules are heldcompletely to determine the meanings of the logical constants. It was,indeed, suggested as a (very strict) criterion for an operator’s being alogical constant that its meaning is completely determined by the rulesof inference governing it. (Dummett 1991: 286–287)

The reason of this tight connection is due to the fact that proofs – as well as theinference rules composing them – are taken to be contentful acts, namely,linguistic justifications of certain assertions.

3 / 42

Page 10: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Meaning and logicality

Our starting point is the observation that when a proof-theoretic account oflinguistic expressions is adopted, the question of the meaning of theseexpressions is often conflated with the question of their logicality.

More precisely, it is not clear how we should interpret the situation in which theinference rules for a given expression (say, a connective) satisfy a certainproof-theoretic condition, namely, the condition of harmony (Dummett 1991).Should we consider this expression as a proper logical constant or simply as ameaningful expression (without necessarily being a logical one)?

The conflation between these two questions seems to be originated from the factthat someone like Dummett – one of the fathers of proof-theoretic semantics –considered them as tightly connected:

Harmony [...] can be demanded only when [inference] rules are heldcompletely to determine the meanings of the logical constants. It was,indeed, suggested as a (very strict) criterion for an operator’s being alogical constant that its meaning is completely determined by the rulesof inference governing it. (Dummett 1991: 286–287)

The reason of this tight connection is due to the fact that proofs – as well as theinference rules composing them – are taken to be contentful acts, namely,linguistic justifications of certain assertions.

3 / 42

Page 11: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 12: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 13: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 14: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 15: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 16: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 17: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 18: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Disentangling meaning from logicality

Here, we aim at disentangling the question of meaning from the question oflogicality, and focus only on the second one.

In order to do so, we will adopt a formalist point of view, according to which wewill not reason on proofs as contentful acts, but we will reason on their formalcounterparts.

More precisely, we will work with proofs as formal objects, whose form (i.e.structure) is determined by certain operations sharing some common featureswith the inferential steps of the contentual proofs.

Our claim is that these formal objects eventually correspond to a particular kindof mathematical objects. The question of logicality becomes then a question ofisolating a specific class of these mathematical objects: those which areconstructed by means of operations manifesting an invariant behavior withrespect to some given conditions.

In this respect, our project shares some similarities with Tarski’slogicality-as-invariance programme (see Tarski 1986). However, the crucialdifference is that we will not consider set-theoretic objects but computationalones: our proof-objects correspond indeed to programs.

4 / 42

Page 19: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

An untyped perspective

Another crucial aspect of our project is to take computational objects that areuntyped.

Types are not taken as primitive, but they are defined as sets of untyped(computational) objects sharing some common behavior.

More precisely, any operation ∗ used for defining a new type A ∗B from twogiven types A and B should be induced by an operation between the untypedobjects of A and those of B.

What we want to do is to establish some conditions allowing us to select amongthese operations on untyped objects those that can be considered as logical.

5 / 42

Page 20: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

An untyped perspective

Another crucial aspect of our project is to take computational objects that areuntyped.

Types are not taken as primitive, but they are defined as sets of untyped(computational) objects sharing some common behavior.

More precisely, any operation ∗ used for defining a new type A ∗B from twogiven types A and B should be induced by an operation between the untypedobjects of A and those of B.

What we want to do is to establish some conditions allowing us to select amongthese operations on untyped objects those that can be considered as logical.

5 / 42

Page 21: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

An untyped perspective

Another crucial aspect of our project is to take computational objects that areuntyped.

Types are not taken as primitive, but they are defined as sets of untyped(computational) objects sharing some common behavior.

More precisely, any operation ∗ used for defining a new type A ∗B from twogiven types A and B should be induced by an operation between the untypedobjects of A and those of B.

What we want to do is to establish some conditions allowing us to select amongthese operations on untyped objects those that can be considered as logical.

5 / 42

Page 22: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

An untyped perspective

Another crucial aspect of our project is to take computational objects that areuntyped.

Types are not taken as primitive, but they are defined as sets of untyped(computational) objects sharing some common behavior.

More precisely, any operation ∗ used for defining a new type A ∗B from twogiven types A and B should be induced by an operation between the untypedobjects of A and those of B.

What we want to do is to establish some conditions allowing us to select amongthese operations on untyped objects those that can be considered as logical.

5 / 42

Page 23: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition

Traditionally, the fundamental condition required for building a proof-theoreticsemantics is the existence of a harmonic balance between what is needed inorder to have the right to assert a certain (complex) sentence and what isallowed to draw from that sentence.

When the inference rules governing the assertion conditions are framed by thenatural deduction rules, then the previous idea can be specified in terms ofPrawitz’s inversion principle. According to this principle we have that

[...] by an application of an elimination rule one essentially onlyrestores what had been established if the major premiss of theapplication was inferred by an application of an introduction rule.(Prawitz 1965: 33)

In order words, whatever can be drawn from the conclusion of the eliminationrules for a certain connective c should not exceed what can already be drawnfrom the premisses of the introduction rules for c.

As Sundholm (2004: 454) remarks, this condition straightforwardly leads “[...] toa resurrection of the old idea that the validity of an inference resides in theanalytic containment of the conclusion in the premisses”. And if one accept thatwhat is logical is analytical, then it is easy to see why the harmony condition hasbeen taken to be a logicality condition.

6 / 42

Page 24: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition

Traditionally, the fundamental condition required for building a proof-theoreticsemantics is the existence of a harmonic balance between what is needed inorder to have the right to assert a certain (complex) sentence and what isallowed to draw from that sentence.

When the inference rules governing the assertion conditions are framed by thenatural deduction rules, then the previous idea can be specified in terms ofPrawitz’s inversion principle. According to this principle we have that

[...] by an application of an elimination rule one essentially onlyrestores what had been established if the major premiss of theapplication was inferred by an application of an introduction rule.(Prawitz 1965: 33)

In order words, whatever can be drawn from the conclusion of the eliminationrules for a certain connective c should not exceed what can already be drawnfrom the premisses of the introduction rules for c.

As Sundholm (2004: 454) remarks, this condition straightforwardly leads “[...] toa resurrection of the old idea that the validity of an inference resides in theanalytic containment of the conclusion in the premisses”. And if one accept thatwhat is logical is analytical, then it is easy to see why the harmony condition hasbeen taken to be a logicality condition.

6 / 42

Page 25: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition

Traditionally, the fundamental condition required for building a proof-theoreticsemantics is the existence of a harmonic balance between what is needed inorder to have the right to assert a certain (complex) sentence and what isallowed to draw from that sentence.

When the inference rules governing the assertion conditions are framed by thenatural deduction rules, then the previous idea can be specified in terms ofPrawitz’s inversion principle. According to this principle we have that

[...] by an application of an elimination rule one essentially onlyrestores what had been established if the major premiss of theapplication was inferred by an application of an introduction rule.(Prawitz 1965: 33)

In order words, whatever can be drawn from the conclusion of the eliminationrules for a certain connective c should not exceed what can already be drawnfrom the premisses of the introduction rules for c.

As Sundholm (2004: 454) remarks, this condition straightforwardly leads “[...] toa resurrection of the old idea that the validity of an inference resides in theanalytic containment of the conclusion in the premisses”. And if one accept thatwhat is logical is analytical, then it is easy to see why the harmony condition hasbeen taken to be a logicality condition.

6 / 42

Page 26: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition

Traditionally, the fundamental condition required for building a proof-theoreticsemantics is the existence of a harmonic balance between what is needed inorder to have the right to assert a certain (complex) sentence and what isallowed to draw from that sentence.

When the inference rules governing the assertion conditions are framed by thenatural deduction rules, then the previous idea can be specified in terms ofPrawitz’s inversion principle. According to this principle we have that

[...] by an application of an elimination rule one essentially onlyrestores what had been established if the major premiss of theapplication was inferred by an application of an introduction rule.(Prawitz 1965: 33)

In order words, whatever can be drawn from the conclusion of the eliminationrules for a certain connective c should not exceed what can already be drawnfrom the premisses of the introduction rules for c.

As Sundholm (2004: 454) remarks, this condition straightforwardly leads “[...] toa resurrection of the old idea that the validity of an inference resides in theanalytic containment of the conclusion in the premisses”. And if one accept thatwhat is logical is analytical, then it is easy to see why the harmony condition hasbeen taken to be a logicality condition.

6 / 42

Page 27: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition

Traditionally, the fundamental condition required for building a proof-theoreticsemantics is the existence of a harmonic balance between what is needed inorder to have the right to assert a certain (complex) sentence and what isallowed to draw from that sentence.

When the inference rules governing the assertion conditions are framed by thenatural deduction rules, then the previous idea can be specified in terms ofPrawitz’s inversion principle. According to this principle we have that

[...] by an application of an elimination rule one essentially onlyrestores what had been established if the major premiss of theapplication was inferred by an application of an introduction rule.(Prawitz 1965: 33)

In order words, whatever can be drawn from the conclusion of the eliminationrules for a certain connective c should not exceed what can already be drawnfrom the premisses of the introduction rules for c.

As Sundholm (2004: 454) remarks, this condition straightforwardly leads “[...] toa resurrection of the old idea that the validity of an inference resides in theanalytic containment of the conclusion in the premisses”. And if one accept thatwhat is logical is analytical, then it is easy to see why the harmony condition hasbeen taken to be a logicality condition.

6 / 42

Page 28: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition

Traditionally, the fundamental condition required for building a proof-theoreticsemantics is the existence of a harmonic balance between what is needed inorder to have the right to assert a certain (complex) sentence and what isallowed to draw from that sentence.

When the inference rules governing the assertion conditions are framed by thenatural deduction rules, then the previous idea can be specified in terms ofPrawitz’s inversion principle. According to this principle we have that

[...] by an application of an elimination rule one essentially onlyrestores what had been established if the major premiss of theapplication was inferred by an application of an introduction rule.(Prawitz 1965: 33)

In order words, whatever can be drawn from the conclusion of the eliminationrules for a certain connective c should not exceed what can already be drawnfrom the premisses of the introduction rules for c.

As Sundholm (2004: 454) remarks, this condition straightforwardly leads “[...] toa resurrection of the old idea that the validity of an inference resides in theanalytic containment of the conclusion in the premisses”. And if one accept thatwhat is logical is analytical, then it is easy to see why the harmony condition hasbeen taken to be a logicality condition.

6 / 42

Page 29: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition: An example

Consider the natural deduction rules for implication:

[A]

...

B →I

A → B

A → B A →E

B

These rules satisfy Prawitz’s inversion principle, since a detour (or a local peak)of the following kind

n

[A]

D1

B→I (n)

A → B

D2

A →E

B

reduces to

D2

[A]

D1

B

We can therefore consider that the rules for the implication are harmonious.

7 / 42

Page 30: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition: An example

Consider the natural deduction rules for implication:

[A]

...

B →I

A → B

A → B A →E

B

These rules satisfy Prawitz’s inversion principle, since a detour (or a local peak)of the following kind

n

[A]

D1

B→I (n)

A → B

D2

A →E

B

reduces to

D2

[A]

D1

B

We can therefore consider that the rules for the implication are harmonious.

7 / 42

Page 31: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition: An example

Consider the natural deduction rules for implication:

[A]

...

B →I

A → B

A → B A →E

B

These rules satisfy Prawitz’s inversion principle, since a detour (or a local peak)of the following kind

n

[A]

D1

B→I (n)

A → B

D2

A →E

B

reduces to

D2

[A]

D1

B

We can therefore consider that the rules for the implication are harmonious.

7 / 42

Page 32: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

The harmony condition: An example

Consider the natural deduction rules for implication:

[A]

...

B →I

A → B

A → B A →E

B

These rules satisfy Prawitz’s inversion principle, since a detour (or a local peak)of the following kind

n

[A]

D1

B→I (n)

A → B

D2

A →E

B

reduces to

D2

[A]

D1

B

We can therefore consider that the rules for the implication are harmonious.

7 / 42

Page 33: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Harmony and the Curry-Howard correspondance

The Curry-Howard correspondance allows us to decorate the rules forimplication with λ-terms:

[x : A]

...

t : B →I

λx.t : A → B

t : A → B u : A →E

(t)u : B

The satisfaction of the harmony condition corresponds to the reduction of aβ-redex, i.e. to one step in the execution of a program (written in λ-calculus):

n

[x : A]

D1

t : B→I (n)

λx.t : A → B

D2

u : A →E

(λx.t)u : B

❀β

D2

[u : A]

D1

t[u/x] : B

When closed (typed) λ-terms are considered, the strong normalization theoremguarantees that successive applications of β-reduction always allow one to reacha value, that is, a term in canonical form (i.e. a term beginning with aλ-abstraction). We can then speak of the evaluation of a program.

This fact, together with the uniqueness of the normal form (guaranteed by theChurch-Rosser property), justifies the idea of looking at programs as functions.

8 / 42

Page 34: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Harmony and the Curry-Howard correspondance

The Curry-Howard correspondance allows us to decorate the rules forimplication with λ-terms:

[x : A]

...

t : B →I

λx.t : A → B

t : A → B u : A →E

(t)u : B

The satisfaction of the harmony condition corresponds to the reduction of aβ-redex, i.e. to one step in the execution of a program (written in λ-calculus):

n

[x : A]

D1

t : B→I (n)

λx.t : A → B

D2

u : A →E

(λx.t)u : B

❀β

D2

[u : A]

D1

t[u/x] : B

When closed (typed) λ-terms are considered, the strong normalization theoremguarantees that successive applications of β-reduction always allow one to reacha value, that is, a term in canonical form (i.e. a term beginning with aλ-abstraction). We can then speak of the evaluation of a program.

This fact, together with the uniqueness of the normal form (guaranteed by theChurch-Rosser property), justifies the idea of looking at programs as functions.

8 / 42

Page 35: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Harmony and the Curry-Howard correspondance

The Curry-Howard correspondance allows us to decorate the rules forimplication with λ-terms:

[x : A]

...

t : B →I

λx.t : A → B

t : A → B u : A →E

(t)u : B

The satisfaction of the harmony condition corresponds to the reduction of aβ-redex, i.e. to one step in the execution of a program (written in λ-calculus):

n

[x : A]

D1

t : B→I (n)

λx.t : A → B

D2

u : A →E

(λx.t)u : B

❀β

D2

[u : A]

D1

t[u/x] : B

When closed (typed) λ-terms are considered, the strong normalization theoremguarantees that successive applications of β-reduction always allow one to reacha value, that is, a term in canonical form (i.e. a term beginning with aλ-abstraction). We can then speak of the evaluation of a program.

This fact, together with the uniqueness of the normal form (guaranteed by theChurch-Rosser property), justifies the idea of looking at programs as functions.

8 / 42

Page 36: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Harmony and the Curry-Howard correspondance

The Curry-Howard correspondance allows us to decorate the rules forimplication with λ-terms:

[x : A]

...

t : B →I

λx.t : A → B

t : A → B u : A →E

(t)u : B

The satisfaction of the harmony condition corresponds to the reduction of aβ-redex, i.e. to one step in the execution of a program (written in λ-calculus):

n

[x : A]

D1

t : B→I (n)

λx.t : A → B

D2

u : A →E

(λx.t)u : B

❀β

D2

[u : A]

D1

t[u/x] : B

When closed (typed) λ-terms are considered, the strong normalization theoremguarantees that successive applications of β-reduction always allow one to reacha value, that is, a term in canonical form (i.e. a term beginning with aλ-abstraction). We can then speak of the evaluation of a program.

This fact, together with the uniqueness of the normal form (guaranteed by theChurch-Rosser property), justifies the idea of looking at programs as functions.

8 / 42

Page 37: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Harmony and the Curry-Howard correspondance

The Curry-Howard correspondance allows us to decorate the rules forimplication with λ-terms:

[x : A]

...

t : B →I

λx.t : A → B

t : A → B u : A →E

(t)u : B

The satisfaction of the harmony condition corresponds to the reduction of aβ-redex, i.e. to one step in the execution of a program (written in λ-calculus):

n

[x : A]

D1

t : B→I (n)

λx.t : A → B

D2

u : A →E

(λx.t)u : B

❀β

D2

[u : A]

D1

t[u/x] : B

When closed (typed) λ-terms are considered, the strong normalization theoremguarantees that successive applications of β-reduction always allow one to reacha value, that is, a term in canonical form (i.e. a term beginning with aλ-abstraction). We can then speak of the evaluation of a program.

This fact, together with the uniqueness of the normal form (guaranteed by theChurch-Rosser property), justifies the idea of looking at programs as functions.

8 / 42

Page 38: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Extension to conjunction

What we said for the implication also holds for the conjunction.

9 / 42

Page 39: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Extension to conjunction

What we said for the implication also holds for the conjunction.

The rules

A1 A2∧I

A1 ∧ A2

A1 ∧A2∧Ei

(i ∈ {1, 2})Ai

are harmonious.

9 / 42

Page 40: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Extension to conjunction

What we said for the implication also holds for the conjunction.

The rules

A1 A2∧I

A1 ∧ A2

A1 ∧A2∧Ei

(i ∈ {1, 2})Ai

are harmonious. We have indeed that

D1

A1

D2

A2∧I

A1 ∧ A2 ∧Ei

Ai

reduces toDi

Ai

9 / 42

Page 41: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Extension to conjunction

What we said for the implication also holds for the conjunction.

We can extend λ-calculus with the operations of pairing and projections, andhave the following rules decoration:

t1 : A1 t2 : A2∧I

〈t1, t2〉 : A1 ∧ A2

t : A1 ∧ A2∧I (i ∈ {1, 2})

πi : Ai

9 / 42

Page 42: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Extension to conjunction

What we said for the implication also holds for the conjunction.

We can extend λ-calculus with the operations of pairing and projections, andhave the following rules decoration:

t1 : A1 t2 : A2∧I

〈t1, t2〉 : A1 ∧ A2

t : A1 ∧ A2∧I (i ∈ {1, 2})

πi : Ai

The detour reduction for conjunction induces an extension of β-reduction:

D1

t1 : A1

D2

t2 : A2∧I

〈t1, t2〉 : A1 ∧ A2∧Ei

πi(〈t1, t2〉) : Ai

❀β

Di

ti : Ai

9 / 42

Page 43: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Formulas and types

In the previous examples, the formulas of propositional logic play the role oftypes for the (pure) λ-terms (according to a Curry-style typing).

Formulas are defined according to a syntax which is established in advance andindependently of the λ-terms, and types simply follow this syntactical hierarchy.

In particular, the connectives used for constructing formulas/types have alsobeen established in advance and independently of the λ-terms.

But if our aim is to characterize logical connectives from a computational pointof view, it seems then reasonable to give a computational definition of theconnectives.

The first step in this direction is to characterize types starting from pure (andthus untyped) λ-terms.

The idea is not to have ready-made types, but to let them emerge from theinteraction between λ-terms.

10 / 42

Page 44: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Formulas and types

In the previous examples, the formulas of propositional logic play the role oftypes for the (pure) λ-terms (according to a Curry-style typing).

Formulas are defined according to a syntax which is established in advance andindependently of the λ-terms, and types simply follow this syntactical hierarchy.

In particular, the connectives used for constructing formulas/types have alsobeen established in advance and independently of the λ-terms.

But if our aim is to characterize logical connectives from a computational pointof view, it seems then reasonable to give a computational definition of theconnectives.

The first step in this direction is to characterize types starting from pure (andthus untyped) λ-terms.

The idea is not to have ready-made types, but to let them emerge from theinteraction between λ-terms.

10 / 42

Page 45: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Formulas and types

In the previous examples, the formulas of propositional logic play the role oftypes for the (pure) λ-terms (according to a Curry-style typing).

Formulas are defined according to a syntax which is established in advance andindependently of the λ-terms, and types simply follow this syntactical hierarchy.

In particular, the connectives used for constructing formulas/types have alsobeen established in advance and independently of the λ-terms.

But if our aim is to characterize logical connectives from a computational pointof view, it seems then reasonable to give a computational definition of theconnectives.

The first step in this direction is to characterize types starting from pure (andthus untyped) λ-terms.

The idea is not to have ready-made types, but to let them emerge from theinteraction between λ-terms.

10 / 42

Page 46: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Formulas and types

In the previous examples, the formulas of propositional logic play the role oftypes for the (pure) λ-terms (according to a Curry-style typing).

Formulas are defined according to a syntax which is established in advance andindependently of the λ-terms, and types simply follow this syntactical hierarchy.

In particular, the connectives used for constructing formulas/types have alsobeen established in advance and independently of the λ-terms.

But if our aim is to characterize logical connectives from a computational pointof view, it seems then reasonable to give a computational definition of theconnectives.

The first step in this direction is to characterize types starting from pure (andthus untyped) λ-terms.

The idea is not to have ready-made types, but to let them emerge from theinteraction between λ-terms.

10 / 42

Page 47: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Formulas and types

In the previous examples, the formulas of propositional logic play the role oftypes for the (pure) λ-terms (according to a Curry-style typing).

Formulas are defined according to a syntax which is established in advance andindependently of the λ-terms, and types simply follow this syntactical hierarchy.

In particular, the connectives used for constructing formulas/types have alsobeen established in advance and independently of the λ-terms.

But if our aim is to characterize logical connectives from a computational pointof view, it seems then reasonable to give a computational definition of theconnectives.

The first step in this direction is to characterize types starting from pure (andthus untyped) λ-terms.

The idea is not to have ready-made types, but to let them emerge from theinteraction between λ-terms.

10 / 42

Page 48: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Formulas and types

In the previous examples, the formulas of propositional logic play the role oftypes for the (pure) λ-terms (according to a Curry-style typing).

Formulas are defined according to a syntax which is established in advance andindependently of the λ-terms, and types simply follow this syntactical hierarchy.

In particular, the connectives used for constructing formulas/types have alsobeen established in advance and independently of the λ-terms.

But if our aim is to characterize logical connectives from a computational pointof view, it seems then reasonable to give a computational definition of theconnectives.

The first step in this direction is to characterize types starting from pure (andthus untyped) λ-terms.

The idea is not to have ready-made types, but to let them emerge from theinteraction between λ-terms.

10 / 42

Page 49: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 50: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 51: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 52: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 53: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 54: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 55: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 56: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 57: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

Set of terms Λt := x |λx.t | (t)t | 〈t, t〉 |π1(t) |π2(t)

Evaluation contexts Σ

C( ) := ( )t1 . . . tn |π1( ) |π2( )

SN := the set of strongly β-normalizable λ-terms.

Definition (Orthogonality)

t‹C( ) if and only if C(t) ∈ SN .

(See Riba 2009)

The set of contexts Σ can be seen as the set of all possible tests for a certainprogram t. When orthogonality holds it means that t passes one of these tests:t is successfully evaluated in C() since the evaluation process (always) terminatesby reaching a normal form.

Let A ⊂ Λ, then A‹ = {C( ) | t‹C( ), for all t ∈ A}.

Let E ⊂ Σ, then E‹ = {t | t‹C( ), for all C( ) ∈ E}.

11 / 42

Page 58: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

When A ⊂ Λ is orthogonal with E ⊂ Σ this means that the elements of Abehave in the same manner when tested with the elements of E. We can thussay that the set E allows one to characterize the type of the elements forming A.

A set A ⊂ Λ corresponds to a type if and only if there exists a set E ⊂ Σ, suchthat A = E

‹. This is equivalent to

Definition (Type)

A ⊂ Λ is a type if and only if A = A‹‹.

The two following sets are types

A → B = {t | (t)u ∈ B, for all t ∈ A}‹‹

A ∧B = {t |π1(t) ∈ A and π2(t) ∈ B}‹‹

12 / 42

Page 59: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

When A ⊂ Λ is orthogonal with E ⊂ Σ this means that the elements of Abehave in the same manner when tested with the elements of E. We can thussay that the set E allows one to characterize the type of the elements forming A.

A set A ⊂ Λ corresponds to a type if and only if there exists a set E ⊂ Σ, suchthat A = E

‹. This is equivalent to

Definition (Type)

A ⊂ Λ is a type if and only if A = A‹‹.

The two following sets are types

A → B = {t | (t)u ∈ B, for all t ∈ A}‹‹

A ∧B = {t |π1(t) ∈ A and π2(t) ∈ B}‹‹

12 / 42

Page 60: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

When A ⊂ Λ is orthogonal with E ⊂ Σ this means that the elements of Abehave in the same manner when tested with the elements of E. We can thussay that the set E allows one to characterize the type of the elements forming A.

A set A ⊂ Λ corresponds to a type if and only if there exists a set E ⊂ Σ, suchthat A = E

‹. This is equivalent to

Definition (Type)

A ⊂ Λ is a type if and only if A = A‹‹.

The two following sets are types

A → B = {t | (t)u ∈ B, for all t ∈ A}‹‹

A ∧B = {t |π1(t) ∈ A and π2(t) ∈ B}‹‹

12 / 42

Page 61: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

When A ⊂ Λ is orthogonal with E ⊂ Σ this means that the elements of Abehave in the same manner when tested with the elements of E. We can thussay that the set E allows one to characterize the type of the elements forming A.

A set A ⊂ Λ corresponds to a type if and only if there exists a set E ⊂ Σ, suchthat A = E

‹. This is equivalent to

Definition (Type)

A ⊂ Λ is a type if and only if A = A‹‹.

The two following sets are types

A → B = {t | (t)u ∈ B, for all t ∈ A}‹‹

A ∧B = {t |π1(t) ∈ A and π2(t) ∈ B}‹‹

12 / 42

Page 62: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A computational definition of types

When A ⊂ Λ is orthogonal with E ⊂ Σ this means that the elements of Abehave in the same manner when tested with the elements of E. We can thussay that the set E allows one to characterize the type of the elements forming A.

A set A ⊂ Λ corresponds to a type if and only if there exists a set E ⊂ Σ, suchthat A = E

‹. This is equivalent to

Definition (Type)

A ⊂ Λ is a type if and only if A = A‹‹.

The two following sets are types

A → B = {t | (t)u ∈ B, for all t ∈ A}‹‹

A ∧B = {t |π1(t) ∈ A and π2(t) ∈ B}‹‹

12 / 42

Page 63: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 64: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 65: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 66: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 67: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 68: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 69: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 70: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 71: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 1: lack of generality

If we want our framework to be general enough, we should be able to introducenew arbitrary operations directly on the pure (i.e. untyped) λ-terms.

But what does it guide us in the definition of these new operations?

Consider for instance the case in which we want to define a new typecorresponding to a modality. Which operations on the untyped terms should weintroduce?

We can observe that these extensions of the λ-calculus are often made by addingsome ad hoc operations. E.g. in Bierman and de Paiva (2000) the inference rulesfor the ✷ of (intuitionistic) S4 are decorated in the following terms:

u1 : ✷A1 . . . uk : ✷Ak

[x1 : ✷A1, . . . , xk : ✷Ak]

...t : A

✷I

box t with ~u in ~x : ✷A

t : ✷At : ✷E

unbox(t) : A

Here, the operations box and unbox just mimic the form of the inference rulesacting on the formulas, and it seems quite hard to justify their introductionindependently of the inference rules for ✷.

The formulas/types level is therefore taken as prior with respect to thecomputational one. We are thus departing from the idea of defining types andconnectives starting from the computational and untyped level.

13 / 42

Page 72: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 2: lack of stability

However, even if we can find a way of justifying the introduction of operationslike box and unbox without passing through the inference rules in advance, stillsome problems remain.

In a framework like the one based on λ-calculus, the notion of execution(evaluation) is not a stable one: the introduction of new operations on λ-termsimposes a modification (or better, an extension) of this notion.

Consider again the previous example. Once the operations box and unbox areadded, the notion of β-reduction has to be modified by extending it with a newrewrite rule, i.e.

unbox(box t with ~u in ~x) ❀β t[~u/~x]

In the very same way, the notion of orthogonality becomes unstable becausewhen new programs are considered, a modification of the set of evaluationcontexts is required.

14 / 42

Page 73: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 2: lack of stability

However, even if we can find a way of justifying the introduction of operationslike box and unbox without passing through the inference rules in advance, stillsome problems remain.

In a framework like the one based on λ-calculus, the notion of execution(evaluation) is not a stable one: the introduction of new operations on λ-termsimposes a modification (or better, an extension) of this notion.

Consider again the previous example. Once the operations box and unbox areadded, the notion of β-reduction has to be modified by extending it with a newrewrite rule, i.e.

unbox(box t with ~u in ~x) ❀β t[~u/~x]

In the very same way, the notion of orthogonality becomes unstable becausewhen new programs are considered, a modification of the set of evaluationcontexts is required.

14 / 42

Page 74: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 2: lack of stability

However, even if we can find a way of justifying the introduction of operationslike box and unbox without passing through the inference rules in advance, stillsome problems remain.

In a framework like the one based on λ-calculus, the notion of execution(evaluation) is not a stable one: the introduction of new operations on λ-termsimposes a modification (or better, an extension) of this notion.

Consider again the previous example. Once the operations box and unbox areadded, the notion of β-reduction has to be modified by extending it with a newrewrite rule, i.e.

unbox(box t with ~u in ~x) ❀β t[~u/~x]

In the very same way, the notion of orthogonality becomes unstable becausewhen new programs are considered, a modification of the set of evaluationcontexts is required.

14 / 42

Page 75: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 2: lack of stability

However, even if we can find a way of justifying the introduction of operationslike box and unbox without passing through the inference rules in advance, stillsome problems remain.

In a framework like the one based on λ-calculus, the notion of execution(evaluation) is not a stable one: the introduction of new operations on λ-termsimposes a modification (or better, an extension) of this notion.

Consider again the previous example. Once the operations box and unbox areadded, the notion of β-reduction has to be modified by extending it with a newrewrite rule, i.e.

unbox(box t with ~u in ~x) ❀β t[~u/~x]

In the very same way, the notion of orthogonality becomes unstable becausewhen new programs are considered, a modification of the set of evaluationcontexts is required.

14 / 42

Page 76: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 2: lack of stability

However, even if we can find a way of justifying the introduction of operationslike box and unbox without passing through the inference rules in advance, stillsome problems remain.

In a framework like the one based on λ-calculus, the notion of execution(evaluation) is not a stable one: the introduction of new operations on λ-termsimposes a modification (or better, an extension) of this notion.

Consider again the previous example. Once the operations box and unbox areadded, the notion of β-reduction has to be modified by extending it with a newrewrite rule, i.e.

unbox(box t with ~u in ~x) ❀β t[~u/~x]

In the very same way, the notion of orthogonality becomes unstable becausewhen new programs are considered, a modification of the set of evaluationcontexts is required.

14 / 42

Page 77: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Criticism 2: lack of stability

However, even if we can find a way of justifying the introduction of operationslike box and unbox without passing through the inference rules in advance, stillsome problems remain.

In a framework like the one based on λ-calculus, the notion of execution(evaluation) is not a stable one: the introduction of new operations on λ-termsimposes a modification (or better, an extension) of this notion.

Consider again the previous example. Once the operations box and unbox areadded, the notion of β-reduction has to be modified by extending it with a newrewrite rule, i.e.

unbox(box t with ~u in ~x) ❀β t[~u/~x]

In the very same way, the notion of orthogonality becomes unstable becausewhen new programs are considered, a modification of the set of evaluationcontexts is required.

14 / 42

Page 78: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Summing up the problem

Our starting point was to give a computational characterization to theproof-theoretic notion of harmony and use it in order to establish acomputational criterion of logicality.

We have seen that this computational characterization corresponds to the notionof (program) execution.

However, the way in which we represented programs (i.e. through the λ-calculusand its extensions) does not guarantee to have a stable notion of execution.

We thus lack a stable notion on which grounding the question of logicality.

15 / 42

Page 79: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Summing up the problem

Our starting point was to give a computational characterization to theproof-theoretic notion of harmony and use it in order to establish acomputational criterion of logicality.

We have seen that this computational characterization corresponds to the notionof (program) execution.

However, the way in which we represented programs (i.e. through the λ-calculusand its extensions) does not guarantee to have a stable notion of execution.

We thus lack a stable notion on which grounding the question of logicality.

15 / 42

Page 80: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Summing up the problem

Our starting point was to give a computational characterization to theproof-theoretic notion of harmony and use it in order to establish acomputational criterion of logicality.

We have seen that this computational characterization corresponds to the notionof (program) execution.

However, the way in which we represented programs (i.e. through the λ-calculusand its extensions) does not guarantee to have a stable notion of execution.

We thus lack a stable notion on which grounding the question of logicality.

15 / 42

Page 81: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Summing up the problem

Our starting point was to give a computational characterization to theproof-theoretic notion of harmony and use it in order to establish acomputational criterion of logicality.

We have seen that this computational characterization corresponds to the notionof (program) execution.

However, the way in which we represented programs (i.e. through the λ-calculusand its extensions) does not guarantee to have a stable notion of execution.

We thus lack a stable notion on which grounding the question of logicality.

15 / 42

Page 82: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigms: proofs

In fact, looking back at the proof-theoretic level, this lack of stability is notreally astonishing.

As we have seen, the notion of harmony is traditionally captured by the notionof detour-reduction in the natural deduction setting.

Now, in natural deduction the notion of detour is also not a stable one: everytime that a new connective is introduced, new inference rules are added, and anew detour can be defined.

But if we consider the sequent calculus setting this problem can be avoided: eachdetour can be replaced by the use of one and the same rule, i.e. the cut rule.

More precisely, in sequent calculus, a detour for a certain connective ∗ takes theform of the following configuration:

D1 ∗RΓ ⊢ A

D2 ∗L∆, A ⊢ C

CutΓ,∆ ⊢ C

where ∗ is the principal connective of A.

16 / 42

Page 83: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigms: proofs

In fact, looking back at the proof-theoretic level, this lack of stability is notreally astonishing.

As we have seen, the notion of harmony is traditionally captured by the notionof detour-reduction in the natural deduction setting.

Now, in natural deduction the notion of detour is also not a stable one: everytime that a new connective is introduced, new inference rules are added, and anew detour can be defined.

But if we consider the sequent calculus setting this problem can be avoided: eachdetour can be replaced by the use of one and the same rule, i.e. the cut rule.

More precisely, in sequent calculus, a detour for a certain connective ∗ takes theform of the following configuration:

D1 ∗RΓ ⊢ A

D2 ∗L∆, A ⊢ C

CutΓ,∆ ⊢ C

where ∗ is the principal connective of A.

16 / 42

Page 84: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigms: proofs

In fact, looking back at the proof-theoretic level, this lack of stability is notreally astonishing.

As we have seen, the notion of harmony is traditionally captured by the notionof detour-reduction in the natural deduction setting.

Now, in natural deduction the notion of detour is also not a stable one: everytime that a new connective is introduced, new inference rules are added, and anew detour can be defined.

But if we consider the sequent calculus setting this problem can be avoided: eachdetour can be replaced by the use of one and the same rule, i.e. the cut rule.

More precisely, in sequent calculus, a detour for a certain connective ∗ takes theform of the following configuration:

D1 ∗RΓ ⊢ A

D2 ∗L∆, A ⊢ C

CutΓ,∆ ⊢ C

where ∗ is the principal connective of A.

16 / 42

Page 85: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigms: proofs

In fact, looking back at the proof-theoretic level, this lack of stability is notreally astonishing.

As we have seen, the notion of harmony is traditionally captured by the notionof detour-reduction in the natural deduction setting.

Now, in natural deduction the notion of detour is also not a stable one: everytime that a new connective is introduced, new inference rules are added, and anew detour can be defined.

But if we consider the sequent calculus setting this problem can be avoided: eachdetour can be replaced by the use of one and the same rule, i.e. the cut rule.

More precisely, in sequent calculus, a detour for a certain connective ∗ takes theform of the following configuration:

D1 ∗RΓ ⊢ A

D2 ∗L∆, A ⊢ C

CutΓ,∆ ⊢ C

where ∗ is the principal connective of A.

16 / 42

Page 86: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigms: proofs

In fact, looking back at the proof-theoretic level, this lack of stability is notreally astonishing.

As we have seen, the notion of harmony is traditionally captured by the notionof detour-reduction in the natural deduction setting.

Now, in natural deduction the notion of detour is also not a stable one: everytime that a new connective is introduced, new inference rules are added, and anew detour can be defined.

But if we consider the sequent calculus setting this problem can be avoided: eachdetour can be replaced by the use of one and the same rule, i.e. the cut rule.

More precisely, in sequent calculus, a detour for a certain connective ∗ takes theform of the following configuration:

D1 ∗RΓ ⊢ A

D2 ∗L∆, A ⊢ C

CutΓ,∆ ⊢ C

where ∗ is the principal connective of A.

16 / 42

Page 87: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigms: proofs

In fact, looking back at the proof-theoretic level, this lack of stability is notreally astonishing.

As we have seen, the notion of harmony is traditionally captured by the notionof detour-reduction in the natural deduction setting.

Now, in natural deduction the notion of detour is also not a stable one: everytime that a new connective is introduced, new inference rules are added, and anew detour can be defined.

But if we consider the sequent calculus setting this problem can be avoided: eachdetour can be replaced by the use of one and the same rule, i.e. the cut rule.

More precisely, in sequent calculus, a detour for a certain connective ∗ takes theform of the following configuration:

D1 ∗RΓ ⊢ A

D2 ∗L∆, A ⊢ C

CutΓ,∆ ⊢ C

where ∗ is the principal connective of A.

16 / 42

Page 88: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigm: programs

The first step towards the definition of a new untyped computational setting(alternative to λ-calculus) is then to specify a uniform notion of executionmodeled upon the notion of cut elimination.

The second step consists in considering a new kind of computational untypedobjects emerging from a geometrical interpretation of proofs (Girard 1989).

The characterization of these objects will not enter into the traditional functionalparadigm. However, it will be still possible to consider them as programs, sincetwo fundamental features used for charactering programs can be specified:

1. execution;

2. termination.

The notion of termination will be essentially linked with a new definition of thenotion of orthogonality. This new definition will be a uniform one, and it willnot correspond anymore to the extraction of a value.

17 / 42

Page 89: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigm: programs

The first step towards the definition of a new untyped computational setting(alternative to λ-calculus) is then to specify a uniform notion of executionmodeled upon the notion of cut elimination.

The second step consists in considering a new kind of computational untypedobjects emerging from a geometrical interpretation of proofs (Girard 1989).

The characterization of these objects will not enter into the traditional functionalparadigm. However, it will be still possible to consider them as programs, sincetwo fundamental features used for charactering programs can be specified:

1. execution;

2. termination.

The notion of termination will be essentially linked with a new definition of thenotion of orthogonality. This new definition will be a uniform one, and it willnot correspond anymore to the extraction of a value.

17 / 42

Page 90: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigm: programs

The first step towards the definition of a new untyped computational setting(alternative to λ-calculus) is then to specify a uniform notion of executionmodeled upon the notion of cut elimination.

The second step consists in considering a new kind of computational untypedobjects emerging from a geometrical interpretation of proofs (Girard 1989).

The characterization of these objects will not enter into the traditional functionalparadigm. However, it will be still possible to consider them as programs, sincetwo fundamental features used for charactering programs can be specified:

1. execution;

2. termination.

The notion of termination will be essentially linked with a new definition of thenotion of orthogonality. This new definition will be a uniform one, and it willnot correspond anymore to the extraction of a value.

17 / 42

Page 91: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigm: programs

The first step towards the definition of a new untyped computational setting(alternative to λ-calculus) is then to specify a uniform notion of executionmodeled upon the notion of cut elimination.

The second step consists in considering a new kind of computational untypedobjects emerging from a geometrical interpretation of proofs (Girard 1989).

The characterization of these objects will not enter into the traditional functionalparadigm. However, it will be still possible to consider them as programs, sincetwo fundamental features used for charactering programs can be specified:

1. execution;

2. termination.

The notion of termination will be essentially linked with a new definition of thenotion of orthogonality. This new definition will be a uniform one, and it willnot correspond anymore to the extraction of a value.

17 / 42

Page 92: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigm: programs

The first step towards the definition of a new untyped computational setting(alternative to λ-calculus) is then to specify a uniform notion of executionmodeled upon the notion of cut elimination.

The second step consists in considering a new kind of computational untypedobjects emerging from a geometrical interpretation of proofs (Girard 1989).

The characterization of these objects will not enter into the traditional functionalparadigm. However, it will be still possible to consider them as programs, sincetwo fundamental features used for charactering programs can be specified:

1. execution;

2. termination.

The notion of termination will be essentially linked with a new definition of thenotion of orthogonality. This new definition will be a uniform one, and it willnot correspond anymore to the extraction of a value.

17 / 42

Page 93: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigm: programs

The first step towards the definition of a new untyped computational setting(alternative to λ-calculus) is then to specify a uniform notion of executionmodeled upon the notion of cut elimination.

The second step consists in considering a new kind of computational untypedobjects emerging from a geometrical interpretation of proofs (Girard 1989).

The characterization of these objects will not enter into the traditional functionalparadigm. However, it will be still possible to consider them as programs, sincetwo fundamental features used for charactering programs can be specified:

1. execution;

2. termination.

The notion of termination will be essentially linked with a new definition of thenotion of orthogonality. This new definition will be a uniform one, and it willnot correspond anymore to the extraction of a value.

17 / 42

Page 94: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Shifting of paradigm: programs

The first step towards the definition of a new untyped computational setting(alternative to λ-calculus) is then to specify a uniform notion of executionmodeled upon the notion of cut elimination.

The second step consists in considering a new kind of computational untypedobjects emerging from a geometrical interpretation of proofs (Girard 1989).

The characterization of these objects will not enter into the traditional functionalparadigm. However, it will be still possible to consider them as programs, sincetwo fundamental features used for charactering programs can be specified:

1. execution;

2. termination.

The notion of termination will be essentially linked with a new definition of thenotion of orthogonality. This new definition will be a uniform one, and it willnot correspond anymore to the extraction of a value.

17 / 42

Page 95: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

AxP ⊢ P

AxQ ⊢ Q

∧R

P,Q ⊢ P ∧Q,RAx

R ⊢ R∧R

P,Q,R ⊢ (P ∧Q) ∧ R∧L

P,Q ∧ R ⊢ (P ∧Q) ∧ R∧L

P ∧ (Q ∧R) ⊢ (P ∧Q) ∧R

18 / 42

Page 96: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

AxP ⊢ P

AxQ ⊢ Q

∧R

P,Q ⊢ P ∧Q,RAx

R ⊢ R∧R

P,Q,R ⊢ (P ∧Q) ∧ R∧L

P,Q ∧ R ⊢ (P ∧Q) ∧ R∧L

P ∧ (Q ∧R) ⊢ (P ∧Q) ∧R

A one-sided formulation of sequent calculus can be considered.

18 / 42

Page 97: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

Ax⊢ P,∼ P

Ax⊢ Q,∼ Q

∧⊢ P ∧Q,∼ P,∼ Q

Ax⊢ R,∼ R

∧⊢ (P ∧Q) ∧R,∼ P,∼ Q,∼ R

∨⊢ (P ∧Q) ∧ R,∼ P,∼ Q∨ ∼ R

∨⊢ (P ∧Q) ∧ R,∼ P ∨ (∼ Q∨ ∼ R)

18 / 42

Page 98: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

Ax⊢ P,∼ P

Ax⊢ Q,∼ Q

∧⊢ P ∧Q,∼ P,∼ Q

Ax⊢ R,∼ R

∧⊢ (P ∧Q) ∧R,∼ P,∼ Q,∼ R

∨⊢ (P ∧Q) ∧ R,∼ P,∼ Q∨ ∼ R

∨⊢ (P ∧Q) ∧ R,∼ P ∨ (∼ Q∨ ∼ R)

Here, every atom (P,Q,R) comes with its dual (∼ P,∼ Q,∼ R), and formulasare considered up to the De Morgan dualities.

18 / 42

Page 99: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

Ax⊢ P,∼ P

Ax⊢ Q,∼ Q

∧⊢ P ∧Q,∼ P,∼ Q

Ax⊢ R,∼ R

∧⊢ (P ∧Q) ∧R,∼ P,∼ Q,∼ R

∨⊢ (P ∧Q) ∧ R,∼ P,∼ Q∨ ∼ R

∨⊢ (P ∧Q) ∧ R,∼ P ∨ (∼ Q∨ ∼ R)

The rules considered are in the multiplicative format, and since no structuralrules are applied, we can adopt the language of MLL.

18 / 42

Page 100: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

Ax⊢ P,∼ P

Ax⊢ Q,∼ Q

⊗⊢ P ⊗Q,∼ P,∼ Q

Ax⊢ R,∼ R

⊗⊢ (P ⊗Q)⊗R,∼ P,∼ Q,∼ R

`

⊢ (P ⊗Q)⊗ R,∼ P,∼ Q` ∼ R`

⊢ (P ⊗Q)⊗ R,∼ P ` (∼ Q` ∼ R)

18 / 42

Page 101: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

Ax⊢ P,∼ P

Ax⊢ Q,∼ Q

⊗⊢ P ⊗Q,∼ P,∼ Q

Ax⊢ R,∼ R

⊗⊢ (P ⊗Q)⊗R,∼ P,∼ Q,∼ R

`

⊢ (P ⊗Q)⊗ R,∼ P,∼ Q` ∼ R`

⊢ (P ⊗Q)⊗ R,∼ P ` (∼ Q` ∼ R)

Each rule can be replaced by a link relating the active formulas of the rule (thislink takes the form of a directed hyperedge, where the formulas are its vertices).

18 / 42

Page 102: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

•P •∼ P

•Q •∼ Q

•R •∼ R

•⊗

•P ⊗Q

L R

•⊗

•(P ⊗Q)⊗R

L R

• •

•`

•∼ Q` ∼ R

L R

•`

•∼ P ` (∼ Q` ∼ R)

L R

18 / 42

Page 103: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

• •

• •

• •

•⊗

L R

•⊗

L R

• •

•`

L R

•`

L R

18 / 42

Page 104: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs

Consider the following proof:

•1 •2

•3 •4

•5 •6

•⊗

L R

•⊗

L R

• •

•`

L R

•`

L R

18 / 42

Page 105: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Some properties

It is possible to construct hypergraphs that do not correspond to any sequentcalculus proof. E.g.

• •

• •

• •

•⊗

L R•⊗

L R

•⊗

L R

19 / 42

Page 106: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Some properties

It is possible to construct hypergraphs that do not correspond to any sequentcalculus proof. E.g.

• •

• •

• •

•⊗

L R•⊗

L R

•⊗

L R

19 / 42

Page 107: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Correctness criterion for graphs

A correctness criterion for graphs is needed.

It is possible to define a way to go through the nodes of a hypergraph coincidingwith some property which allows one to identify only those graphs correspondingto sequentializable proofs: e.g. the possibility of passing through all the nodes ofa hypergraph using only one cycle (long trips criterion; see Girard 1987, 1988).

20 / 42

Page 108: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Correctness criterion for graphs

A correctness criterion for graphs is needed.

It is possible to define a way to go through the nodes of a hypergraph coincidingwith some property which allows one to identify only those graphs correspondingto sequentializable proofs: e.g. the possibility of passing through all the nodes ofa hypergraph using only one cycle (long trips criterion; see Girard 1987, 1988).

20 / 42

Page 109: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Correctness criterion for graphs

A correctness criterion for graphs is needed.

It is possible to define a way to go through the nodes of a hypergraph coincidingwith some property which allows one to identify only those graphs correspondingto sequentializable proofs: e.g. the possibility of passing through all the nodes ofa hypergraph using only one cycle (long trips criterion; see Girard 1987, 1988).

20 / 42

Page 110: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

• •

(a) Axiom Link

• •

(b) Cut Link

Figure : Axiom and Cut Links

21 / 42

Page 111: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

↑ ↓ ↑ ↓

(a) Axiom Link

↑ ↓ ↑ ↓

(b) Cut Link

Figure : Axiom and Cut Links

21 / 42

Page 112: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

↑ ↓ ↑ ↓

(a) Axiom Link

↑ ↓ ↑ ↓

(b) Cut Link

Figure : Axiom and Cut Links

21 / 42

Page 113: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

• •

•⊗

L R

Figure : Tensor Link

22 / 42

Page 114: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

↑ ↓ ↑ ↓

•⊗

↑ ↓

L R

Figure : Tensor Link

22 / 42

Page 115: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

↑ ↓ ↑ ↓

•⊗

↑ ↓

L R

(a) First switching

↑ ↓ ↑ ↓

•⊗

↑ ↓

L R

(b) Second switching

Figure : Directions for Tensor Link

22 / 42

Page 116: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

↑ ↓ ↑ ↓

•⊗

↑ ↓

L R

(a) First switching

↓ ↑ ↓ ↑

•⊗

↓ ↑

L R

(b) Second switching

Figure : Directions for Tensor Link

22 / 42

Page 117: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

• •

•`

L R

Figure : Par Link

23 / 42

Page 118: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

• •

•`

L R

(a) First switching

• •

•`

L R

(b) Second switching

Figure : Par Link

23 / 42

Page 119: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

↓ ↑ ↓ ↑

•`

↓ ↑

L R

(a) First switching

↓ ↑ ↓ ↑

•`

↓ ↑

L R

(b) Second switching

Figure : Directions for Par Links

23 / 42

Page 120: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A geometrical representation of proofs: Paths

A way to go through the hypergraph can be defined:

↓ ↑ ↓ ↑

•`

↓ ↑

L R

(a) First switching

↓ ↑ ↓ ↑

•`

↓ ↑

L R

(b) Second switching

Figure : Directions for Par Link

23 / 42

Page 121: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

•P •∼ P

•Q •∼ Q

•R •∼ R

•⊗

•P ⊗Q

L R

•⊗

•(P ⊗Q)⊗R

L R

• •

•`

•∼ Q` ∼ R

L R

•`

•∼ P ` (∼ Q` ∼ R)

L R

24 / 42

Page 122: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

•⊗

↑ ↓

L R

•⊗

↑ ↓

L R

•`

↑ ↓

L R

•`

↑ ↓

L R

24 / 42

Page 123: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

•⊗

↑ ↓

L R

•⊗

↑ ↓

L R

•`

↑ ↓

L R

•`

↑ ↓

L R

24 / 42

Page 124: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

•⊗

↑ ↓

L R

•⊗

L R

•`

↑ ↓

L R

•`L R

24 / 42

Page 125: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

↑ ↓ ↑ ↓

•⊗

L R

•⊗

L R

•`L R

•`L R

24 / 42

Page 126: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓

24 / 42

Page 127: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓

24 / 42

Page 128: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓

24 / 42

Page 129: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓

24 / 42

Page 130: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓

24 / 42

Page 131: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓

σ

τ

σ = (1 2)(3 4)(5 6)

τ = (1 3 5)

σ is the permutation induced by the axiomatic part of the proof.

τ is the permutation induced by the typed part of the proof.

24 / 42

Page 132: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓

σ

τ

σ = (1 2)(3 4)(5 6)

τ = (1 3 5)

σ is the permutation induced by the axiomatic part of the proof.

τ is the permutation induced by the typed part of the proof.

Since in the axiomatic part no connectives appear, we can consider it to be theuntyped part of the proof.

24 / 42

Page 133: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From proofs to permutations: An example

• • • • • •τσ

τσ = (1 2 3 4 5 6)

σ is the permutation induced by the axiomatic or untyped part of the proof.

τ is the permutation induced by the typed part of the proof.

Since in the axiomatic part no connectives appear, we can consider it to be theuntyped part of the proof.

24 / 42

Page 134: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 135: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 136: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 137: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 138: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 139: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 140: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 141: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Generalizing the axiom link

As we said, we want to define a uniform notion of execution resting on the cutelimination procedure.

The standard cut elimination strategy consists in pushing the cuts upwards tothe axiom rules. We will then concentrate on the axiomatic part of proofs.

We have seen that the way of going through the axiom links induces apermutation on the the axiomatic part of a proof. This permutation correspondsto a disjoint union of transpositions.

Here, we want to take a generalized form of the axiom rule allowing one tointroduce an arbitrary number of atoms. This rule is called a daimon (Girard2001) and its corresponding axiom link takes the form:

• • . . . • •

•σ

1 2 n− 1 n

Figure : Daimon Link

This daimon link is associated with a cyclic permutation of its vertices.

25 / 42

Page 142: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Untyped proofs

Since permutations can always be written as a product of cycles, the daimonlink allows us to write any permutation.

This fact justifies the following definition:

Definition (Untyped proof)

An untyped proof is a pair a = 〈X,σ〉, where:

1. X ∈ ℘f (N) \ {∅} is called the location of a;

2. σ is a permutation on X.

We show now how the notions of execution and that of termination can bedefined for untyped proofs.

26 / 42

Page 143: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Untyped proofs

Since permutations can always be written as a product of cycles, the daimonlink allows us to write any permutation.

This fact justifies the following definition:

Definition (Untyped proof)

An untyped proof is a pair a = 〈X,σ〉, where:

1. X ∈ ℘f (N) \ {∅} is called the location of a;

2. σ is a permutation on X.

We show now how the notions of execution and that of termination can bedefined for untyped proofs.

26 / 42

Page 144: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Untyped proofs

Since permutations can always be written as a product of cycles, the daimonlink allows us to write any permutation.

This fact justifies the following definition:

Definition (Untyped proof)

An untyped proof is a pair a = 〈X,σ〉, where:

1. X ∈ ℘f (N) \ {∅} is called the location of a;

2. σ is a permutation on X.

We show now how the notions of execution and that of termination can bedefined for untyped proofs.

26 / 42

Page 145: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Untyped proofs

Since permutations can always be written as a product of cycles, the daimonlink allows us to write any permutation.

This fact justifies the following definition:

Definition (Untyped proof)

An untyped proof is a pair a = 〈X,σ〉, where:

1. X ∈ ℘f (N) \ {∅} is called the location of a;

2. σ is a permutation on X.

We show now how the notions of execution and that of termination can bedefined for untyped proofs.

26 / 42

Page 146: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Composition: An example

Consider the two untyped proofs a = 〈{1, 2, 3, 4}, (1, 2, 4, 3)〉 and b = 〈{1, 2}, id〉:

1 2 3 4 1 2

27 / 42

Page 147: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Composition: An example

Their composition is obtained by plugging them together:

1 2 3 4

This operation is analogue to the application of a cut between two proofs.

28 / 42

Page 148: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Composition: An example

Their composition is obtained by plugging them together:

1 2 3 4

This operation is analogue to the application of a cut between two proofs.

28 / 42

Page 149: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Execution: An example

The execution of this application gives as result:

1 2 3 4

29 / 42

Page 150: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Execution: An example

The execution of this application gives as result:

1 2 3 4

29 / 42

Page 151: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Execution: An example

The execution of this application gives as result:

1 2 3 4

29 / 42

Page 152: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Execution: An example

The execution of this application gives as result:

3 4

Execution corresponds to cut elimination.

29 / 42

Page 153: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Looping executions

Sometimes the composition of untyped proofs can generate “internal” cycles(loops).

30 / 42

Page 154: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Looping executions

Sometimes the composition of untyped proofs can generate “internal” cycles(loops).

For example, let a = 〈{1, 2, 3, 4}, (1, 2, 4, 3)〉 and b′ = 〈{1, 2}, (1, 2)〉:

1 2 3 4 1 2

30 / 42

Page 155: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Looping executions

The execution of the composition brings to

1 2 3 4

31 / 42

Page 156: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Looping executions

The execution of the composition brings to

1 2 3 4

31 / 42

Page 157: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Looping executions

The execution of the composition brings to

1 2 3 4

The presence of internal cycles means that the computation does not terminate.

31 / 42

Page 158: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Terminating executions

We have in particular the following definition:

Definition (Termination)

The execution of a composition terminates if there is no internal cycles.

The notion of composition can thus be specified by integrating that oftermination:

Definition (Composition)

Let be a = 〈X ∪ Y, σ〉 and b = 〈Y, τ 〉, with X ∩ Y = ∅ and let πX be the partialidentity on X.The composition of a to b is defined when no internal cycles appear (i.e. τσ isnilpotent) and it is then defined as:

[a b] = 〈X,σ † τ 〉

whereσ † τ = πX(σ ∪ στσ ∪ στστσ . . .)πX

32 / 42

Page 159: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Terminating executions

We have in particular the following definition:

Definition (Termination)

The execution of a composition terminates if there is no internal cycles.

The notion of composition can thus be specified by integrating that oftermination:

Definition (Composition)

Let be a = 〈X ∪ Y, σ〉 and b = 〈Y, τ 〉, with X ∩ Y = ∅ and let πX be the partialidentity on X.The composition of a to b is defined when no internal cycles appear (i.e. τσ isnilpotent) and it is then defined as:

[a b] = 〈X,σ † τ 〉

whereσ † τ = πX(σ ∪ στσ ∪ στστσ . . .)πX

32 / 42

Page 160: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Terminating executions

We have in particular the following definition:

Definition (Termination)

The execution of a composition terminates if there is no internal cycles.

The notion of composition can thus be specified by integrating that oftermination:

Definition (Composition)

Let be a = 〈X ∪ Y, σ〉 and b = 〈Y, τ 〉, with X ∩ Y = ∅ and let πX be the partialidentity on X.The composition of a to b is defined when no internal cycles appear (i.e. τσ isnilpotent) and it is then defined as:

[a b] = 〈X,σ † τ 〉

whereσ † τ = πX(σ ∪ στσ ∪ στστσ . . .)πX

32 / 42

Page 161: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Terminating executions

We have in particular the following definition:

Definition (Termination)

The execution of a composition terminates if there is no internal cycles.

The notion of composition can thus be specified by integrating that oftermination:

Definition (Composition)

Let be a = 〈X ∪ Y, σ〉 and b = 〈Y, τ 〉, with X ∩ Y = ∅ and let πX be the partialidentity on X.The composition of a to b is defined when no internal cycles appear (i.e. τσ isnilpotent) and it is then defined as:

[a b] = 〈X,σ † τ 〉

whereσ † τ = πX(σ ∪ στσ ∪ στστσ . . .)πX

32 / 42

Page 162: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A different paradigm of computation

Termination does not necessarily means that a value is obtained.

E.g. the composition of two untyped proofs having the same location, a = 〈X,σ〉and b = 〈X, τ 〉, gives [a b] = 〈∅, τσ〉, which is not an untyped proof.

We have to focus then on which kind of permutation could be τσ.

Definition (Orthogonality)

Two untyped proofs a = 〈X,σ〉 and b = 〈X, τ 〉 are orthogonal (a‹b) if and only if τσis a cyclic permutation.

This means that a program a is tested (“confronted”) with another one b, andthat b is “accepted” by a and vice versa (i.e. a passes the test of b and b passesthe test of a).

More intuitively, a composition between two untyped proofs with same locationcan be seen as an interaction between two programs; the fact of beingorthogonal means that the interaction “has gone well”.

This captures the idea that programs are procedures allowing one to interactwith some external environment, namely, with other programs.

33 / 42

Page 163: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A different paradigm of computation

Termination does not necessarily means that a value is obtained.

E.g. the composition of two untyped proofs having the same location, a = 〈X,σ〉and b = 〈X, τ 〉, gives [a b] = 〈∅, τσ〉, which is not an untyped proof.

We have to focus then on which kind of permutation could be τσ.

Definition (Orthogonality)

Two untyped proofs a = 〈X,σ〉 and b = 〈X, τ 〉 are orthogonal (a‹b) if and only if τσis a cyclic permutation.

This means that a program a is tested (“confronted”) with another one b, andthat b is “accepted” by a and vice versa (i.e. a passes the test of b and b passesthe test of a).

More intuitively, a composition between two untyped proofs with same locationcan be seen as an interaction between two programs; the fact of beingorthogonal means that the interaction “has gone well”.

This captures the idea that programs are procedures allowing one to interactwith some external environment, namely, with other programs.

33 / 42

Page 164: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A different paradigm of computation

Termination does not necessarily means that a value is obtained.

E.g. the composition of two untyped proofs having the same location, a = 〈X,σ〉and b = 〈X, τ 〉, gives [a b] = 〈∅, τσ〉, which is not an untyped proof.

We have to focus then on which kind of permutation could be τσ.

Definition (Orthogonality)

Two untyped proofs a = 〈X,σ〉 and b = 〈X, τ 〉 are orthogonal (a‹b) if and only if τσis a cyclic permutation.

This means that a program a is tested (“confronted”) with another one b, andthat b is “accepted” by a and vice versa (i.e. a passes the test of b and b passesthe test of a).

More intuitively, a composition between two untyped proofs with same locationcan be seen as an interaction between two programs; the fact of beingorthogonal means that the interaction “has gone well”.

This captures the idea that programs are procedures allowing one to interactwith some external environment, namely, with other programs.

33 / 42

Page 165: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A different paradigm of computation

Termination does not necessarily means that a value is obtained.

E.g. the composition of two untyped proofs having the same location, a = 〈X,σ〉and b = 〈X, τ 〉, gives [a b] = 〈∅, τσ〉, which is not an untyped proof.

We have to focus then on which kind of permutation could be τσ.

Definition (Orthogonality)

Two untyped proofs a = 〈X,σ〉 and b = 〈X, τ 〉 are orthogonal (a‹b) if and only if τσis a cyclic permutation.

This means that a program a is tested (“confronted”) with another one b, andthat b is “accepted” by a and vice versa (i.e. a passes the test of b and b passesthe test of a).

More intuitively, a composition between two untyped proofs with same locationcan be seen as an interaction between two programs; the fact of beingorthogonal means that the interaction “has gone well”.

This captures the idea that programs are procedures allowing one to interactwith some external environment, namely, with other programs.

33 / 42

Page 166: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A different paradigm of computation

Termination does not necessarily means that a value is obtained.

E.g. the composition of two untyped proofs having the same location, a = 〈X,σ〉and b = 〈X, τ 〉, gives [a b] = 〈∅, τσ〉, which is not an untyped proof.

We have to focus then on which kind of permutation could be τσ.

Definition (Orthogonality)

Two untyped proofs a = 〈X,σ〉 and b = 〈X, τ 〉 are orthogonal (a‹b) if and only if τσis a cyclic permutation.

This means that a program a is tested (“confronted”) with another one b, andthat b is “accepted” by a and vice versa (i.e. a passes the test of b and b passesthe test of a).

More intuitively, a composition between two untyped proofs with same locationcan be seen as an interaction between two programs; the fact of beingorthogonal means that the interaction “has gone well”.

This captures the idea that programs are procedures allowing one to interactwith some external environment, namely, with other programs.

33 / 42

Page 167: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A different paradigm of computation

Termination does not necessarily means that a value is obtained.

E.g. the composition of two untyped proofs having the same location, a = 〈X,σ〉and b = 〈X, τ 〉, gives [a b] = 〈∅, τσ〉, which is not an untyped proof.

We have to focus then on which kind of permutation could be τσ.

Definition (Orthogonality)

Two untyped proofs a = 〈X,σ〉 and b = 〈X, τ 〉 are orthogonal (a‹b) if and only if τσis a cyclic permutation.

This means that a program a is tested (“confronted”) with another one b, andthat b is “accepted” by a and vice versa (i.e. a passes the test of b and b passesthe test of a).

More intuitively, a composition between two untyped proofs with same locationcan be seen as an interaction between two programs; the fact of beingorthogonal means that the interaction “has gone well”.

This captures the idea that programs are procedures allowing one to interactwith some external environment, namely, with other programs.

33 / 42

Page 168: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A different paradigm of computation

Termination does not necessarily means that a value is obtained.

E.g. the composition of two untyped proofs having the same location, a = 〈X,σ〉and b = 〈X, τ 〉, gives [a b] = 〈∅, τσ〉, which is not an untyped proof.

We have to focus then on which kind of permutation could be τσ.

Definition (Orthogonality)

Two untyped proofs a = 〈X,σ〉 and b = 〈X, τ 〉 are orthogonal (a‹b) if and only if τσis a cyclic permutation.

This means that a program a is tested (“confronted”) with another one b, andthat b is “accepted” by a and vice versa (i.e. a passes the test of b and b passesthe test of a).

More intuitively, a composition between two untyped proofs with same locationcan be seen as an interaction between two programs; the fact of beingorthogonal means that the interaction “has gone well”.

This captures the idea that programs are procedures allowing one to interactwith some external environment, namely, with other programs.

33 / 42

Page 169: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From untyped proofs to types

The fact that a set of untyped proofs T is orthogonal with another set ofuntyped proofs S means that the objects of T behave in the same manner whentested with the elements of S.

The behavior of an untyped proofs corresponds indeed to its type.

Therefore, a set of untyped proofs T corresponds to a type if and only if it existsanother set S, such that

T = S‹ = {a | a‹b, for all b ∈ S}

This is equivalent to

Definition (Type)

A subset A of S(X) equal to its bi-orthogonal A‹‹ is called a type (of carrier X).

Remark

1. An untyped proof can belong to different types.

2. This is not an inductive notion of type: there is no notion of atomic type.

34 / 42

Page 170: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From untyped proofs to types

The fact that a set of untyped proofs T is orthogonal with another set ofuntyped proofs S means that the objects of T behave in the same manner whentested with the elements of S.

The behavior of an untyped proofs corresponds indeed to its type.

Therefore, a set of untyped proofs T corresponds to a type if and only if it existsanother set S, such that

T = S‹ = {a | a‹b, for all b ∈ S}

This is equivalent to

Definition (Type)

A subset A of S(X) equal to its bi-orthogonal A‹‹ is called a type (of carrier X).

Remark

1. An untyped proof can belong to different types.

2. This is not an inductive notion of type: there is no notion of atomic type.

34 / 42

Page 171: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From untyped proofs to types

The fact that a set of untyped proofs T is orthogonal with another set ofuntyped proofs S means that the objects of T behave in the same manner whentested with the elements of S.

The behavior of an untyped proofs corresponds indeed to its type.

Therefore, a set of untyped proofs T corresponds to a type if and only if it existsanother set S, such that

T = S‹ = {a | a‹b, for all b ∈ S}

This is equivalent to

Definition (Type)

A subset A of S(X) equal to its bi-orthogonal A‹‹ is called a type (of carrier X).

Remark

1. An untyped proof can belong to different types.

2. This is not an inductive notion of type: there is no notion of atomic type.

34 / 42

Page 172: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From untyped proofs to types

The fact that a set of untyped proofs T is orthogonal with another set ofuntyped proofs S means that the objects of T behave in the same manner whentested with the elements of S.

The behavior of an untyped proofs corresponds indeed to its type.

Therefore, a set of untyped proofs T corresponds to a type if and only if it existsanother set S, such that

T = S‹ = {a | a‹b, for all b ∈ S}

This is equivalent to

Definition (Type)

A subset A of S(X) equal to its bi-orthogonal A‹‹ is called a type (of carrier X).

Remark

1. An untyped proof can belong to different types.

2. This is not an inductive notion of type: there is no notion of atomic type.

34 / 42

Page 173: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

From untyped proofs to types

The fact that a set of untyped proofs T is orthogonal with another set ofuntyped proofs S means that the objects of T behave in the same manner whentested with the elements of S.

The behavior of an untyped proofs corresponds indeed to its type.

Therefore, a set of untyped proofs T corresponds to a type if and only if it existsanother set S, such that

T = S‹ = {a | a‹b, for all b ∈ S}

This is equivalent to

Definition (Type)

A subset A of S(X) equal to its bi-orthogonal A‹‹ is called a type (of carrier X).

Remark

1. An untyped proof can belong to different types.

2. This is not an inductive notion of type: there is no notion of atomic type.

34 / 42

Page 174: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 175: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 176: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 177: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 178: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 179: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 180: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 181: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Logical and non-logical operations

Since our untyped objects are mathematical ones, we have more freedom indefining operations on them: any mathematical operation is in principleavailable.

Every operation on untyped proofs allows one to define an operation on types.For instance, if g(x, y) defines an untyped proofs from two untyped proofs x andy, we define the operation on types

g∗(A,B) = {g(x, y) | x ∈ A, y ∈ B}‹‹

Given a type it is always possible to define its orthogonal at the level of types.However, the latter cannot always be expressed through an operation overuntyped proofs.

Minimal logicality condition

An operation on types will be a logical constant when both it and its dual(corresponding to the orthogonal type) have a computational ground, i.e. when theyare both defined by operations on untyped proofs.

A computational harmony between operations on untyped proofs is then assured(cf. the similarity with the harmony between let and right rules in sequentcalculus).

35 / 42

Page 182: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

Take an untyped proof a = 〈X,σ〉 and define the operation of squareexponentiation:

a2 = 〈X,σ2〉

Given a type A, the square operation over untyped proofs induces the new type:

�A = {a2 | a ∈ A}‹‹

Let us now take a look at some examples:

The sets F2 = {〈{1, 2}, id〉} and F3 = {〈{1, 2, 3}, id〉} are types.

In particular, we have

C2 = {〈{1, 2}, (1, 2)〉} = F‹

2

C3 = {〈{1, 2, 3}, (1, 2, 3)〉, 〈{1, 2, 3}, (1, 3, 2)〉} = F‹

3

These equalities are satisfied: �F2 = F2, �C2 = F2, �F3 = F3, �C3 = C3.Hence (�C2)

‹ = C2 and (�C3)‹ = F3

36 / 42

Page 183: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

Take an untyped proof a = 〈X,σ〉 and define the operation of squareexponentiation:

a2 = 〈X,σ2〉

Given a type A, the square operation over untyped proofs induces the new type:

�A = {a2 | a ∈ A}‹‹

Let us now take a look at some examples:

The sets F2 = {〈{1, 2}, id〉} and F3 = {〈{1, 2, 3}, id〉} are types.

In particular, we have

C2 = {〈{1, 2}, (1, 2)〉} = F‹

2

C3 = {〈{1, 2, 3}, (1, 2, 3)〉, 〈{1, 2, 3}, (1, 3, 2)〉} = F‹

3

These equalities are satisfied: �F2 = F2, �C2 = F2, �F3 = F3, �C3 = C3.Hence (�C2)

‹ = C2 and (�C3)‹ = F3

36 / 42

Page 184: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

Take an untyped proof a = 〈X,σ〉 and define the operation of squareexponentiation:

a2 = 〈X,σ2〉

Given a type A, the square operation over untyped proofs induces the new type:

�A = {a2 | a ∈ A}‹‹

Let us now take a look at some examples:

The sets F2 = {〈{1, 2}, id〉} and F3 = {〈{1, 2, 3}, id〉} are types.

In particular, we have

C2 = {〈{1, 2}, (1, 2)〉} = F‹

2

C3 = {〈{1, 2, 3}, (1, 2, 3)〉, 〈{1, 2, 3}, (1, 3, 2)〉} = F‹

3

These equalities are satisfied: �F2 = F2, �C2 = F2, �F3 = F3, �C3 = C3.Hence (�C2)

‹ = C2 and (�C3)‹ = F3

36 / 42

Page 185: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

Take an untyped proof a = 〈X,σ〉 and define the operation of squareexponentiation:

a2 = 〈X,σ2〉

Given a type A, the square operation over untyped proofs induces the new type:

�A = {a2 | a ∈ A}‹‹

Let us now take a look at some examples:

The sets F2 = {〈{1, 2}, id〉} and F3 = {〈{1, 2, 3}, id〉} are types.

In particular, we have

C2 = {〈{1, 2}, (1, 2)〉} = F‹

2

C3 = {〈{1, 2, 3}, (1, 2, 3)〉, 〈{1, 2, 3}, (1, 3, 2)〉} = F‹

3

These equalities are satisfied: �F2 = F2, �C2 = F2, �F3 = F3, �C3 = C3.Hence (�C2)

‹ = C2 and (�C3)‹ = F3

36 / 42

Page 186: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

Take an untyped proof a = 〈X,σ〉 and define the operation of squareexponentiation:

a2 = 〈X,σ2〉

Given a type A, the square operation over untyped proofs induces the new type:

�A = {a2 | a ∈ A}‹‹

Let us now take a look at some examples:

The sets F2 = {〈{1, 2}, id〉} and F3 = {〈{1, 2, 3}, id〉} are types.

In particular, we have

C2 = {〈{1, 2}, (1, 2)〉} = F‹

2

C3 = {〈{1, 2, 3}, (1, 2, 3)〉, 〈{1, 2, 3}, (1, 3, 2)〉} = F‹

3

These equalities are satisfied: �F2 = F2, �C2 = F2, �F3 = F3, �C3 = C3.Hence (�C2)

‹ = C2 and (�C3)‹ = F3

36 / 42

Page 187: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

Take an untyped proof a = 〈X,σ〉 and define the operation of squareexponentiation:

a2 = 〈X,σ2〉

Given a type A, the square operation over untyped proofs induces the new type:

�A = {a2 | a ∈ A}‹‹

Let us now take a look at some examples:

The sets F2 = {〈{1, 2}, id〉} and F3 = {〈{1, 2, 3}, id〉} are types.

In particular, we have

C2 = {〈{1, 2}, (1, 2)〉} = F‹

2

C3 = {〈{1, 2, 3}, (1, 2, 3)〉, 〈{1, 2, 3}, (1, 3, 2)〉} = F‹

3

These equalities are satisfied: �F2 = F2, �C2 = F2, �F3 = F3, �C3 = C3.Hence (�C2)

‹ = C2 and (�C3)‹ = F3

36 / 42

Page 188: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

Take an untyped proof a = 〈X,σ〉 and define the operation of squareexponentiation:

a2 = 〈X,σ2〉

Given a type A, the square operation over untyped proofs induces the new type:

�A = {a2 | a ∈ A}‹‹

Let us now take a look at some examples:

The sets F2 = {〈{1, 2}, id〉} and F3 = {〈{1, 2, 3}, id〉} are types.

In particular, we have

C2 = {〈{1, 2}, (1, 2)〉} = F‹

2

C3 = {〈{1, 2, 3}, (1, 2, 3)〉, 〈{1, 2, 3}, (1, 3, 2)〉} = F‹

3

These equalities are satisfied: �F2 = F2, �C2 = F2, �F3 = F3, �C3 = C3.Hence (�C2)

‹ = C2 and (�C3)‹ = F3

36 / 42

Page 189: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

There is not a general and unique operation over permutations allowing us todefine (�A)‹, for every type A.

This operation should be an operation f on permutations, such that ifb = 〈X, τ 〉 ∈ A

‹, then 〈X, f(τ )〉 ∈ (�A)‹.

This means that f should respect the following condition: for everya = 〈X,σ〉 ∈ A and b = 〈X, τ 〉 ∈ A

‹, if τσ is cyclic then f(τ )σ2 is cyclic.

However, it is not possible to define such a f for every type A.

37 / 42

Page 190: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

There is not a general and unique operation over permutations allowing us todefine (�A)‹, for every type A.

This operation should be an operation f on permutations, such that ifb = 〈X, τ 〉 ∈ A

‹, then 〈X, f(τ )〉 ∈ (�A)‹.

This means that f should respect the following condition: for everya = 〈X,σ〉 ∈ A and b = 〈X, τ 〉 ∈ A

‹, if τσ is cyclic then f(τ )σ2 is cyclic.

However, it is not possible to define such a f for every type A.

37 / 42

Page 191: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

There is not a general and unique operation over permutations allowing us todefine (�A)‹, for every type A.

This operation should be an operation f on permutations, such that ifb = 〈X, τ 〉 ∈ A

‹, then 〈X, f(τ )〉 ∈ (�A)‹.

This means that f should respect the following condition: for everya = 〈X,σ〉 ∈ A and b = 〈X, τ 〉 ∈ A

‹, if τσ is cyclic then f(τ )σ2 is cyclic.

However, it is not possible to define such a f for every type A.

37 / 42

Page 192: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

Non-logical operations: An example

There is not a general and unique operation over permutations allowing us todefine (�A)‹, for every type A.

This operation should be an operation f on permutations, such that ifb = 〈X, τ 〉 ∈ A

‹, then 〈X, f(τ )〉 ∈ (�A)‹.

This means that f should respect the following condition: for everya = 〈X,σ〉 ∈ A and b = 〈X, τ 〉 ∈ A

‹, if τσ is cyclic then f(τ )σ2 is cyclic.

However, it is not possible to define such a f for every type A.

37 / 42

Page 193: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 194: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 195: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 196: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 197: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 198: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 199: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 200: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

A logical operation

Let us define T (A) = {〈X, τ−1〉 | 〈X, τ 〉 ∈ A}‹‹.

We then have that (T (A))‹ = T (A‹). The minimal logicality principle issatisfied.

This construction on types also satisfies other properties. E.g.

◮ It preserves correctness: the inverse of a disjoint union of transpositions is adisjoint union of transpositions;

◮ It is “natural”: if σ ⊂ τ , then σ−1 ⊂ τ−1;

The operator T transform a type into another type, namely the same type.

At the sequent calculus level, this operator is governed by the following rules:

⊢ A⊢ T (A)

⊢ A‹

⊢ T (A‹)

38 / 42

Page 201: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusion (1): Logicality in the untyped framework

As we said, the logicality condition that we imposed is a minimal one.

Other properties of untyped proofs can be taken into account in order to shape astronger logicality criterion. We mentioned for instance the following properties:

◮ the preservation of correctness, i.e. given an untyped proof a = 〈X, σ〉, a has to bea disjoint union of transpositions, namely σ2 = Id and σ(x) 6= x for all x ∈ X;

◮ “naturality”, i.e. the preservation of inclusion in case of permutations;

◮ . . .

The untyped framework we presented seems to be rich enough for entailing apluralist perspective.

39 / 42

Page 202: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusion (1): Logicality in the untyped framework

As we said, the logicality condition that we imposed is a minimal one.

Other properties of untyped proofs can be taken into account in order to shape astronger logicality criterion. We mentioned for instance the following properties:

◮ the preservation of correctness, i.e. given an untyped proof a = 〈X, σ〉, a has to bea disjoint union of transpositions, namely σ2 = Id and σ(x) 6= x for all x ∈ X;

◮ “naturality”, i.e. the preservation of inclusion in case of permutations;

◮ . . .

The untyped framework we presented seems to be rich enough for entailing apluralist perspective.

39 / 42

Page 203: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusion (1): Logicality in the untyped framework

As we said, the logicality condition that we imposed is a minimal one.

Other properties of untyped proofs can be taken into account in order to shape astronger logicality criterion. We mentioned for instance the following properties:

◮ the preservation of correctness, i.e. given an untyped proof a = 〈X, σ〉, a has to bea disjoint union of transpositions, namely σ2 = Id and σ(x) 6= x for all x ∈ X;

◮ “naturality”, i.e. the preservation of inclusion in case of permutations;

◮ . . .

The untyped framework we presented seems to be rich enough for entailing apluralist perspective.

39 / 42

Page 204: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusion (1): Logicality in the untyped framework

As we said, the logicality condition that we imposed is a minimal one.

Other properties of untyped proofs can be taken into account in order to shape astronger logicality criterion. We mentioned for instance the following properties:

◮ the preservation of correctness, i.e. given an untyped proof a = 〈X, σ〉, a has to bea disjoint union of transpositions, namely σ2 = Id and σ(x) 6= x for all x ∈ X;

◮ “naturality”, i.e. the preservation of inclusion in case of permutations;

◮ . . .

The untyped framework we presented seems to be rich enough for entailing apluralist perspective.

39 / 42

Page 205: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusion (1): Logicality in the untyped framework

As we said, the logicality condition that we imposed is a minimal one.

Other properties of untyped proofs can be taken into account in order to shape astronger logicality criterion. We mentioned for instance the following properties:

◮ the preservation of correctness, i.e. given an untyped proof a = 〈X, σ〉, a has to bea disjoint union of transpositions, namely σ2 = Id and σ(x) 6= x for all x ∈ X;

◮ “naturality”, i.e. the preservation of inclusion in case of permutations;

◮ . . .

The untyped framework we presented seems to be rich enough for entailing apluralist perspective.

39 / 42

Page 206: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusion (1): Logicality in the untyped framework

As we said, the logicality condition that we imposed is a minimal one.

Other properties of untyped proofs can be taken into account in order to shape astronger logicality criterion. We mentioned for instance the following properties:

◮ the preservation of correctness, i.e. given an untyped proof a = 〈X, σ〉, a has to bea disjoint union of transpositions, namely σ2 = Id and σ(x) 6= x for all x ∈ X;

◮ “naturality”, i.e. the preservation of inclusion in case of permutations;

◮ . . .

The untyped framework we presented seems to be rich enough for entailing apluralist perspective.

39 / 42

Page 207: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusions (2): Programs in the untyped framework

Our way of linking untyped proofs as permutations to programs has been anindirect one: we showed that a notion of execution and a notion of terminationcan be defined for permutations.

However, as far as we know, permutations are not mathematical entitiesstandardly used in order to represent programs.

A much more standard way to do so (in particular when the evolution ofprograms has to be described) is to use graphs.

In fact, an alternative way of presenting untyped proofs consists in using aparticular kind of graphs: the interaction graphs (Seiller 2012, 2016).

Interaction graphs are extremely expressive as they allow one to capture notonly λ-calculus, but also non-deterministic automata and parallel random-accessmachines (Seiller 2018, Pellissier and Seiller 2019).

40 / 42

Page 208: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusions (2): Programs in the untyped framework

Our way of linking untyped proofs as permutations to programs has been anindirect one: we showed that a notion of execution and a notion of terminationcan be defined for permutations.

However, as far as we know, permutations are not mathematical entitiesstandardly used in order to represent programs.

A much more standard way to do so (in particular when the evolution ofprograms has to be described) is to use graphs.

In fact, an alternative way of presenting untyped proofs consists in using aparticular kind of graphs: the interaction graphs (Seiller 2012, 2016).

Interaction graphs are extremely expressive as they allow one to capture notonly λ-calculus, but also non-deterministic automata and parallel random-accessmachines (Seiller 2018, Pellissier and Seiller 2019).

40 / 42

Page 209: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusions (2): Programs in the untyped framework

Our way of linking untyped proofs as permutations to programs has been anindirect one: we showed that a notion of execution and a notion of terminationcan be defined for permutations.

However, as far as we know, permutations are not mathematical entitiesstandardly used in order to represent programs.

A much more standard way to do so (in particular when the evolution ofprograms has to be described) is to use graphs.

In fact, an alternative way of presenting untyped proofs consists in using aparticular kind of graphs: the interaction graphs (Seiller 2012, 2016).

Interaction graphs are extremely expressive as they allow one to capture notonly λ-calculus, but also non-deterministic automata and parallel random-accessmachines (Seiller 2018, Pellissier and Seiller 2019).

40 / 42

Page 210: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusions (2): Programs in the untyped framework

Our way of linking untyped proofs as permutations to programs has been anindirect one: we showed that a notion of execution and a notion of terminationcan be defined for permutations.

However, as far as we know, permutations are not mathematical entitiesstandardly used in order to represent programs.

A much more standard way to do so (in particular when the evolution ofprograms has to be described) is to use graphs.

In fact, an alternative way of presenting untyped proofs consists in using aparticular kind of graphs: the interaction graphs (Seiller 2012, 2016).

Interaction graphs are extremely expressive as they allow one to capture notonly λ-calculus, but also non-deterministic automata and parallel random-accessmachines (Seiller 2018, Pellissier and Seiller 2019).

40 / 42

Page 211: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusions (2): Programs in the untyped framework

Our way of linking untyped proofs as permutations to programs has been anindirect one: we showed that a notion of execution and a notion of terminationcan be defined for permutations.

However, as far as we know, permutations are not mathematical entitiesstandardly used in order to represent programs.

A much more standard way to do so (in particular when the evolution ofprograms has to be described) is to use graphs.

In fact, an alternative way of presenting untyped proofs consists in using aparticular kind of graphs: the interaction graphs (Seiller 2012, 2016).

Interaction graphs are extremely expressive as they allow one to capture notonly λ-calculus, but also non-deterministic automata and parallel random-accessmachines (Seiller 2018, Pellissier and Seiller 2019).

40 / 42

Page 212: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

By way of conclusions (2): Programs in the untyped framework

Our way of linking untyped proofs as permutations to programs has been anindirect one: we showed that a notion of execution and a notion of terminationcan be defined for permutations.

However, as far as we know, permutations are not mathematical entitiesstandardly used in order to represent programs.

A much more standard way to do so (in particular when the evolution ofprograms has to be described) is to use graphs.

In fact, an alternative way of presenting untyped proofs consists in using aparticular kind of graphs: the interaction graphs (Seiller 2012, 2016).

Interaction graphs are extremely expressive as they allow one to capture notonly λ-calculus, but also non-deterministic automata and parallel random-accessmachines (Seiller 2018, Pellissier and Seiller 2019).

40 / 42

Page 213: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

References (1)

Bierman, G. and de Paiva, V. (2000). On an intuitionistic modal logic. StudiaLogica, 65 (3): 383–416.

Dummett, M. (1991). The Logical Basis of Metaphysics. London: Duckworth.

Girard, J.-Y. (1987). Linear logic. Theoretical Computer Science, 50 (1): 1–102.

Girard, J.-Y. (1988). Multiplicatives. In G. Lolli (ed.), Logic and ComputerScience: New Trends and Applications, pp. 11–34. Rendiconti del seminariomatematico dell’Università e Politecnico di Torino (fascicolo speciale).

Girard, J.-Y. (1989). Towards a geometry of interaction. In J.W. Gray and A.Scedrov (eds), Categories in Computer Science and Logic, pp. 69–108,Providence (R.I.): AMS.

Girard, J.-Y. (2001). Locus solum. Mathematical Structures in ComputerScience, 11 (3): 301–506.

Pellissier, L. and Seiller, T. (2019). Semantics, entropy and complexity lowerbounds. Submitted.

41 / 42

Page 214: Logical Constants from a Computational Point of View · Logical Constants from a Computational Point of View Alberto Naibo (joint work with Mattia Petrolo and Thomas Seiller) IHPST,

References (2)

Prawitz, D. (1965). Natural Deduction: A proof-theoretical study. Stockholm:Almqvist & Wiksell.

Riba, C. (2009). On the values of reducibility candidates. In P.-L. Curien (ed.),TLCA 2009, pp. 264–278. Berlin: Springer.

Seiller, T. (2012). Interaction graphs: multiplicatives.Annals of Pure and AppliedLogic, 163 (12): 1808–1837.

Seiller, T. (2016). Interaction graphs: full linear logic. In M. Grohe et al. (eds),LICS 2016, pp. 427–436. New York: ACM.

Seiller, T. (2018). Interaction Graphs: nondeterministic automata. ACMTransaction in Computational Logic, 19(3):1–24.

Sundholm, G. (2004). Antirealism and the roles of truth. In I. Niiniluoto et al.(eds), Handbook of Epistemology, pp. 437–466. Dordrecht: Kluwer.

Tarski, A. (1986). What are logical notions?. History and Philosophy of Logic, 7(2): 143–154.

42 / 42