model theory, interpretation, completeness theorem, logic, calculus, intuitionistic, constructive, Kripke semantics, Kripke model, semantics, Kripke structure, scenario, model, completeness, Kripke, sequent

Back to title page

Left

Adjust your browser window
In this book, constructive logic is used as a synonym of intuitionistic logic!

Right

4.4. Constructive Propositional Logic - Kripke Semantics

Saul Aaron Kripke (1940). See also portraits in the gallery http://www.consciencia.org/imagens/banco.

"American logician and philosopher Saul Kripke is one of today's leading thinkers on thought and its manifold relations to the world. His name is attached to objects in several fields of logic from Kripke-Platek axioms in higher recursion theory to the "Brouwer-Kripke scheme" in intuitionistic mathematics. Kripke models for modal logic, a discovery he made in his teen-age years, became part of the standard vocabulary of mathematical logicians after his first article appeared in 1963, when he was just 23 years old. Kripke models and the results that depend upon them are cited today not only in philosophy and logic, but also in linguistics and computer science..." (The Gazette. The newspaper of the John Hopkins University, May 12, 1997, Vol.26, N 34)

S. Kripke (1963). Semantical Considerations on Modal Logic, Acta Philosophica Fennica 16: 83-94.

S. Kripke (1963). Semantical analysis of modal logic. I. Normal modal propositional calculi. Z. Math. Logik Grundl. Math., 9:67-96, 1963.

S. Kripke (1965). Semantical analysis of intuitionistic logic. In: J. N. Crossley, M. A. E. Dummet (eds.), Formal systems and recursive functions. Amsterdam, North Holland, 1965, pp.92-129.

As usual, let us assume, the formula F has been built of "atomic" formulas B1, B2, ..., Bn by using propositional connectives only. Instead of simply computing truth values of F from truth values of B1, B2, ..., Bn, Kripke proposed to consider the behavior of F when the truth values of B1, B2, ..., Bn are changing gradually from false to true according to some "scenario".

Thus, Kripke proposed to replace the classical semantics (interpretation) of the propositional connectives (defined by the classical truth tables) by a more complicated "dynamic" samantics.

Instead of simply saying that ~F is true, iff F is false, let us say that, at some point in a scenario, ~F is true, iff, at this point, F is false and remains false, when truth values of B1, B2, ..., Bn are changing according to the scenario.

Let o stand for implication, conjunction or disjunction. Instead of simply saying that FoG is true, iff, FoG is true according to the classical truth tables, let us say that, at some point in a scenario, FoG is true, iff, at this point, it is true and remains true, when truth values of B1, B2, ..., Bn are changing according to the scenario.

Example 4.4.1. Let us consider the behavior of the classical axiom L11: Bv~B in the scenario, where, at first, B is false, and at the next step it becomes true:

0 -------------- 1

At the starting point, B is false, ~B also is false (here, for ~B to be true, B must remain false at the next step, but it doesn't). This means that, at the starting point, Bv~B is false. At the next step: B is true, hence, ~B is false, but, of course, Bv~B is true. Thus, in Kripke scenarios, Bv~B is not always true. Surprisingly, some time later (Lemma 4.4.3), we will derive from this simple fact that Bv~B cannot be proved in the constructive logic (we already know this from Section 2.8).

Example 4.4.2. Let us consider the behavior of the classically provable half of the First de Morgan Law: ~(A&B)->~Av~B in the scenario, where, at first A and B are both false, and at the next step, two branches appear in the scenario: in the first branch: A remains false, and B becomes true, in the second branch: A becomes true, and B remains false:

|---01
00--|----------
|---10

At the starting point: A is false, ~A - also is false (for ~A to be true, A must remain false at the next step, but in the second branch it doesn't). Similarly, at the starting point: B is false, ~B - also false (for ~B to be true, B must remain false at the next step, but in the first branch it doesn't). This means that, at the starting point, ~(A&B) is true (because A&B is false, and it remains false in both branches), and ~Av~B is false, hence, ~(A&B)->~Av~B is false. Thus, in Kripke scenarios, ~(A&B)->~Av~B is not always true. Surprisingly, some time later (Lemma 4.4.3), we will derive from this simple fact that the this half of the First de Morgan Law cannot be proved in the constructive logic. We failed to do this in Section 2.8!

Exercise 4.4.1. Investigate, in appropriate scenarios, the behavior of the following classically provable formulas:

~(A&B) -> ~A v ~B,
~~(AvB) -> ~~A v ~~B,
(A->B)->((~A->B)->B),
(A->B)v(B->A),

and verify that, in Kripke scenarios, these formulas are not always true. Some time later (Lemma 4.4.3), we will derive from this simple fact that these formulas cannot be proved in the constructive logic. We failed to do this in Section 2.8! (Hint: try the most simple scenarios first: 00--01, 00-10, 00-11, etc.)

More precisely, the definition of the Kripke semantics for the propositional logic is as follows. Assume, the formula F has been built of "atomic" formulas B1, B2, ..., Bn by using propositional connectives only. Instead of considering truth values of F for all the possible tuples of truth values of B1, B2, ..., Bn, let us consider the behavior of F in all the possible Kripke scenarios, defined as follows.

Definition of Kripke scenarios. Each scenario s is a triple (b, <=, t) of the following objects. First, b is a finite set of objects called nodes (or, states).

The second member <= is a partial ordering relationship between the nodes, i.e. for all x, y, z in b: x<=y & y<=z -> x<=z (transitivity).

The third member t of the tripple is a function (t means "true"). It associates with each node x a "growing" set t(x) of "atomic" formulas, i.e. a subset of {B1, B2, ..., Bn} in such a way that for all x, y in b: x<=y -> t(x)<=t(y), where <= means "is subset of".

Note. In some other textbooks, Kripke scenarios are called Kripke models, or Kripke structures.

Let us say that Bi is true at the node x, iff Bi is in the set t(x). We will denote this fact by x |= Bi ("at x, Bi is true", or "x forces Bi"). Since t is monotonic, if x |= Bi , then y |= Bi for all y after x, i.e. for all y in b such that y>=x. I.e. if Bi is true at some node x, then Bi remains true at all nodes after x.

Let us define x |= F ("F is true at x", or "x forces F") for any formula F that has been built of "atomic" formulas B1, B2, ..., Bn by using propositional connectives only.

1. Negation. Suppose, the truth value of x |= F is already defined for all x in b. Then x |= ~F is defined to be true, iff, for all y>=x in b, y |= F is false (i.e. ~(y |= F) is true according to the classical truth table of the negation connective).

2. Implication, conjunction or disjunction. Suppose, the truth values of x |= F and x |= G are already defined for all x in b. Then x |= FoG is defined to be true, iff, for all y>=x in b, (y |= F)o(y |= G) is true according to the classical truth table of the implication, conjunction or disjunction connective respectively.

Lemma 4.4.1. For any formula F, any Kripke scenario (b, <=, t), and any node x in b: if x |= F, then y |= F for all y in b such that y>=x. I.e. if, in a Kripke scenario, a formula becomes true at some node, then it remains true forever after this node.

Proof. By induction.

Induction base. See above: if x |= Bi , then y |= Bi for all y after x, i.e. for all y in b such that y>=x.

Induction step.

1. Negation. Assume, x |= ~F, i.e., according to the classical truth table, not y |= F for all y>=x in b. If y>=x, then is y |= ~F true or false? By definition, y |= ~F would be true, iff not z |= F for all z>=y in b. By transitivity of <=, if z>=y and y>=x, then z>=x. Thus, by our assumption, if z>=y, then not z |= F. Hence, y |= ~F. Q.E.D.

2. Implication, conjunction or disjunction. Assume, x |= FoG, i.e., according to the corresponding classical truth table, (y |= F)o(y |= G) is true for all y>=x in b. If y>=x, then is y |= FoG true or false? By definition, y |= FoG would be true, iff (z |=F)o(z |= G) would be true for all z>=y in b. By transitivity of <=, if z>=y and y>=x, then z>=x. Thus, by our assumption, if z>=x, then (z |= F)o(z |= G) is true. Hence, y |= FoG. Q.E.D.

Exercise 4.4.2. Verify that if x is a maximal node in a scenario (b, <=, t), then x |= F, iff F is true at x according to the classical truth tables.

Kripke established that a formula is provable in the constructive propositional logic, iff it is true at all nodes in all Kripke scenarios.

Theorem 4.4.2 (S.Kripke, completeness of the constructive propositional logic). A formula F is provable in the constructive propositional logic (i.e. [L1-L10, MP] |- F), iff F is true at all nodes in all Kripke scenarios.

As usual, the hard part of the proof is establishing that "true is provable", i.e. if F is true at all nodes in all Kripke scenarios, then [L1-L10, MP] |- F (see Corollary 4.4.7 below). The easy part of the proof is, as usual, the "soundness lemma":

Lemma 4.4.3. If [L1-L10, MP] |- F, then F is true at all nodes in all Kripke scenarios.

This lemma will follow from

Lemma 4.4.4. If F is any of the constructive axioms L1-L10, then, for any Kripke scenario (b, <=, t), and any node x in b: x |= F. I.e. the constructive axioms are true at all nodes in all Kripke scenarios.

and

Lemma 4.4.5. If, in a Kripke scenario (b, <=, t), at the node x in b: x |= F and x |= F->G, then x |= G. Hence, if F and F->G are true at all nodes in all Kripke scenarios, then so is G.

Proof of Lemma 4.4.3. Indeed, by Lemma 4.4.4, all the constructive axioms L1-L10 are true at all nodes in all scenarios, and, by Lemma 4.4.5, the Modus Ponens rule preserves the property of being "true at all nodes in all scenarios". Q.E.D.

Note. Let us return to the above Example 4.4.2 and Exercise 4.4.1. We established that formulas

~(A&B)->~Av~B
~~(AvB)->~~Av~~B
(A->B)->((~A->B)->B)

are not true at all nodes in all scenarios. Hence, by Lemma 4.4.3, these formulas cannot be proved in the constructive logic [L1-L10, MP]. We failed to prove this in Section 2.8!

Proof of Lemma 4.4.5. We know that x |= F->G means that (y |= F)->(y |= G) is true (according to the classical truth table) for all y>=x in b. By Lemma 4.4.1, we know that y |= F for all y>=x in b. Hence, if y |= G would be false, then (y |= F)->(y |= G) also would be false. Hence, x |= G. Q.E.D.

Proof of Lemma 4.4.4.

L1: B->(C->B)

x |= B->(C->B) is true, iff (y |= B)->(y |= C->B) is true for all y>=x.

x |= B->(C->B) is false, iff (y |= B)->(y |= C->B) is false for some y>=x.

How could (y |= B)->(y |= C->B) be false for some y>=x? According to the classical implication truth table, this could be only, iff y |= B is true, and y |= C->B is false.

y |= C->B is true, iff (z |= C)->(z |= B) is true for all z>=y.

y |= C->B is false, iff (z |= C)->(z |= B) is false for some z>=y.

How could (z |= C)->(z |= B) be false for some z>=y? According to the classical implication truth table, this could be only, iff z |= C is true, and z |= B is false.

Summary:

x |= B->(C->B) is false
-----------------------iff------------------------
Ey>=x (y |= B is true & y |= C->B is false)
-------------------------------------iff------------
--------------------------Ez>=y (z |= C is true & z |= B is false)

Hence, if x |= B->(C->B) is false, then there are y and z such that: x<=y<=z, y |= B is true, z |= C is true, and z |= B is false. By Lemma 4.4.1, if y<=z and y |= B is true, then z |= B is true. Contradiction with "z |= B is false". Thus, x |= B->(C->B) is true.

L10: ~B->(B->C)

x |= ~B->(B->C) is false, iff (y |= ~B)->(y |= B->C) is false for some y>=x, i.e. iff y |= ~B is true, and y |= B->C is false.

y |= ~B is true, iff z |=B is false for all z>=y.

y |= B->C is false, iff (z |= B)->(z |= C) is false for some z>=y, i.e. iff z |= B is true, and z |= C is false.

Summary:

x |= ~B->(B->C) is false
-----------------------iff------------------------
Ey>=x (y |= ~B is true & y |= B->C is false)
-----------------------iff-----------------iff---------------------
-----------------------Az>=y (z |=B is false)------------Ez>=y (z |= B is true & z |= C is false)

Hence, if x |= ~B->(B->C) is false, then there is y>=x such that: a) Az>=y (z |=B is false), and b) Ez>=y (z |= B is true). Contradiction. Thus, x |= ~B->(B->C) is true.

 

L3: B&C->B

x |= B&C->B is false
-----------------------iff------------------------
Ey>=x (y |=B&C is true & y |= B is false)
---------------------------iff--------------------------------------
-----------------------Az>=y (z |=B is true & z |= C is true)-----------------------------------------------

Hence, there is y such that x<=y and y |= B is false. From Az>=y (z |=B is true) we obtain that y |= B is true. Contradiction. Thus, x |= B&C->C is true.

L4: B&C->C

Similarly.

L5: B->(C->B&C)

x |= B->(C->B&C )is false
-----------------------iff------------------------
Ey>=x (y |=B is true & y |= C->B&C is false)
-----------------------------------iff--------
-----------------------Ez>=y (z |=C is true & z |= B&C is false)

Hence, there are y, z such that x<=y<=z, y |= B is true, and z |= C is true, and z |= B&C is false. Then, by Lemma 4.4.1, (u |= B is true)&(u |= C) for all u>=z. I.e. z |= B&C is true. Contradiction. Thus, x |= B->(C->B&C) is true.

L6: B->BvC

x |= B->BvC is false
-----------------------iff------------------------
Ey>=x (y |=B is true & y |= BvC is false)
-----------------------------------iff--------
Ez>=y (z |= B is false and z |= C is false)

Hence, there are y, z such that x<=y<=z, y |= B is true, and z |= B is false. By Lemma 4.4.1, this is a contradiction. Thus, x |= B->BvC is true.

L7: C->BvC

Similarly.

L8: (B->D)->((C->D)->(BvC->D))

x |= (B->D)->((C->D)->(BvC->D)) is false
-----------------------iff------------------------
Ey>=x (y |=B->D is true & y |= (C->D)->(BvC->D) is false)
-----------------------------------iff--------
Ez>=y (z |= C->D is true and z |= BvC->D is false)
-----------------------------------iff--------
Eu>=z (u |= BvC is true and u |= D is false)

Hence, there are y, z, u such that x<=y<=z<=u, y |= B->D is true, z |= C->D is true, and u |= D is false. By Lemma 4.4.1, u |= B->D is true, and u |= C->D is true. Thus, if u |= B would be true, then u |= D also would be true. Hence, u |= B is false. Similarly, u |= C also is false. Hence, u |= BvC is false. But we know that it is true. Contradiction. Thus, x |= (B->D)->((C->D)->(BvC->D)) is true.

L2: (B->(C->D))->((B->C)->(B->D))

x |= (B->(C->D))->((B->C)->(B->D)) is false
-----------------------iff------------------------
Ey>=x (y |= B->(C->D) is true & y |= (B->C)->(B->D) is false)
-----------------------iff-----------------iff---------------------
----------Az>=y ((z |= B)->(z |= C->D))-----Ez>=y (z |= B->C is true & z |= B->D is false)
---------------------------------------------------------iff----------------------iff------
------------------------------------------------Au>=z ((u |= B)->(u |= C))----Eu>=z (u |= B is true & u |= D is false)

Hence, there are y, z, u such that x<=y<=z<=u, u |= B is true and u |= D is false. From Au>=z ((u |= B)->(u |= C)) we obtain that u |=C also is true, and from Az>=y ((z |= B)->(z |= C->D)) - that z |= C->D is true. Then, by Lemma 4.4.1, u |= C->D also is true, i.e. Av>=u ((v |= C)->(v |= D)), in particular, (u |= C)->(u |= D). Hence, u|= D is true. Contradiction. Thus, x |= L2 is true.

L9: (B->C)->((B->~C)->~B)

x |= (B->C)->((B->~C)->~B) is false
-----------------------iff-----------------------
Ey>=x (y |= B->C is true & y |= (B->~C)->~B is false)
--------iff-------------------------iff----
--------------Az>=y ((z |= B)->(z |= C))-------------Ez>=y (z |= B->~C is true & z |= ~B is false)
------------------------------------------------------------iff-------------------------iff----
-------------------------------------------Au>=z ((u |= B)->(u |= ~C))----------Eu>=z (u |= B is true)

Hence, there are y, z, u such that x<=y<=z<=u , and u |= B is true. From Az>=y ((z |= B)->(z |= C)) we obtain that u |= C is true. From Au>=z ((u |= B)->(u |= ~C)) we obtain that u |= ~C is true, i.e. v |= C is false for some v>=u. By Lemma 4.4.1, if u |= C is true, then v |= C is true. Contradiction with "v |= C is false". Hence, x |= L9 is true.

Exercise 4.4.3. Verify that, in the above recursive definition of x |= F, the item

2. Implication, conjunction or disjunction: x |= FoG is defined to be true, iff, according to the classical truth tables, (y |= F)o(y |= G) is true for all y>=x in b.

could be replaced by

2a. Implication ("non-monotonic" connective): x |= F->G is defined to be true, iff, according to the classical truth tables, (y |= F)->(y |= G) is true for all y>=x in b.

2b. Conjunction or disjunction ("monotonic" connectives): x |= FoG is defined to be true, iff, according to the classical truth tables, (x |= F)o(x |= G) is true.

End of Exercise 4.4.3.

The Hard Part of the Proof

Now, let us try proving that, if F is true at all nodes in all Kripke scenarios, then F is provable in the constructive propositional logic). We will follow the paper by

Judith Underwood. A constructive Completeness Proof for Intuitionistic Propositional Calculus. TR-90-1179, December 1990, Department of Computer Science, Cornell University (http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Summarize/cul.cs/TR90-1179).

based on the contructions from

Melvin Fitting. Intuitionistic Logic, Model Theory and Forcing. North-Holland, Amsterdam, 1969

The smart idea is to generalize the problem in the following way. Instead of considering constructive provability of single formulas, let us consider the constructive provability of D1, D2, ..., Dm |- C1vC2v... vCn for arbitrary formulas D1, D2, ..., Dm, C1, C2, ..., Cn, i.e. let us consider ordered pairs of sets ({D1, D2, ..., Dm}, {C1, C2, ..., Cn}). Let us call such pairs sequents. If S1, S2 are sets of formulas (S1 may be empty), let us call the sequent (S1, S2) constructively provable, iff [L1-L10, MP]: S1 |- vS2, where vS2 denotes the disjunction of formulas contained in S2. Moreover, let us consider sets of sequents. This will allow to carry out a specific induction argument (considering single formulas or single sequents does not allow such an argument!).

Let us say that a Kripke scenario (b, <=, t) contains a counterexample for a sequent (S1, S2), iff the sequent is false at some node in the scenario (or, more precisely, iff there is x in b such that x |= F for all formulas F in S1 and not x |= G for all formulas G in S2).

Additionally, let us use Corollary 7.1.2(b) of Theorem 7.1.1 to replace all negations ~F by F->f, where f is an atomic formula, which is "always false", i.e. which, in a sequent (S1, S2), never belongs to S1. Thus, formulas mentioned in the proof of the following Theorem 4.4.6 do not contain negations (but they may contain the specific atomic formula f).

Theorem 4.4.6. For any set S of sequents, either some sequent of S is constructively provable, or there is a Kripke scenario (b, <=, t), which contains counterexamples for each sequent in S.

Proof. Let us start with a proof overview. We will consider the following cases:

Case 1. S contains (S1, S2) such that A&B in S1 and not (A in S1 and B in S1). Let us consider the set S' obtained from S by adding the "missing" formulas A, B to S1, i.e. by replacing (S1, S2) by (S1U{A, B}, S2). Let us verify that if Theorem is true for S', then it is true for S...

Case 2. S contains (S1, S2) such that A&B in S2 and not (A in S2 or B in S2). Let us consider the following two sets: a) S' - obtained from S by adding the formula A to S2, i.e. by replacing (S1, S2) by (S1, S2U{A}). b) S'' - obtained from S by adding the formula B to S2, i.e. by replacing (S1, S2) by (S1, S2U{B}). Let us verify that if Theorem is true for S' and S'', then it is true for S...

Case 3. S contains (S1, S2) such that AvB in S1 and not (A in S1 or B in S1). Let us consider the following two sets: a) S' - obtained from S by adding the formula A to S1, i.e. by replacing (S1, S2) by (S1U{A}, S2). b) S'' - obtained from S by adding the formula B to S1, i.e. by replacing (S1, S2) by (S1U{B}, S2). Let us verify that if Theorem is true for S' and S'', then it is true for S...

Case 4. S contains (S1, S2) such that AvB in S2 and not (A in S2 and B in S2). Let us consider the set S' obtained from S by adding the "missing" formulas A, B to S2, i.e. by replacing (S1, S2) by (S1, S2U{A, B}). Let us verify that if Theorem is true for S', then it is true for S...

Case 5. S contains (S1, S2) such that A->B in S1 and not (A in S2 or B in S1). Let us consider the following two sets: a) S' - obtained from S by adding the formula A to S2, i.e. by replacing (S1, S2) by (S1, S2U{A}). b) S'' - obtained from S by adding the formula B to S1, i.e. by replacing (S1, S2) by (S1U{B}, S2). Let us verify that if Theorem is true for S' and S'', then it is true for S...

Case 6. S contains (S1, S2) such that A->B in S2 and for every sequent (T1, T2) in S, not (S1<=T1 and A in T1 and B in T2). Let us consider the set S' obtained from S by adding the sequent (S1U{A}, B) to it. Let us verify that if Theorem is true for S', then it is true for S...

Case 7. None of the above cases hold for S. Theorem is true for S - easy to verify...

The first six cases represent the induction argument: proving of Theorem for a sequent set S is reduced to proving it for some other sets - S' and S". By iterating this reduction, we always arrive happily to the Case 7, where Theorem is easy to verify.

Indeed, let us denote by universe(S1, S2) the set of all formulas and sub-formulas (of the formulas) contained in S1US2. Let us denote by universe(S) the union of the universes of sequents from S.

Exercise 4.4.4. Verify that:

a) When, in the Cases 1-5, the sequent (S1, S2) is replaced by some other sequent (T1, T2), then universe(T1, T2) <= universe(S1, S2).

b) When, in the Case 6, because of the sequent (S1, S2), the sequent (S1U{A}, B) is added to S, then universe(S1U{A}, B) <= universe(S1, S2).

c) For a given universe(S), there exist no more than N = 2|universe(S)|+1 different sequents (S1, S2) such that universe(S1, S2) <= universe(S). And, no more than 2N different sets of sequents.

Thus, any chain of iterated Cases 1-6 cannot be longer than 2N+1 - either we will arrive at a set of sequents already built at a previous step, or we will arrive at the Case 7.

Now - the proof as it should be.

Case 1. S contains (S1, S2) such that A&B in S1 and not (A in S1 and B in S1). Let us consider the set S' obtained from S by adding the "missing" formulas A, B to S1, i.e. by replacing (S1, S2) by (S1U{A, B}, S2).

Let us verify that if Theorem is true for S', then it is true for S.

Assume, some sequent of S' is constructively provable, then it is (S1U{A, B}, S2) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. If (S1U{A, B}, S2) is constructively provable, then so is (S1, S2). Indeed, if S1U{A, B}|- vS2 is constructively provable, how to prove S1 |- vS2? Since S1 contains A&B, by axioms L3 and L3 we can derive A and B. After this, we can apply the proof of S1U{A, B}|- vS2. Hence, S1 |- vS2 is constructively provable.

On the other side, if there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S', then it contains also a counterexample for each sequent in S. Indeed, a sequent in S is either (S1, S2), or some other sequent. If it is some other sequent, then it belongs to S', i.e. (b, <=, t) contains a counterexample for it. Does (b, <=, t) contain a counterexample also for (S1, S2)? We know that it contains a counterexample for (S1U{A, B}, S2), i.e. for some x in b, x |= F for all formulas F in S1U{A, B}and not x |= G for all formulas G in S2. Hence, (b, <=, t) contains a counterexample also for (S1, S2). Q.E.D.

Case 2. S contains (S1, S2) such that A&B in S2 and not (A in S2 or B in S2). Let us consider the following two sets:

a) S' - obtained from S by adding the formula A to S2, i.e. by replacing (S1, S2) by (S1, S2U{A}).

b) S'' - obtained from S by adding the formula B to S2, i.e. by replacing (S1, S2) by (S1, S2U{B}).

Let us verify that if Theorem is true for S' and S'', then it is true for S.

Assume, some sequent of S' and some sequent of S'' is constructively provable. The sequent of S' is (S1, S2U{A}) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. The sequent of S'' is (S1, S2U{B}) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. So, let us consider the situation, when (S1, S2U{A}) and (S1, S2U{B}) both are constructively provable.

If S1 |- AvS2 and S1 |- BvS2 both are constructively provable, how to prove S1 |- vS2 (we know that S2 contains A&B)?

By Theorem 2.3.1, conjunction is distributive to disjunction: [L1-L8, MP]: |- (A&B)vC<=->(AvC)&(BvC). Hence, [L1-L8, MP]: (AvS2)&(BvS2)->(A&B)vS2. So, let us merge the proofs of S1 |- AvS2 and S1 |- BvS2, and let us append the proof of Theorem 2.3.1. Thus, we have obtained a proof of S1 |- (A&B)vS2.

From Section 2.3 we know that in [L1-L8, MP] disjunction is associative, commutative and idempotent. And, by Replacement Lemma 1(e): [L1-L8, MP] A<=->B |- AvC<=->BvC. Since S2 contains A&B, these facts allow, from a proof of S1 |- (A&B)vS2, to derive a proof of S1 |- vS2.

On the other side, if there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S', then it contains also a counterexample for each sequent in S. Indeed, a sequent in S is either (S1, S2), or some other sequent. If it is some other sequent, then it belongs to S', i.e. (b, <=, t) contains a counterexample for it. Does (b, <=, t) contain a counterexample also for (S1, S2)? We know that it contains a counterexample for (S1, S2U{A}), i.e. for some x in b, x |= F for all formulas F in S1 and not x |= G for all formulas G in S2U{A}. Hence, (b, <=, t) contains a counterexample also for (S1, S2). Q.E.D.

If there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S'', then it contains also a counterexample for each sequent in S. The argument is similar to the above.

Case 3. S contains (S1, S2) such that AvB in S1 and not (A in S1 or B in S1). Let us consider the following two sets:

a) S' - obtained from S by adding the formula A to S1, i.e. by replacing (S1, S2) by (S1U{A}, S2).

b) S'' - obtained from S by adding the formula B to S1, i.e. by replacing (S1, S2) by (S1U{B}, S2).

Let us verify that if Theorem is true for S' and S'', then it is true for S.

Assume, some sequent of S' and some sequent of S'' is constructively provable. The sequent of S' is (S1U{A}, S2) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. The sequent of S'' is (S1U{B}, S2) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. So, let us consider the situation, when (S1U{A}, S2) and (S1U{B}, S2) both are constructively provable.

Let us recall the Exercise 2.3.2 [L1, L2, L8, MP]: if A1, A2, ..., An, B |- D, and A1, A2, ..., An, C |- D, then A1, A2, ..., An , BvC |- D. Thus, if S1U{A}|- vS2 and S1U{B}|- vS2 both are constructively provable, then (since S1 contains AvB) so is S1U{B}|- vS2.

On the other side, if there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S', then it contains also a counterexample for each sequent in S. Indeed, a sequent in S is either (S1, S2), or some other sequent. If it is some other sequent, then it belongs to S', i.e. (b, <=, t) contains a counterexample for it. Does (b, <=, t) contain a counterexample also for (S1, S2)? We know that it is contains counterexample for (S1U{A}, S2), i.e. for some x in b, x |= F for all formulas F in S1U{A}and not x |= G for all formulas G in S2. Hence, (b, <=, t) contains a counterexample also for (S1, S2). Q.E.D.

If there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S'', then it is also contains counterexample for each sequents in S. The argument is similar to the above.

Case 4. S contains (S1, S2) such that AvB in S2 and not (A in S2 and B in S2). Let us consider the set S' obtained from S by adding the "missing" formulas A, B to S2, i.e. by replacing (S1, S2) by (S1, S2U{A, B}).

Let us verify that if Theorem is true for S', then it is true for S.

Assume, some sequent of S' is constructively provable, then it is (S1, S2U{A, B}) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. If (S1, S2U{A, B}) is constructively provable, then so is (S1, S2). Indeed, if S1|-(AvB) vS2 is constructively provable, how to prove S1 |- vS2 (where S2 contains AvB)?

From Section 2.3 we know that in [L1-L8, MP] disjunction is associative, commutative and idempotent. And, by Replacement Lemma 1(e): [L1-L8, MP] A<=->B |- AvC<=->BvC. Since that S2 contains AvB, these facts allow, from a proof of S1 |- (AvB)vS2, to derive a proof of S1 |- vS2.

On the other side, if there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S', then it contains also a counterexample for each sequent in S. Indeed, a sequent in S is either (S1, S2), or some other sequent. If it is some other sequent, then it belongs to S', i.e. (b, <=, t) contains a counterexample for it. Does (b, <=, t) contain a counterexample also for (S1, S2)? We know that it contains a counterexample for (S1, S2U{A, B}), i.e. for some x in b, x |= F for all formulas F in S1 and not x |= G for all formulas G in S2U{A, B}. Hence, (b, <=, t) contains a counterexample also for (S1, S2). Q.E.D.

If there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S'', then it contains also a counterexample for each sequent in S. The argument is similar to the above.

Case 5. S contains (S1, S2) such that A->B in S1 and not (A in S2 or B in S1). Let us consider the following two sets:

a) S' - obtained from S by adding the formula A to S2, i.e. by replacing (S1, S2) by (S1, S2U{A}).

b) S'' - obtained from S by adding the formula B to S1, i.e. by replacing (S1, S2) by (S1U{B}, S2).

Let us verify that if Theorem is true for S' and S'', then it is true for S.

Assume, some sequent of S' and some sequent of S'' is constructively provable. The sequent of S' is (S1, S2U{A}) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. The sequent of S'' is (S1U{B}, S2) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. So, let us consider the situation, when (S1, S2U{A}) and (S1U{B}, S2) both are constructively provable.

We have two proofs: S1 |- AvS2 and S1, B |- vS2, and we know that S1 contains A->B. How to derive a proof of S1 |- vS2?

Since S1 contains A->B, we have a proof of S1, A |- B. Together with S1, B |- vS2 this yields a proof of S1, A |- vS2. Of course, vS2 |- vS2. Now, let us recall the Exercise 2.3.2 [L1, L2, L8, MP]: if A1, A2, ..., An, B |- D, and A1, A2, ..., An, C |- D, then A1, A2, ..., An , BvC |- D. Thus, S1, AvS2 |- vS2. Since we have a proof of S1 |- AvS2, we have also a proof of S1 |- AvS2.

On the other side, if there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S', then it contains also a counterexample for each sequent in S. Indeed, a sequent in S is either (S1, S2), or some other sequent. If it is some other sequent, then it belongs to S', i.e. (b, <=, t) contains a counterexample for it. Does (b, <=, t) contain a counterexample also for (S1, S2)? We know that it contains a counterexample for (S1, S2U{A}), i.e. for some x in b, x |= F for all formulas F in S1 and not x |= G for all formulas G in S2U{A}. Hence, (b, <=, t) contains a counterexample also for (S1, S2). Q.E.D.

If there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S'', then it contains also a counterexample for each sequent in S. The argument is similar to the above.

Case 6. S contains (S1, S2) such that A->B in S2 and for every sequent (T1, T2) in S, not (S1<=T1 and A in T1 and B in T2). Let us consider the set S' obtained from S by adding the sequent (S1U{A}, B) to it.

Let us verify that if Theorem is true for S', then it is true for S.

Assume, some sequent of S' is constructively provable, then it is (S1U{A}, B) or some other sequent. If it is some other sequent, then it belongs to S, i.e. some sequent of S is constructively provable. If (S1U{A}, B) is constructively provable, then so is (S1, S2). Indeed, if S1, A |- B is constructively provable, then, by Deduction Theorem 1, S1 |- A->B, and S1 |- vS2 (since S2 contains A->B).

On the other side, if there is a Kripke scenario (b, <=, t), which contains a counterexample for each sequent in S', then, since S is a subset of S', this scenario contains also a counterexample for each sequent in S.

Case 7. None of the above cases hold for S. Hence, for every sequent (S1, S2) in S the following hold:

1) If A&B in S1, then A in S1 and B in S1,

2) If A&B in S2, then A in S2 or B in S2,

3) If AvB in S1, then A in S1 or B in S1,

4) If AvB in S2, then A in S2 and B in S2,

5) If A->B in S1, then A in S2 or B in S1,

6) If A->B in S2, then there is (T1, T2) in S such that S1<=T1 and A in T1 and B in T2.

For this kind of sequent sets we have a very simple situation:

a) If, in some sequent (S1, S2) in S the sets S1, S2 contain the same formula A, then from L6: A->AvB we can derive easily that [L1-L8, MP]: S1 |- vS2.

b) If the sets S1, S2 are disjoint for all sequents (S1, S2) in S, then we must (and will) build a scenario, containing a counterexample for each sequent in S.

So, let us suppose that the sets S1, S2 are disjoint for all sequents (S1, S2) in S, and let us define the following Kripke scenario (b, <=, t):

b = S,

x<=y must be defined for every two members x, y of b, i.e. for every two sequents (S1, S2) and (T1, T2) in S. Let us define (S1, S2) <= (T1, T2), iff S1 <= T1. Of course, <= is a partial ordering of b.

t must be a monotonic mapping from members of b to sets of atomic formulas. Let us define t(S1, S2) as the set of all atomic formulas in S1. Of course, t is monotonic for <=. (And, of course, f - our atomic "false", never belongs to t(S1, S2)).

Thus, (b, <=, t) is a Kripke scenario. Let us prove that it contains a counterexample for each sequent in S. In fact, we will prove that for each sequent (S1, S2) in S, and each formula F:

If F in S1, then (S1, S2) |= F.

If F in S2, then not (S1, S2) |= F.

This will mean that, (S1, S2) represents a counterexample for (S1, S2).

Of course, our proof will be by induction along the structure of the formula F.

a) F is an atomic formula.

If F in S1, then F in t(T1, T2) for every (T1, T2) in S such that (S1, S2)<=(T1, T2). Hence, (S1, S2) |= F.

If F in S2, then, since S1 and S2 are disjoint sets, F not in S1, and F not in t(S1, S2), i.e. not (S1, S2) |= F.

b) F is A&B.

If F in S1, then, by (1), A in S1 and B in S1. Hence, by induction assumption, (S1, S2) |= A and (S1, S2) |= B, i.e., by Exercise 4.4.3, (S1, S2) |= A&B.

If F in S2, then, by (2), A in S2 or B in S2. If A in S2, then, by induction assumption, not (S1, S2) |= A, i.e., by Exercise 4.4.3, not (S1, S2) |= A&B. If B in S2 - the argument is similar.

c) F is AvB.

If F in S1, then, by (3), A in S1 or B in S1. If A in S1, then, by induction assumption, (S1, S2) |= A, i.e., by Exercise 4.4.3, (S1, S2) |= AvB. If B in S1 - the argument is similar.

If F in S2, then, by (4), A in S2 and B in S2. By induction assumption, not (S1, S2) |= A and not (S1, S2) |= B, i.e., by Exercise 4.4.3, not (S1, S2) |= AvB.

d) F is A->B.

d1) F in S1. We must prove that (S1, S2) |= A->B, i.e. that (T1, T2) |= A->B for each (T1, T2) in S such that (S1, S2)<=(T1, T2). So, let us assume that not (T1, T2) |= A->B, i.e. that (U1, U2) |= A and not (U1, U2) |= B for some (U1, U2) in S such that (T1, T2)<= (U1, U2).

Since A->B in S1, A->B also in U1, and, by (5), A in U2 or B in U1. By induction assumption, this means that (not (U1, U2) |= A or (U1, U2) |= B. Contradiction, hence, (S1, S2) |= A->B.

d2) F in S2. We must prove that not (S1, S2) |= A->B, i.e. that there is (T1, T2) in S such that (S1, S2)<=(T1, T2) and (T1, T2) |= A and not (T1, T2) |= B.

Since A->B in S2, by (6), there is (T1, T2) in S such that (S1, S2)<=(T1, T2) and A in T1 and B in T2. By induction assumption, this means that (T1, T2) |= A and not (T1, T2) |= B. Q.E.D.

This completes the proof of Theorem 4.4.6.

Note. The above proof contains an algorithm allowing to find, for each set S of sequents, either a constructive proof of some sequent of S, or a Kripke scenario containing counterexamples for each sequent of S.

Corollary 4.4.7. If a formula F is true at all nodes in all scenarios, then [L1-L10, MP] |- F (i.e. F is provable in the constructive propositional logic).

Indeed, let us consider the set of sequents {(0, {F})} consisting of a single sequent (0, {F}), where 0 is empty set. By Theorem 4.4.6, either the sequent (0, {F}) is constructively provable, or there is a Kripke scenario (b, <=, t), which contains a counterexample for (0, {F}). Since F is true at all nodes in all Kripke scenarios, it cannot have counterexamples; hence, the sequent (0, {F}) (i.e. the formula F) is constructively provable.

Together with Lemma 4.4.3 this Corollary implies the above Theorem 4.4.2 - Kripke's theorem on the completeness of the constructive propositional logic: a formula F is true at all nodes in all Kripke scenarios, iff F is provable in the constructive propositional logic.

Corollary 4.4.8 (S.C.Kleene(?), decidability of the constructive propositional logic). There is an algorithm allowing to determine for any formula F, is this formula provable in the constructive propositional logic [L1-L10, MP], or not.

Corollary 4.4.9. If FvG is true at all nodes in all scenarios, then F is true at all nodes in all scenarios, or G is true at all nodes in all scenarios.

Proof. Assume, there is a scenario (b1, <=1, t1) such that x1 |= F is false for some x1 in b1, and a scenario (b2, <=2, t2) such that x2 |= G is false for some x2 in b2. We may assume that the (node) sets b1 and b2 do not intersect. Let us merge these scenarios by adding a new common starting node x0, where all Bi are false. Then, x0 |= F is false (Lemma 4.4.1), and x0 |= G is false (similarly). Hence, according to the classical disjunction truth table, x0 |= FvG is false. But, x |= FvG is always true. Hence, x |= F is always true, or x |= G is always true. Q.E.D.

Theorem 4.4.10. (Goedel [1932]). If [L1-L10, MP]: |- BvC, then [L1-L10, MP]: |- B or [L1-L10, MP]: |- C. (If the disjunction BvC is constructively provable, then one of the formulas B, C also is constructively provable.)

Proof. If [L1-L10, MP]: |- BvC, then, by Kripke's Completeness Theorem 4.4.2, BvC is true at all nodes in all scenarios. Then, by Corollary 4.4.9, so is B or so is C. By Kripke's Completeness Theorem 4.4.2, this means that one of the formulas B, C is constructively provable. Q.E.D.

Let us recall the constructive interpretation of disjunction from Section 1.3:

- To prove BvC constructively, you must prove B, or prove C. To prove BvC classically, you may assume BvC as a hypothesis, and derive a contradiction. Having only such a "negative" proof, you may be unable to determine, which part of the disjunction BvC is true - B, or C, or both.

According to Theorem 4.4.10, the constructive propositional logic [L1-L10, MP] supports the constructive interpretation of disjunction.

K.Goedel established this fact in 1932:

K.Goedel. Zum intuitionistischen Aussagenkalkuel. Akademie der Wissenschaften in Wien, Mathematisch- naturwissenschaftliche Klasse, Anzeiger, 1932, Vol.69, pp.65-66.

Exercise 4.4.5. (For smart students). By adding the schema (B->C)v(C->B) to the axioms of the constructive logic, we obtain the so-called Goedel-Dummett logic. Verify, that a propositional formula F is provable in Goedel-Dummett logic, iff F is true at all nodes in all linear Kripke scenarios (i.e. in the scenarious that do not allow branching). See also Intuitionistic Logic by Joan Moschovakis in Stanford Encyclopedia of Philosophy, and Michael Dummett in The Internet Encyclopedia of Philosophy.

Back to title page

model theory, interpretation, completeness theorem, logic, calculus, intuitionistic, constructive, Kripke semantics, Kripke model, semantics, Kripke structure, scenario, model, completeness, Kripke, sequent