Realisability

Emmanuel Beffara

Laboratoire dโ€™Informatique de Grenoble

QComical school, November 2025, Nancy

1 Introduction

The objects at stake

Logical validity

What does it mean for a logical statement to be valid?

The content of proofs

Intuitively, there can be different proofs of a given statement.

But what makes two proofs different, and why does it matter?

This induces different forms of constructivism in logic

Computational consistency

What does it mean for a program to be valid?

Universality and decidability

There is no perfect approach to program correctness.

So there has to be cases where correctness for a type is established by ad-hoc semantic means (e.g.ย unsafe chunks in statically typed code).

Analytic vs synthetic, a priori vs a posteriori

Two useful categorisations of conceptsโ€‰:

Analytic Synthetic
A priori Error-freeness Validity wrt specification
A posteriori Exit code Well-typedness

Inspired by Girard (2017)

Realisability as a method

Chooseโ€‰:

The kinds of results we are afterโ€‰:

2 Intuitionistic realisability

2.1 Minimal logic

Formulas and proofs

Start from a minimal propositional languageโ€‰: P,โ€†Q,โ€†โ€ฆโ€„โฉดโ€„ฮฑโ€…โˆฃโ€…Pโ€„โ†’โ€„Q

Can be extended to a full-fledged logic with

The minimal fragment is enough to illustrate the mechanics.

Johansson (1937)

Hilbert-style proofs

We start with an explicit notion of proof (so-called โ€œsyntheticโ€ and โ€œa prioriโ€), in the style of Hilbert.

Proofs derive sequents of the shape ๐’ฏโ€„โŠขโ€„P where ๐’ฏ is a set of formulas (seen as a theory) and P is a formula (the conclusion).

Enjoys deductionโ€‰: ๐’ฏ,โ€†Pโ€„โŠขโ€„Q if and only if ๐’ฏโ€„โŠขโ€„Pโ€„โ†’โ€„Q.

Heyting algebras โ€“ basic structure

A notion of โ€œtruth valueโ€ for minimal logic.

Definition

A Heyting algebra is a lattice H with โŠค and โŠฅ, with an operator โ†’ that is adjoint to the meetย โˆงโ€‰: aโ€…โˆงโ€…bโ€„โ‰คโ€„cโ€„โ‡”โ€„aโ€„โ‰คโ€„bโ€„โ†’โ€„c

Properties

Heyting algebras โ€“ more connectives

Absurdity โŠฅ

Conjunction Pโ€…โˆงโ€…Q and disjunction Pโ€…โˆจโ€…Q

Negation ยฌP

Heyting algebras โ€“ quantifiers

Proof rules

Interpretation

Exerciseโ€‰: minimal logic is weaker than classical

2.2 The BHK approach to logical validity

Interpreting formulas or proofs

Heyting algebras provide an interpretation of formulas and provability.

The constructivist approach of Brouwer refuses validity as an absolute property of statements but requires effective means of justification, which implies interpreting proofs.

The Brouwer-Heyting-Kolmogorov interpretation

Heyting (1931), Kolmogoroff (1932)

BHKโ€‰: explicit and implicit requirements

The BHK interpretation does not prescribe a particular mathematical structure, nor a general interpretation of atomic statements.

It does interpret proofsโ€‰:

BHKโ€‰: some observations

Kleeneโ€™s realisability

An implementation of the BHK principles for intuitionistic arithmetic.

Defines the statement nโ€„โŠฉโ€„P (n realises P) by induction on Pโ€‰:

where โŸจโ‹…,โ€†โ‹…โŸฉ is a bijection of โ„•ยฒ to โ„• and ฯ† is en enumeration of recursive functions.

Kleene (1945)

The strength of Kleeneโ€™s realisability

Heyting arithmetic HA is intuitionistic logic with first-order quantification and Peanoโ€™s axioms for basic arithmetic.

See for instance Troelstra and van Dalen (1988)

2.3 Partial combinatory algebras

Abstracting the computation model

Kleeneโ€™s construction relies on an enumeration of recursive functions in natural numbers, but this is nothing deeper that a coding trick.

Definition

A partial combinatory structure is a set A equipped with a partial binary operation โ‹…โ€„:โ€„Aโ€…ร—โ€…Aโ€„โ‡€โ€„A.

A partial combinatory algebra (PCA) is a partial combinatory structure that is combinatorially completeโ€‰:

Facts about PCAs

Completeness

Combinatorial completeness is equivalent to the existence of ๐Š and ๐’ such that

Examples

Adequacyโ€‰: typing implies realisation. Formally, if M is a ฮป-term and P is a type, then โ€„โŠขโ€„Mโ€„:โ€„P implies Mโ€„โŠฉโ€„P.

Heyting arithmetic in a PCA

Kleeneโ€™s construction can be carried out in any PCA, with some encoding of dataโ€‰:

Hence the definitionโ€‰:

Second order and encoding of data

The interpretation of arithmetic in a PCA relies on ad-hoc encodings of data types (pairs, natural numbers).

These can be specified using second-order quantificationโ€‰:

We can prove some specification resultsโ€‰:

We keep this fuzzy for now.

3 Classical logic

Plan

The situation so farโ€‰:

What comes nextโ€‰:

3.1 Classical reasoning and control flow

Intuitionistic negation

By definition, there can be no witness for absurdity โŠฅ.

This makes negation ยฌP (defined as Pโ€„โ†’โ€„โŠฅ) degenerateโ€‰:

The set of realisers of ยฌP is either empty or full, so one cannot extract any information from a proof of a negation, apart from its existence.

Classical negation and disjunction

In classical logic, negation is considered involutiveโ€‰:

Factโ€‰: classical disjunction is incompatible with an effective intuitionistic disjunction property.

The Devilโ€™s interpretation

Devil
If you accept my deal, I will either give you a billion dollars, or offer you anything you desire in exchange for a billion dollars.
Mortal
I accept your deal.
Devil
Fine ! Bring me a billion dollars and I will grant all your wishes.

Many years pass, the Mortal does a lot of questionable things and finally assembles a billion dollars in a briefcase.

Mortal
Here is a billion dollars, now grant me my wish !

The Devil takes the briefcase, then the world trembles and the Mortal finds himself in a familiar situation.

Devil
If you accept my deal, I will either give you a billion dollars, or offer you anything you desire in exchange for a billion dollars.
Mortal
I accept your deal.
Devil
Fine ! Here is a billion dollars

The Devil hands the Mortal a briefcase with a billion dollars in it.

After Wadler (2003), after Selinger

Computing with continuations

The Devilโ€™s interpretation involves answering the same question several times, that is returning several times from a given computation.

Formally, we now work in a ฮป-calculus extended with extra constants to handle controlโ€‰:

Execution now concerns closed terms applied to closed stacksโ€‰:

push (M)Nโ€…โˆ—โ€…ฯ€ โ‰ป Mโ€…โˆ—โ€…Nโ€…โ‹…โ€…ฯ€
pop ฮปx.Mโ€…โˆ—โ€…Nโ€…โ‹…โ€…ฯ€ โ‰ป M[xโ€„:=โ€„N]โ€…โˆ—โ€…ฯ€
save ๐œโ€…โˆ—โ€…Mโ€…โ‹…โ€…ฯ€ โ‰ป Mโ€…โˆ—โ€…๐คฯ€โ€…โ‹…โ€…ฯ€
restore ๐คฯ€โ€…โˆ—โ€…Mโ€…โ‹…โ€…ฯ โ‰ป Mโ€…โˆ—โ€…ฯ€

An abstract formulation of call with current continuation (from Scheme), which can be used to implement various control structuresโ€‰: exceptions etc.

Typing continuations

A few observations on (๐œ)Mโ€…โˆ—โ€…ฯ€โ€„โ‰ปโ€„Mโ€…โˆ—โ€…๐คฯ€โ€…โ‹…โ€…ฯ€โ€‰:

If (๐œ)M behaves well for a type A, then the ๐คฯ€ that it creates expects values of type A and do not return at all, so it behaves well for any type.

The control operator ๐œ realises Peirceโ€™s law.

Griffin (1990)

3.2 Classical realisability

Realisability in interactive context

Execution is an interaction between a program and an environment, witnessing a given type means interacting correctly with opponents for that type.

Remark that, if โซซ is empty, there are two behavioursโ€‰: empty and full.

Realisability through falsity values

The realisability structure relies on defining characteristic tests for logical formulas.

Krivine (2009)

Realising classical principles

If we extend the typing rules with a schema โ€„โŠขโ€„๐œโ€„:โ€„((ฮฑโ€„โ†’โ€„ฮฒ)โ€„โ†’โ€„ฮฑ)โ€„โ†’โ€„ฮฑ, then adequacy remains and we get proof language for all classical logic.

Proof-like terms

Assume โซซ is not empty and take an arbitrary Mโ€…โˆ—โ€…ฯ€โ€„โˆˆโ€„โซซ.
Then (๐คฯ€)M is a realiser for โŠฅ.

Waitโ€ฆ What?

We need a criterion to distinguish โ€œactualโ€ realisers in the set of computational objects.

Definition

A proof-like term (or quasi-proof) is a closed term that has no occurrence of a ๐คฯ€.

Now we can make more precise statementsโ€‰:

Specification of data types

Using second order quantification, we can characterise behavioursโ€‰:

type formula behaviour
unit โˆ€ฮฑ.ฮฑโ€„โ†’โ€„ฮฑ Iโ€…โˆ—โ€…tโ€…โ‹…โ€…ฯ€โ€„โ‰ปโ€„tโ€…โˆ—โ€…ฯ€
bool โˆ€ฮฑ.ฮฑโ€„โ†’โ€„ฮฑโ€„โ†’โ€„ฮฑ Bโ€…โˆ—โ€…t0โ€…โ‹…โ€…t1โ€…โ‹…โ€…ฯ€โ€„โ‰ปโ€„tbโ€…โˆ—โ€…ฯ€
Pโ€…ร—โ€…Q โˆ€ฮฑ.(Pโ€„โ†’โ€„Qโ€„โ†’โ€„ฮฑ)โ€„โ†’โ€„ฮฑ โŸจM,โ€†NโŸฉโ€…โˆ—โ€…pโ€…โ‹…โ€…ฯ€โ€„โ‰ปโ€„pโ€…โˆ—โ€…Mโ€…โ‹…โ€…Nโ€…โ‹…โ€…ฯ€
Pโ€…โˆจโ€…Q โˆ€ฮฑ.(Pโ€„โ†’โ€„ฮฑ)โ€„โ†’โ€„(Qโ€„โ†’โ€„ฮฑ)โ€„โ†’โ€„ฮฑ Dโ€…โˆ—โ€…fโ€…โ‹…โ€…gโ€…โ‹…โ€…ฯ€โ€„โ‰ปโ€„fโ€…โˆ—โ€…Mโ€…โ‹…โ€…ฯ€ or gโ€…โˆ—โ€…Nโ€…โ‹…โ€…ฯ€
with Mโ€„โŠฉโ€„P and Nโ€„โŠฉโ€„Q

Example reasoning for booleans (note that second order quantification ranges over falsity values, that is sets of stacks)โ€‰:

Excluded middle

Define Tโ€„:=โ€„ฮปf.ฮปg.๐œ(ฮปk.f(ฮปa.k(ga))).

Then T has type โˆ€ฮฑ.โˆ€ฮฒ.(ยฌฮฑโ€„โ†’โ€„ฮฒ)โ€„โ†’โ€„(ฮฑโ€„โ†’โ€„ฮฒ)โ€„โ†’โ€„ฮฒ, that is โˆ€ฮฑ.ยฌฮฑโ€…โˆจโ€…ฮฑ.

It implements a kind of exception handlerโ€‰:

Tโ€…โˆ—โ€…fโ€…โ‹…โ€…gโ€…โ‹…โ€…ฯ€ โ‰ป fโ€…โˆ—โ€…๐žg,โ€†ฯ€โ€…โ‹…โ€…ฯ€ try f with ๐ž โ†’ g
๐žg,โ€†ฯ€โ€…โˆ—โ€…aโ€…โ‹…โ€…ฯ โ‰ป gโ€…โˆ—โ€…aโ€…โ‹…โ€…ฯ€ raise ๐ž(a)

It can be generalised to more complex structures.

3.3 A bit of model theory

First order in realisability

General structure

The logical language can be extended to include first orderโ€‰:

Equality

Realisability models

Pick a language and an interpretation structure โ„ณ.

Consistency

Given a first-order language and interpretation, each pole โซซ induces a theory ๐’ฏโซซโ€‰: the set of formulas realised by proof-like terms.

On falsity values, define the relation aโ€„โ‰ฒโ€„b when aโ€„โ†’โ€„b is realised by a proof-like term.

Then ๐’ฏโซซ is the set of formulas interpreted by โŠค in this Boolean algebra.

Models

Models of ๐’ฏโซซ are realisability models induced by โซซ.

Arithmetics

Consider the particular case of arithmetic, with โ„• as the interpretation structure.

Define ๐(n)โ€„:=โ€„โˆ€ฮฑ.((โˆ€x.ฮฑ(x)โ€„โ†’โ€„ฮฑ(xโ€…+โ€…1))โ€„โ†’โ€„ฮฑ(0)โ€„โ†’โ€„ฮฑ(n)).

Arithmetic statements can be relativised to ๐โ€‰: define โˆ€๐x.P as โˆ€x.๐(x)โ€„โ†’โ€„P.

Realisability models contain models of second-order arithmetic, plus other objects.

Model theoretic axioms

The axiom of choice

โˆ€R.(โˆ€๐n.โˆƒ๐m.R(n,โ€†m)โ€„โ†’โ€„โˆƒF.โˆ€๐nโ€„โˆˆโ€„N.โˆƒ!๐p.(F(n,โ€†p)โ€…โˆงโ€…R(n,โ€†p)))

Krivine knows how to realise this by extending the language with an extra instruction (essentially memoizing calls to R to make sure that F is properly functional), yet most realisability models do not satisfy it.

For each nโ€„โˆˆโ€„โ„•, define โˆ‡n(x) as the formula xโ€…+โ€…1โ€„โ‰คโ€„n (where xโ€„โ‰คโ€„y is โˆƒt.xโ€…+โ€…tโ€„=โ€„y).

The foundation axiom in set theory

On the language of set theory, consider the foundation axiom โˆ€a.(โˆ€x.(xโ€„โˆˆโ€„aโ€„โ†’โ€„P(x))โ€„โ†’โ€„P(a))โ€„โ†’โ€„โˆ€a.P(a)

4 Algebraisation

Generalising the construction

The construction of classical realisability is clever but it looks ad-hoc in various ways, we look for cleaner structure.

Implicative structures

Definition

Examples

Miquel (2020)

General observations

Elements of an implicative represent behaviours, they can be seen indifferently as types or as programs.

Separators and consistency

Definition

A separator of an implicative structure ๐’œ is a subset ๐’ฎโ€„โІโ€„๐’œ that

A separator ๐’ฎ is consistent if โŠฅโ€„โˆ‰โ€„๐’ฎ, classical if ๐œโ€„โˆˆโ€„๐’ฎ.

Remarks

Entailment in implicative algebras

Given a implicative structure ๐’œ and a separator ๐’ฎ, define entailment as aโŠข๐’ฎb when (aโ€„โ†’โ€„b)โ€„โˆˆโ€„๐’ฎ.

Usual model-theoretic techniques followโ€‰:

This applies even when ๐’ฎ is not classical.

5 Concurrent realisability

5.1 Models of concurrency

Process algebrasโ€‰: CCS

We use a formal language to represent programs that interact by message passingโ€‰:

a.P, ฤ.P action prefix
Pโ€„โˆฅโ€„Q, Pโ€…+โ€…Q, 1 parallel composition, choice, stop
!P replication
(ฮฝa)P name restriction

One can define the dynamics as a reduction up to structural congruenceโ€‰:

(a.Pโ€…+โ€…Pโ€ฒ)โ€„โˆฅโ€„(ฤ.Qโ€…+โ€…Qโ€ฒ)โ€„โŸถโ€„Pโ€„โˆฅโ€„Q

Structural congruence โ‰ก makes โˆฅ a commutative monoid law with 1 as neutral and makes name restriction behave right.

Non-determinism is unavoidableโ€‰:

ฤ.1โ€„โˆฅโ€„a.Qโ€„โˆฅโ€„a.Rโ€„โŸถโ€„1โ€„โˆฅโ€„Qโ€„โˆฅโ€„a.R ฤ.1โ€„โˆฅโ€„a.Qโ€„โˆฅโ€„a.Rโ€„โŸถโ€„1โ€„โˆฅโ€„a.Qโ€„โˆฅโ€„R

Process algebrasโ€‰: the ฯ€-calculus

An extension of CCS where actions can communicate names which can be used themselves for communication.

Notationโ€‰:

Name passing can reveal new possible interactions

a(x).xc.1โ€„โˆฅโ€„ab.1โ€„โˆฅโ€„b(z).Pโ€„โŸถโ€„bc.1โ€„โˆฅโ€„1โ€„โˆฅโ€„b(z).Pโ€„โŸถโ€„1โ€„โˆฅโ€„1โ€„โˆฅโ€„P[zโ€„:=โ€„c]

Name passing represents โ€œmobileโ€ processes, with dynamic connections.

The world of process calculi is a mess

Many languages with various design choices

Many ways to define equivalence of processes

Many encodings with various invariants

And let us not speak (yet) about type systems.

Models of concurrency, traditionally

Event structuresโ€‰:

Closely related to Scottโ€™s domains, Girardโ€™s coherence spaces, etc.
More recently exploited in concurrent games.

Operational semantics, CCS as a modelโ€‰:

Blurs the boundary between programs and typesโ€‰:

The programme

We want a properly logical description of processes behavioursโ€‰:

We aim for an analytic approachโ€‰:

We look for the minimal logic for concurrency.

5.2 Logics for process behaviours

Logics for concurrent processes

One assigns types to different elements of the language in order to put constraints on the set of allowed expressions and thus statically ensure properties of termsโ€‰:

Usually guided by computational concerns rather than logical consistency.

Sangiorgi and Walker (2001)

We would like to fit all these in a general realisability framework, which has to be linear.

The example of session types

Session types describe the communication discipline on names.

The logic for these behaviours is linearโ€‰:

Pโ€„โˆทโ€„ฮ“โ€„โŠขโ€„bโ€„:โ€„A โ€ Qโ€„โˆทโ€„ฮ”โ€„โŠขโ€„aโ€„:โ€„B โ‡’โ€ (ฮฝb)(Pโ€„โˆฅโ€„ab.Q)โ€„โˆทโ€„ฮ“,โ€†ฮ”โ€„โŠขโ€„aโ€„:โ€„Aโ€…โŠ—โ€…B
Pโ€„โˆทโ€„ฮ“,โ€†xโ€„:โ€„A,โ€†aโ€„:โ€„Bโ€„โŠขโ€„bโ€„:โ€„C โ‡’โ€ a(x).Pโ€„โˆทโ€„ฮ“,โ€†aโ€„:โ€„Aโ€…โŠ—โ€…Bโ€„โŠขโ€„bโ€„:โ€„C
Pโ€„โˆทโ€„ฮ“,โ€†xโ€„:โ€„Aโ€„โŠขโ€„aโ€„:โ€„B โ‡’โ€ a(x).Pโ€„โˆทโ€„ฮ“โ€„โŠขโ€„aโ€„:โ€„Aโ€„โŠธโ€„B
Pโ€„โˆทโ€„ฮ“โ€„โŠขโ€„aโ€„:โ€„A โ€ Qโ€„โˆทโ€„ฮ”,โ€†bโ€„:โ€„Bโ€„โŠขโ€„cโ€„:โ€„C โ‡’โ€ (ฮฝb)(Pโ€„โˆฅโ€„ab.Q)โ€„โˆทโ€„ฮ“,โ€†ฮ”โ€„โŠขโ€„cโ€„:โ€„C
โ‡’โ€ 1โ€„โˆทโ€„โ€„โŠขโ€„aโ€„:โ€„๐Ÿ
Pโ€„โˆทโ€„ฮ“โ€„โŠขโ€„aโ€„:โ€„A โ‡’โ€ Pโ€„โˆทโ€„ฮ“,โ€†bโ€„:โ€„1โ€„โŠขโ€„aโ€„:โ€„A
Pโ€„โˆทโ€„ฮ“,โ€†aโ€„:โ€„Aโ€„โŠขโ€„bโ€„:โ€„B โ€ Qโ€„โˆทโ€„ฮ”โ€„โŠขโ€„aโ€„:โ€„A โ‡’โ€ (ฮฝa)(Pโ€„โˆฅโ€„Q)โ€„โˆทโ€„ฮ“,โ€†ฮ”โ€„โŠขโ€„bโ€„:โ€„B

Honda (1993), Caires, Pfenning, and Toninho (2016)

Testing as orthogonality

Consider a process algebra and define an observation as a set โซซ of processes, abstractly considered as well-behaved.

Deduce orthogonalityโ€‰:

Orthogonal sets form a complete lattice of behaviours.

Combinations of behaviours

Start with parallel composition of independent behaviours.

This makes A nice structure compatible with multiplicative linear logic.

Other logical constructs can be built on topโ€‰:

Beffara (2006)

5.3 Linear conjunctive algebras

Conjunctive structures

Basic structure

A conjunctive structure consists in

Add a few natural conditions.

A conjunctive structure is involutive if aโŠฅโŠฅโ€„=โ€„a for all aโ€„โˆˆโ€„๐’œ.

Derived operators

Miquey (2020)

Linear conjunctive algebras

This structure allows for defining particular inhabitants of ๐’œ, following the ideas of implicative algebrasโ€‰:

๐ฌ1 โ‹€aโ€…aโ€„โŠธโ€„(aโ€…โŠ—โ€…a) contraction
๐ฌ2 โ‹€a,โ€†bโ€…(aโ€…โŠ—โ€…b)โ€„โŠธโ€„a weakening
๐ฌ3 โ‹€a,โ€†bโ€…(aโ€…โŠ—โ€…b)โ€„โŠธโ€„(bโ€…โŠ—โ€…a) commutativity
๐ฌ4 โ‹€a,โ€†b,โ€†cโ€…(aโ€„โŠธโ€„b)โ€„โŠธโ€„(cโ€…โŠ—โ€…a)โ€„โŠธโ€„(cโ€…โŠ—โ€…b) functoriality
๐ฌ5 โ‹€a,โ€†b,โ€†cโ€…(aโ€…โŠ—โ€…(bโ€…โŠ—โ€…c))โ€„โŠธโ€„((aโ€…โŠ—โ€…b)โ€…โŠ—โ€…c)) associativity

Conjunctive algebras

A separator is a subset ๐’ฎโ€„โІโ€„๐’œ that is upwards closed, stable under modus ponens (for the implication โŠธ) and contains ๐ฌ1,โ€†โ€ฆ,โ€†๐ฌ5.

This is essentially equivalent to an implicative algebra.

Linear conjunctive algebras

Removing ๐ฌ1 and ๐ฌ2 from the requirement on separators yields a linear conjunctive algebra.

Instances of linear conjunctive algebras

Open questions

We get a suitable structure to fit process behaviours, butโ€ฆ

Beffara et al. (2023)

The end

References

Beffara, Emmanuel. 2006. โ€œA Concurrent Model for Linear Logic.โ€ In 21st International Conference on Mathematical Foundations of Programming Semantics (MFPS), 155:147โ€“68. Electronic Notes in Theoretical Computer Science. https://doi.org/10.1016/j.entcs.2005.11.055.
Beffara, Emmanuel, Fรฉlix Castro, Mauricio Guillermo, and ร‰tienne Miquey. 2023. โ€œConcurrent Realizability on Conjunctive Structures.โ€ In 8th International Conference on Formal Structures for Computation and Deduction (FSCD 2023), edited by Marco Gaboardi and Femke van Raamsdonk, 260:28:1โ€“21. Leibniz International Proceedings in Informatics (LIPIcs). Dagstuhl, Germanyโ€‰: Schloss Dagstuhl โ€“ Leibniz-Zentrum fรผr Informatik. https://doi.org/10.4230/LIPIcs.FSCD.2023.28.
Caires, Luรญs, Frank Pfenning, and Bernardo Toninho. 2016. โ€œLinear Logic Propositions as Session Types.โ€ Mathematical Structures in Computer Science 26 (3)โ€‰: 367โ€“423. https://doi.org/10.1017/S0960129514000218.
Girard, Jean-Yves. 2017. โ€œTranscendental Syntax Iโ€‰: Deterministic Case.โ€ Mathematical Structures in Computer Science 27 (5)โ€‰: 827โ€“49. https://doi.org/10.1017/S0960129515000407.
Griffin, Timothy G. 1990. โ€œA Formulae-as-Type Notion of Control.โ€ In Proceedings of the 17th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 47โ€“58. POPL โ€™90. San Francisco, California, USAโ€‰: Association for Computing Machinery. https://doi.org/10.1145/96709.96714.
Heyting, Arend. 1931. โ€œDie intuitionistische Grundlegung der Mathematik.โ€ Erkenntnis 2 (1)โ€‰: 106โ€“15. https://doi.org/10.1007/BF02028143.
Honda, Kohei. 1993. โ€œTypes for Dyadic Interaction.โ€ In CONCURโ€™93, edited by Eike Best, 715:509โ€“23. Lecture Notes in Computer Science. Springer Berlin Heidelberg. https://doi.org/10.1007/3-540-57208-2_35.
Johansson, Ingebrigt. 1937. โ€œDer Minimalkalkรผl, ein reduzierter intuitionistischer Formalismus.โ€ Compositio Mathematica 4โ€‰: 119โ€“36. https://www.numdam.org/item/CM_1937__4__119_0/.
Kleene, Stephen Cole. 1945. โ€œOn the Interpretation of Intuitionistic Number Theory.โ€ The Journal of Symbolic Logic 10 (4)โ€‰: 109โ€“24. https://doi.org/10.2307/2269016.
Kolmogoroff, A. 1932. โ€œZur Deutung der intuitionistischen Logik.โ€ Mathematische Zeitschrift 35 (1)โ€‰: 58โ€“65. https://doi.org/10.1007/BF01186549.
Krivine, Jean-Louis. 2009. โ€œRealizability in Classical Logic.โ€ Panoramas Et Synthรจses, Interactive models of computation and program behavior, 27โ€‰: 197โ€“229. https://hal.archives-ouvertes.fr/hal-00154500.
Miquel, Alexandre. 2020. โ€œImplicative Algebrasโ€‰: A New Foundation for Realizability and Forcing.โ€ Mathematical Structures in Computer Science 30 (5)โ€‰: 458โ€“510. https://doi.org/10.1017/S0960129520000079.
Miquey, ร‰tienne. 2020. โ€œRevisiting the Duality of Computationโ€‰: An Algebraic Analysis of Classical Realizability Models.โ€ In CSL 2020. Barcelone, Spain. https://hal.archives-ouvertes.fr/hal-02305560.
Sangiorgi, Davide, and David Walker. 2001. The ฯ€-Calculusโ€‰: A Theory of Mobile Processes. Cambridge University Press. http://www.cs.unibo.it/~sangio/Book_pi.html.
Troelstra, Anne Sjerp, and Dirk van Dalen. 1988. Constructivism in mathematics. Studies in logic and the foundations of mathematics 121, 123. Amsterdam New York Oxford [etc.]โ€‰: North-Holland.
Wadler, Philip. 2003. โ€œCall-by-Value Is Dual to Call-by-Name.โ€ In Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming, 189โ€“201. ICFP โ€™03. New York, NY, USAโ€‰: Association for Computing Machinery. https://doi.org/10.1145/944705.944723.