1 Non-classical Logic

There are no non-experienced truths – L.E.J. Brouwer

1.1 Intuitionistic Logic

Idea: a proof of φ→ψ is a “procedure” that comments a proof of φ into a proof of ψ.

In particular, ¬⁡¬⁡φ is not always the same as φ.

Fact: The law of excluded middle (φ∨¬⁡φ) is not generally intuitionistically valid.

Moreover, the Axiom of Choice is incompatible with intuitionistic set theory.

We take choice to mean that any family of inhabited sets admits a choice function.

Theorem 1.1.1 (Diaconescu). The law of excluded middle can be intuitionistically deduced from the Axiom of Choice.

Proof. Let φ be a proposition. By the Axiom of Separation, the following are sets (i.e. we can construct a proof that they are sets):

A:={x∈{0,1}:φ∨(x=0)}B:={x∈{0,1}:φ∨(x=1)}.

As 0∈A and 1∈B, we have that {A,B} is a family of inhabited sets, thus admits a choice function f:{A,B}→A∪B by the Axiom of Choice. This satisfies f(A)∈A and f(B)∈B by definition.

Thus we have

(f(A)=0∨φ)∧(f(B)=1∨φ)

and f(A),f(B)∈{0,1}. Now f(A)∈{0,1} means that (f(A)=0)∨(f(A)=1) and similarly for f(B).

We can have the following:

So we can always specify a proof of φ or a proof of φ or a proof of ¬⁡φ. □

Why bother?

Let’s try to formalise the BHK interpretation of logic.

We will inductively define a provability relation by enforcing rules that implement the BHK interpretation.

We will use the notation Γ⊢φ to mean that φ is a consequence of the formulae in the set Γ.

Rules for Intuitionistic Propositional Calculus (IPC)

We obtain classical propositional logic (CPC) by adding either:

By

[A]⋮X[B]⋮YC(A,B)

we mean ‘if we can prove X assuming A and we can prove Y assuming B, then we can infer C by “discharging / closing” the open assumptions A and B’.

In particular, the (→-I)-rule can be written as

Γ,[A]⋮BΓ⊢A→B(A).

We obtain intiuitionistic first-order logic (IQC) by adding rules for quantification:

Example 1.1.2. Let’s give a natural deduction proof of A∧B→B∧A.

[A∧B]A[A∧B]BB∧AA∧B→B∧A(A∧B).

Example 1.1.3. Let’s prove the Hilbert-style axioms φ→(ψ→φ) and (φ→(ψ→χ))→((φ→psi)→(φ→χ)).

[φ]  [ψ]ψ→φ(ψ)φ→(ψ→φ)(φ)

[φ→(ψ→χ)][φ→ψ][φ]   (toE)


ψ→χψ   (toE)


χ   (toI,ψ)


φ→χ   (toI, φ→ψ)


(φ→ψ)→(φ→χ)   (toI, (φ→(ψ→χ)))


(φ→(ψ→χ))→((φ→ψ)→(φ→χ))

If Γ is a set of propositions in the language and φ is a proposition, we write Γ⊢IPCφ, Γ⊢IQCφ, Γ⊢CPCφ, Γ⊢CQCφ, if there is a proof of φ from Γ in the respective logic.

Lemma 1.1.4. Assuming that:

  • Γ⊢IPCφ

  • ψ a proposition

Then Γ,ψ⊢IPCφ. Moreover, if p is a primitive proposition and ψ is any proposition, then
Γ[p:=ψ]⊢IPCφ[p:=ψ].

Proof. Induction over the size of proofs. □

1.2 The simply typed λ-calculus

For now we assume given a set Π of simple types generated by a grammar

Π:=U|Π→Π,

where U is a countable set of type variables, as well as an infinite set V of variables.

Definition 1.2.1 (Simply typed lambda-term). The set ΛΠ of simply typed λ-terms is defined by the grammar

ΛΠ:=V⏟variables|λV:Π.ΛΠ⏟λ-abstraction|ΛΠΛΠ⏟λ-application.

A context is a set of pairs {x1:τ1,…,xn:τn} where the xi are (distinct) variables and each τi∈Π. We write C for the set of all possible contexts. Given a context Γ∈C, we also write Γ,x:τ for the context Γ∪{x:τ} (if x does not appear in Γ).

The domain of Γ is the set of variables that occur in it, and the range |Γ| is the set of types that it manifests.

Definition 1.2.2 (Typability relation). We define the typability relation ⊩⊆C×ΛΠ×Π via:

  • (1)
    For every context Γ, and variable x not occurring in Γ, and type τ, we have Γ,x:τ⊩x:τ.
  • (2)
    Let Γ be a context, x a variable not occurring in Γ, and let σ,τ∈Π be types, and M be a λ-term. If Γ,x:σ⊩M:τ, then Γ⊩(λx:σ.M):(σ→τ).
  • (3)
    Let Γ be a context, σ,τ∈Π be types, and M,N∈ΛΠ be terms. If Γ⊩M:(σ→τ) and Γ⊩N:σ, then Γ⊩(MN):τ.

Notation. We will refer to the λ-calculus of ΛΠ with this typability relation as λ(→).

A variable x occurring in a λ-abstraction λx̲:σ.M is bound, and it is free otherwise. We say that terms M and N are α-equivalent if they differ only in the names of the bound variables.

If M and N are λ-terms and x is a variable, then we define the substitution of N for x in M by:

Definition 1.2.3 (beta-reduction). The β-reduction relation is the smallest relation →β on ΛΠ closed under the following rules:

  • (λx:σ.P)Q→βP[x:=Q],

  • if P→βP′, then for all variables x and types σ∈Π, we have λx:σ.P→βλx:σ.P′,

  • P→βP′ and z as a λ-term, then PZ→βP′Z and ZP→βZP′.

We also define β-equivalence ≡β as the smallest equivalence relation containing →β.

Example 1.2.4 (Informal). We have (λx:ℤ.(λy:τ.x))Z→β(λy:τ.Z).

When we reduce (λx:σ.P)Q, the term being reduced is called a β-redex, and the result is its β-contraction.

Lemma 1.2.5 (Free variables lemma). Assuming that:

  • Γ⊩M:σ

Then
  • (1) If Γ⊆Γ′, then Γ′⊩M:σ.
  • (2) The free variables of M occur in Γ.
  • (3) There is a context Γ∗⊆Γ comprising exactly the free variables in M, with Γ∗⊩M:σ.

Proof. Exercise. □

Lemma 1.2.6 (Generation Lemma).

  • (1)
    For every variable x, context Γ, and type σ, if Γ⊩x:σ, then x:σ∈Γ;
  • (2)
    If Γ⊩(MN):σ, then there is a type τ such that Γ⊩M:τ→σ and Γ⊩N:τ;
  • (3)
    If Γ⊩(λx.M):σ, then there are types τ and ρ such that Γ,x:τ⊩M:ρ and σ=(τ→ρ).

Lemma 1.2.7 (Substitution Lemma).

  • (1)
    If Γ⊩M:σ and α is a type variable, then Γ[α:=τ]⊩M:σ[α:=τ];
  • (2)
    If Γ,x:τ⊩M:σ and Γ⊩N:τ, then Γ⊩M[x:=N]:σ.

Proposition 1.2.8 (Subject reduction). Assuming that:

  • Γ⊩M:σ

  • M→βN

Then Γ⊩N:σ.

Proof. By induction on the derivation of M→βN, using Lemma 1.2.6 and Lemma 1.2.7. □

Notation. We will write M↠βN if M reduces to N after (potentially multiple) β-reductions.

Theorem 1.2.9 (Church-Rosser for lambda(->)). Assuming that:

  • Γ⊩M:σ

  • M↠βN1

  • M↠βN2

Then there is a λ-term L such that N1↠βL, N2↠βL, and Γ⊩L:σ.

Pictorially:

          M


  N1               N2


ββββ         L

Definition (beta-normal form). A λ-term M is in β-normal form if there is no term N such that M→βN.

Corollary 1.2.10 (Uniqueness of normal form). If a simply typed λ-term admits a β-normal form, then it is unique.

Proposition 1.2.11 (Uniqueness of types).

  • (1)
    If Γ⊩M:σ and Γ⊩M:τ, then σ=τ.
  • (2)
    If Γ⊩M:σ, Γ⊩N:τ, and M≡βN, then σ=τ.

Proof.

Example 1.2.12. There is no way to assign a type to λx:x.x. If x is of type τ, then in order to apply x to x, it has to be of type τ→σ for some σ. But τ≠τ→σ.

PIC

Definition 1.2.13 (Height). The height function is the recursively defined map h:Π→ℕ that maps a type variable to 0, and a function type σ→τ to 1+max⁡(h(σ),h(τ)).

We extend the height function from types to β-redexes by taking the height of its λ-abstraction.

Not.: (λx:σ.Pτ)σ→τRσ.

Theorem 1.2.14 (Weak normalisation for lambda(->)). Assuming that:

  • Γ⊩M:σ

Then there is a finite reduction path M:=M0→βM1→βM2→β⋯→βMn, where Mn is in β-normal form.

Proof (“Taming the Hydra”). The idea is to apply induction on the complexity of M. Define a function m:ΛΠ→ℕ×ℕ by

m(M)={(0,0)if M is in β-normal form(h(M),redex(M))otherwise,

where h(M) is the greatest height of a redex in M, and redex(M) is the number of redexes in M of that height.

We will use induction over ω×ω to show that if M is typable, then it admits a reduction to β-normal form.

Problem: reductions can copy redexes or create new ones.

Strategy: always reduce the right most redex of maximum height.

We will argue that by following this strategy, any new redexes we generate have to be lower than the height of the redex we picked to reduce.

PIC

If Γ⊩M:σ and M is already in β-normal form, then claim is trivially true. If M is not in β-normal form, let Δ be the rightmost redex of maximal height h.

By reducing Δ, we may introduce copies of existing redexes, or create new ones. Creation of new redexes of Δ has to happen in one of the following ways:

Now Δ itself is gone (lowering the count by 1), and we just showed that any newly created redexes have height <h.

If we have Δ=(λx:τ.Pρ)Qτ and P contains multiple free occurrences of x, then all the redexes in Q are multiplied when performing β-reduction.

However, our choice of Δ ensures that the height of any such redex in Q has height <h, as they occur to the right of Δ in M. It is this always the case that m(M′)<m(M) (in the lexicographic order), so by the induction hypothesis, M′ can be reduced to β-normal form (and thus so can M). □

Theorem 1.2.15 (Strong Normalisation for lambda(->)). Assuming that:

  • Γ⊩M:σ

Then there is no infinite reduction sequence M→βM1→β⋯.

Proof. See Example Sheet 1. □

1.3 The Curry-Howard Correspondence

Propositions-as-types: idea is to think of φ as the “type of its proofs”.

The properties of the STλC match the rules of IPC rather precisely.

First we will show a correspondence between λ(→) and the implication fragment IPC(→) of IPC that includes only the → connective, the axiom scheme, and the (→−I) and (→−E) rules. We will later extend this to the whole of IPC by introducing more complex types to λ(→).

Start with IPC(→) and build a STλC out of it whose set of type variables U is precisely the set of primitive propositions of the logic.

Clearly, the set Π of types then matches the set of propositions in the logic.

Comment: λx:σ.(Mx)→ηM if x is not free in M.

Proposition 1.3.1 (Curry-Howard for IPC(->)). Assuming that:

  • Γ is a context for λ(→)

  • φ a proposition

Then
  • (1) If Γ⊩M:φ, then |Γ|={τ∈Π:(x:τ)∈Γ for some x}⊢IPC(→)φ
  • (2) If |Γ|⊢IPC(→)φ, then there is a simply typed λ-term M∈λ(→) such that {(xψ:ψ)|ψ∈Γ}⊩M:φ.

Proof.

Example 1.3.2. Let φ,ψ be primitive propositions. The λ-term

λf:(φ→ψ)→φ.λ:φ→ψ.g(fg⏟φ)︷ψ

has type ((φ→ψ)→φ)→((φ→ψ)→ψ), and therefore encodes a proof of that proposition in IPC(→).

g:φ→ψ, f:(φ→ψ)→φ.

g:[φ→ψ]f:[(φ→ψ)→φ]   (toE)


fg:φg:[φ→ψ]   (toE)


g(fg):ψ   (toI, φ→ψ)


λg.g(fg):(φ→ψ)→ψ   (toI, (φ→ψ) →φ)


λf.λg.g(fg):((φ→ψ)→φ)→((φ→ψ)→ψ)

Definition 1.3.3 (Full STlambdaC). The types of the full simply typed λ-calculus are generated by the following grammar:

Π:=U|Π→Π|Π×Π|Π+Π|0|1,

where U is a set of type variables (usually countable).

Its terms are given by ΛΠ given by:

ΛΠ:=V|λV:Π.ΛΠ|ΛΠΛΠ|Π1(ΛΠ)|Π2(ΛΠ)|ι1(ΛΠ)|ι2(ΛΠ)|case⁡(ΛΠ;V.ΛΠ;V.ΛΠ)|∗|!ΠΛΠ,

where V is an infinite set of variables, and ∗ is a constant.

We have new typing rules:

They come with new reduction rules:

When setting up Curry-Howard with these new types, we let:

Example 1.3.4. Consider the following proof of (φ∧χ)→(ψ→φ):

[φ∧χ]φ[ψ]   ()


ψ→φ   ()


(φ∧χ)→(ψ→φ)

We decorate this proof by turning the assumptions into variables and following the Curry-Howard correspondence:

[φ∧χ]:pφ:π1(p)[ψ]:b   ()


ψ→φ:λb:ψ.π1(p)   ()


(φ∧χ)→(ψ→φ)

STλC IPC


(primitive) types (primitive) propositions
variable hypothesis
STλ-term proof
type constructor logical connective
term inhabitation provability
term reduction proof normalisation

1.4 Semantics for IPC

Definition 1.4.1 (Lattice). A lattice is a set L equipped with binary commutative and associative operations ∧ and ∨ that satisfy the absorption laws:

a∨(a∧b)=a;a∧(a∨b)=a,

for all a,b∈L.

A lattice is:

  • Distributive if a∧(b∨c)=(a∧b)∨(a∧c) for all a,b,c∈L.

  • Bounded if there are elements ⊥,⊤⁡∈L such that a∨⊥=a and a∧⊤⁡=a.

  • Complemented if it is bounded and for every a∈L there is a∗∈L such that a∧a∗=⊥ and a∨a∗=⊤⁡.

A Boolean algebra is a complemented distributive lattice.

Note that ∧ and ∨ are idempotent in any lattice. Moreover, we can define an ordering on L by setting a≤b if a∧b=a.

Example 1.4.2.

Proposition 1.4.3. Assuming that:

  • ≤ is the order induced by the operations in L (a≤b if a∧b=a)

Then ≤ is a partial order with least element ⊥, greatest element ⊤⁡, and for any a,b∈L, we have a∧b=inf⁡{a,b} and a∧b=sup⁡{a,b}. Conversely, every partial order with all finite infs and sups is a bounded lattice.

Proof. Exercise. □

Classically, we say that Γ⊨t if for every valuation v:L→{0,1} with v(p)=1 for all p∈Γ we have v(t)=1.

We might want to replace {0,1} with some other Boolean algebra to get a semantics for IPC, with an accompanying Completeness Theorem. But Boolean algebras believe in the Law of Excluded Middle!

Definition 1.4.4 (Heyting algebra). A Heyting algebra is a bounded lattice equipped with a binary operation ⇒:H×H→H such that

a∧b≤c⟺a≤(b⇒c)

for all a,b,c∈L.

A morphism of Heyting algebras is a function that preserves all finite meets, finite joins, and ⇒.

Example 1.4.5.

Definition 1.4.6 (Valuation in Heyting algebras). Let H be a Heyting algebra and L be a propositional language with a set P of primitive propositions. An H-valuation is a function v:P→H, extended to the whole of L recursively by setting:

  • v(⊥)=⊥,

  • v(A∧B)=v(A)∧v(B),

  • v(A∨B)=v(A)∨v(B),

  • v(A→B)=v(A)⇒v(B).

A proposition A is H-valid if v(A)=⊤⁡ for all H-valuations v, and is an H-consequence of a (finite) set of propositions Γ if v(∧⁡Γ)≤v(A) for all H-valuations v (written Γ⊨HA).

Lemma 1.4.7 (Soundness of Heyting semantics). Assuming that:

Then Γ⊢IPCA implies Γ⊨HA.

Proof. By induction over the structure of the proof Γ⊢A.

Example 1.4.8. The Law of Excluded Middle is not intuitionistically valid. Let p be a primitive proposition and consider the Heyting algebra given by the topology {∅,{1},{1,2}} on {1,2}.

We can define a valuation v with v(p)={1}, in which case v(¬⁡p)=¬⁡{1}=int⁡(X∖{1})=∅.

So v(p∨¬⁡p)={1}∨∅={1}≠⊤⁡. Thus Soundness of Heyting semantics implies that ⁄⊢IPCp∨¬⁡p.

Example 1.4.9. Peirce’s Law ((p→q)→p)→p is not intuitionistically valid.

Take the valuation on the usual topology of ℝ2 that maps p to ℝ2∖{(0,0)} and q to ∅.

Classical completeness: Γ⊢CPCA if and only if Γ⊨2A.

Intuitionistic completeness: no single finite replacement for 2.

Definition (Lindenbaum-Tarski algebra). Let Q be a logical doctrine (CPC, IPC, etc), L be a propositional language, and T be an L-theory. The Lindenbaum-Tarski algebra FQ(T) is built in the following way:

  • The underlying set of FQ(T) is the set of equivalence classes [φ] of propositions φ, where φ∼ψ when T,φ⊢Qψ and T,ψ⊢Qφ;

  • If ⋈ is a logical connective in the fragment Q, we set [φ]⋈[ψ]:=[φ⋈ψ] (should check well-defined: exercise).

We’ll be interested in the case Q=CPC, Q=IPC, and Q=IPC∖{→}.

Proposition 1.4.10. The Lindenbaum-Tarski algebra of any theory in IPC∖{→} is a distributive lattice.

Proof. Clearly, ∧ and ∨ inherit associativity and commutativity, so in order for FIPC∖{→}(T) to be a lattice we need only to check the absorption laws:

[φ]∨[φ∧ψ]=[φ](α)[φ]∧[φ∨ψ]=[φ](β)

Equation (α) is true since T,φ⊢IPC∖{→}φ∨(φ∧ψ) by (∨-I), and also T,φ∨(φ∧ψ)⊢IPC∖{→}φ by (∨-E). Equation (β) is similar.

Now, for distributivity: T,φ∧(ψ∨χ)⊢(φ∧ψ)∨(φ∧χ) by (∧-E) followed by (∨-E):

φ∧(ψ∨χ)   (∧-E)


φψ∨χ   (∨-E)


(φ∧ψ)∨(φ∧χ)

Conversely, T,((φ∧ψ)∨(φ∧χ))⊢φ∧(ψ∨χ) by (∨-E) followed by (∧-I). □

Lemma 1.4.11. The Lindenbaum-Tarski algebra of any theory relative to IPC is a Heyting algebra.

Proof. We already saw that FIPC(T) is a distributive lattice, so it remains to show that [φ]⇒[ψ]:=[φ→ψ] gives a Heyting implication, and that FIPC(T) is bounded.

Suppose that [φ∧[ψ]≤[χ], i.e. τ,φ∧ψ⊢IPCχ. We want to show that [φ]≤[ψ→χ], i.e. τ,φ⊢(ψ→χ). But that is clear:

φ[ψ]  


φ∧ψ   (hyp)


χ   (→-I, ψ)


ψ→χ

Conversely, if τ,φ⊢(ψ→χ), then we can prove τ,φ∧ψ⊢χ:

φ∧ψ   (∧-E)


φψ   (hyp)


ψ→χψ   (→-E)


χ

So defining [φ]⇒[ψ]:=[φ→ψ] provides a Heyting ⇒.

The bottom element of FIPC(T) is just [⊥]: if [φ] is any element, then T,⊥⊢IPCφ by ⊥-E.

The top element is ⊤⁡:=[⊥→⊥: if φ is any proposition, then [φ]≤[⊥→⊥] via

φ[⊥]   (⊥-E)


⊥  


⊥→⊥

□

Theorem 1.4.12 (Completeness of the Heyting semantics). A proposition is provable in IPC if and only if it is H-valid for every Heyting algebra H.

Proof. One direction is easy: if ⊢IPCφ, then there is a derivation in IPC, thus ⊤⁡≤v(φ) for any Heyting algebra H and valuation v, by Soundness of Heyting semantics. But then v(φ)=⊤⁡ and φ is H-valid.

For the other direction, consider the Lindenbaum-Tarski algebra F(L) of the empty theory relative to IPC, which is a Heyting algebra by Lemma 1.4.11. We can define a valuation v by extending P→F(L), p↦[p] to all propositions.

As v is a valuation, it follows by induction (and the construction of F(L)) that v(φ)=[φ] for all propositions.

Now φ is valid in every Heyting algebra, and so is valid in F(L) in particular. So v(φ)=⊤⁡=[φ], hence ⊤⁡→⊤⁡⊢IPCφ, hence ⊢IPCφ. □

Given a poset S, we can construct sets a↑:={s∈S:a≤s} called principal up-sets.

Recall that U⊆S is a terminal segment if a↑⊆U for each a∈U.

Proposition 1.4.13. If S is a poset, then the set T(S)={U⊆S:U is a terminal segment of S} can be made into a Heyting algebra.

Proof. Order the terminal segments by ⊆. Meets and joins are ∩ and ∪, so we just need to define ⇒. If U,V∈T(S), define (U⇒V):={s∈S:(s↑)∩U⊆V}.

If U,V,W∈T(S), we have

W⊆(U⇒V)⟺(w↑)∩U⊆V∀⁡w∈W,

which happens if for every w∈W and u∈U we have w≤u⟹u∈V. But W is a terminal segment, so this is the same as saying that W∩U⊆V. □

Definition 1.4.14 (Kripke model). Let P be a set of primitive propositions. A Kripke model is a tuple (S,≤,⊩) where (S,≤) is a poset (whose elements are called “worlds” or “states”, and whose ordering is called the “accessibility relation”) and ⊩⊆S×P is a binary relation (“forcing”) satisfying the persistence property: if p∈P is such that s⊩p and s≤s′, then s′⊩p.

Every valuation v on T(S) induces a Kripke model by setting s⊩p is s∈v(p).

Definition 1.4.15 (Forcing relation). Let (S,≤,⊩) be a Kripke model for a propositional language. We define the extended forcing relation inductively as follows:

  • There is no s∈S with s⊩⊥;

  • s⊩φ∧ψ if and only if s⊩φ and s⊩ψ;

  • s⊩φ∨ψ if and only if s⊩φ or s⊩ψ;

  • s⊩(φ→ψ) if and only if s′⊩φ implies s′⊩ψ for every s′≥s.

It is easy to check that the persistence property extends to arbitrary propositions.

Moreover:

Notation. S⊩φ for φ a proposition if all worlds in S force φ.

Example 1.4.16. Consider the following Kripke models:

In (1), we have s⁄⊩¬⁡p, since s′≥s and s′⊩p. We also know that s⁄⊩p, thus s⁄⊩p∨¬⁡p.

It is also the case that s⊩¬⁡¬⁡p, yet s⁄⊩p, so s⁄⊩(¬⁡¬⁡p→p) either.

In (2), s⁄⊩¬⁡¬⁡p since s′≥s can’t access a world that forces p. Also s⁄⊩¬⁡p either, as s″≥s forces p. So s⁄⊩¬⁡¬⁡p∨¬⁡p.

In (3), s⁄⊩(p→q)→(¬⁡p∨q). All worlds force p→q, and s⁄⊩q. So to check the claim we just need to verify that s⁄⊩¬⁡p. But that is the case, as s′≥s and s′⊩p.

Definition 1.4.17 (Filter). A filter F on a lattice L is a subset of L with the following properties:

  • F≠∅

  • F is a terminal segment of L (i.e., if f≤x and f∈F, then x∈F)

  • F is closed under finite meets

Example 1.4.18.

A filter is proper if F≠L.

A filter F on a Heyting algebra is prime if it is proper and satisfies: whenever (x∨y)∈F, we can conclude that x∈F or y∈F.

If F is a proper filter and x∉F, then there is a prime filter extending F that still doesn’t contain x (by Zorn’s Lemma).

Lemma 1.4.19. Assuming that:

Then there is a Kripke model (S,≤,⊩) such that v⊨Hφ if and only if S⊩φ, for every proposition φ.

Proof (sketch). Let S be the set of all prime filters of H, ordered by inclusion. We write F⊩p if and only if v(p)∈F for primitive propositions p.

We prove by induction that F⊩φ if and only if v(φ)∈F for arbitrary propositions.

For the implication case, say that F⊩(ψ→ψ′) and v(ψ→ψ′)=[v(ψ)⇒v(ψ′)]∉F. Let G′ be the least filter containing F and v(ψ). Then

G′={b:(∃⁡f∈F)(f∧v(ψ)≤b)}.

Note that v(ψ′)∉G′, or else f∧v(ψ)≤v(ψ′) for some f∈F, whence f≤v(ψ→ψ′) and so v(ψ→ψ′)∈F (as F is a terminal segment).

In particular, G′ is proper. So let G be a prime filter extending G′ that does not contain v(ψ′) (exists by Zorn’s lemma).

By the induction hypothesis, G⊩ψ, and since F⊩(ψ→ψ′) and G′ (this G) contains F, we have that G⊩ψ′. But then v(ψ′)∈G, contradiction.

This settles that F⊩(ψ→ψ′) implies v(ψ→ψ′)∈F.

Conversely, say that v(ψ→ψ′)∈F⊆G⊩ψ. By the induction hypothesis, v(ψ)∈G, and so v(ψ)⇒v(ψ)∈G (as F⊆G). But then v(ψ′)≥v(ψ)∧(v(ψ)⇒v(ψ′))∈G, as G is a filter.

So the induction hypothesis gives G⊩ψ′, as needed.

The cases for the other connectives are easy (∨ needs primality). So (S,≤,⊩) is a Kripke model. Want to show that v⊨Hφ if and only if S⊩φ, for each φ.

Conversely, say S⊩φ, but v⁄⊨Hφ. Since v(φ)≠⊤⁡, there must be a proper filter that does not contain it. We can extend it to a prime filter G that does not contain it, but then G⁄⊩φ, contradiction. □

Theorem 1.4.20 (Completeness of the Kripke semantics). Assuming that:

  • φ a proposition

Then Γ⊢IPCφ if and only if for all Kripke models (S,≤,⊩), the condition S⊩Γ implies S⊩φ.

Proof. Soundness: induction over the complexity of φ.

Adequacy: Say Γ⁄⊢IPCφ. Then v⊨HΓ but v⁄⊨Hφ for some Heyting algebra H and H-valuation v (Theorem 1.4.12). But then Lemma 1.4.19 applied to Hand v provides a Kripke model (S,≤,⊩) such that S⊩Γ, but S⁄⊩φ, contradicting the hypothesis on every Kripke model. □

1.5 Negative translations

Definition 1.5.1 (Double-negation translation). We recursively define the ¬⁡¬⁡-translation φN of a proposition φ in the following way:

  • If p is a primitive proposition, then pN:=¬⁡¬⁡p;

  • (φ∧ψ)N:=φN∧ψN

  • (φ→ψ)N:=φN→ψN

  • (φ∨ψ)N:=¬⁡(¬⁡φN∧¬⁡ψN)

  • (¬⁡φ)N:=¬⁡φN

Lemma 1.5.2. Assuming that:

Then the map ¬⁡¬⁡:H→H preserves ∧ and ⇒.

Proof. Example Sheet 2. □

Lemma 1.5.3 (Regularisation). Assuming that:

Then

Proof.

In particular, if S is a set, then FHeyt(S)¬⁡¬⁡≅FBool(S).

Theorem 1.5.4 (Glivenko’s Theorem). Assuming that:

  • φ and ψ are propositions

Then ⊢CPCφ→ψ if and only if ⊢IPC¬⁡¬⁡φ→¬⁡¬⁡ψ.

Proof.

Corollary 1.5.5. Assuming that:

  • φ a proposition

Then ⊢CPCφ if and only if ⊢IPCφN.

Proof. Induction over the complexity of formulae. □

Corollary 1.5.6. CPC is inconsistent if and only if IPC is inconsistent.

Proof.