30 Apr 2018

Priest (4.4a) An Introduction to Non-Classical Logic, ‘S0.5,’ summary

 

by Corry Shores

 

[Search Blog Here. Index-tags are found on the bottom of the left column.]

 

[Central Entry Directory]

[Logic and Semantics, entry directory]

[Graham Priest, entry directory]

[Priest, Introduction to Non-Classical Logic, entry directory]

 

[The following is summary of Priest’s text, which is already written with maximum efficiency. Bracketed commentary and boldface are my own, unless otherwise noted. I do not have specialized training in this field, so please trust the original text over my summarization. I apologize for my typos and other unfortunate mistakes, because I have not finished proofreading, and I also have not finished learning all the basics of these logics.]

 

 

 

 

Summary of

 

Graham Priest

 

An Introduction to Non-Classical Logic: From If to Is

 

Part I:

Propositional Logic

 

4.

Non-Normal Modal Logics; Strict Conditionals

 

4.4a

S0.5

 

 

 

 

Brief summary:

(4.4a.1) L is a type of non-normal modal logic. Modal formulas are “sentences of the form □A and ◊A.” And in L, “modal formulas are assigned arbitrary truth values at non-normal worlds” (69). (4.4a.2) In L, the evaluation function v “assigns each modal formula a truth value at every non-normal world” (69). (4.4a.3) The tableau rules for L are the same as for N, except “there are no rules applying to modal formulas or their negations at worlds other than 0. That is, the rules of 2.4.4 apply at world 0 and world 0 only” (69). (4.4a.4) Priest then gives an example of how to create the tableau for a valid formula and another for an invalid one. (4.4a.5) We fashion counter-models from open branches in tableaux in L in the following way. Worlds in W are assigned according to i numbers: “For each number, i, that occurs on the branch, there is a world, wi” (p.27, section 2.4.7). World 0 is the only normal world, and all others are non-normal: “N = {w0}” (70). Accessibility relations follow the irj formulations: “wiRwj iff irj occurs on the branch” (p.27, section 2.4.7). Atomic propositional formulas are true for their indicated world, and negated atomic formulas are false for their world: “for every propositional parameter, p, if p,i occurs on the branch, vwi(p) = 1, if ¬p,i occurs on the branch, vwi(p) = 0 (and if neither, vwi(p) can be anything one wishes” (p.27, section 2.4.7). All necessity and possibility operated formulas, no matter how complex, in non-normal worlds are assigned truth values in the same way: “if i > 0, and □A,i, is on the branch, vwi (□A) = 1; if ¬□A,i, is on the branch, vwi (□A) = 0; similarly for ◊A” (70). (4.4a.6) Priest then provides an example of a counter-model. (4.4a.7) We obtain extensions of L by applying constraints on the accessibility relation, as for example ρ (reflexivity), σ (symmetry), and τ (transitivity). (4.4a.8) “The tableaux for L and its extensions are sound and complete with respect to their semantics” (70). (4.4a.9) On account of the historical development of modal logics, S0.50 and S0.5 are L and Lρ respectively, only without the possibility operator used in them. (4.4a.10) We cannot define the possibility operator for L in the same way as for K and N, i.e., ‘◊A’ as ‘¬□¬A’, because these formulas do not necessarily have the same truth value in all worlds for L. (4.4a.11) “If we wish to make ◊ behave in L as it does when it is defined, we have to add an extra constraint: for every world, w, vw(◊A) = vw(¬□¬A) (that is, vw(◊A) = 1 − vw(□¬A)” (71). (4.4a.12) But this equivalence breaks down in non-normal worlds in L. (4.4a.13) N is a proper extension of L, and L is the weakest modal logic we have seen so far. (4.4a.14) Since L has non-normal worlds, the Rule of Necessitation fails in L. Thus, “that ‘logic need not hold’ at non-normal worlds in L is patent: if A is a logical truth, □A can behave any old way at such a world” (71). (4.4a.15) “□A is valid in L (and Lρ) iff A is a truth-functional tautology, or, more accurately, is valid in virtue of its truth-functional structure” (71).

 

 

 

 

 

Contents

 

4.4a.1

[Non-Normal Modal Logic L]

 

4.4a.2

[Modal Formula Evaluation in L]

 

4.4a.3

[Tableau Rules for L]

 

4.4a.4

[Two Tableau Examples]

 

4.4a.5

[Counter-Models]

 

4.4a.6

[A Counter-Model Example]

 

4.4a.7

[Extensions of L]

 

4.4a.8

[The Soundness and Completeness of L]

 

4.4a.9

[S0.50 and S0.5 as Historically Without the Possibility Operator]

 

4.4a.10

[The Failure of the Standard Definition for Possibility in L]

 

4.4a.11

[A Worldhood Constraint for Defining ◊ in L]

 

4.4a.12

[The Non-Viability of the Worldhood Constraint Definition]

 

4.4a.13

[N as a Proper Extension of L]

 

4.4a.14

[The Failure of the Rule of Necessitation in L]

 

4.4a.15

[The Conditions of Validity for □A in L]

 

 

 

 

 

Summary

 

4.4a.1

[Non-Normal Modal Logic L]

 

[L is a type of non-normal modal logic. Modal formulas are “sentences of the form □A and ◊A.” And in L, “modal formulas are assigned arbitrary truth values at non-normal worlds” (69).]

 

[In this chapter, we have been examining non-normal modal logics (see especially section 4.2 and section 4.4.) Priest will now examine a type of such logics called L. He defines modal formulas as “sentences of the form □A and ◊A.” And in L, “modal formulas are assigned arbitrary truth values at non-normal worlds”.]

Before we leave the topic of non-normal modal logics, there is one further (very small) family of such logics that is worth noting. I will call the basic system of this family L (after Lemmon). Let us call sentences of the form □A and ◊A modal formulas. In interpretations for L, modal formulas are assigned arbitrary truth values at non-normal worlds.

(69)

[contents]

 

 

 

 

4.4a.2

[Modal Formula Evaluation in L]

 

[In L, the evaluation function v “assigns each modal formula a truth value at every non-normal world” (69).]

 

[Recall from section 4.2.2 that interpretations of non-normal modal logics, which are named N, take the structure ⟨W, N, R, v⟩, where W is the set of worlds, R is the accessibility relation, v is the valuation function, and N is the set of normal worlds, with all the remaining worlds in W being non-normal ones. The interpretations in our non-normal modal logic L will be the same as for N, with just one exception. (I may not get this right. Recall from section 4.2.3 that in N, at non-normal worlds, all necessary propositions (those starting with □) are always false, and all possible propositions (those starting with ◊) are always true. For, in non-normal worlds, nothing is necessary and all is possible. Now Priest says that in L, “v also assigns each modal formula a truth value at every non-normal world, as well.” I am not certain, but maybe the idea is that unlike in N, not all necessary propositions will have to be false and not all possible ones will have to be true. I am just guessing at the moment.)]

Thus, interpretations for L are exactly the same as those for N, with one modification. In any interpretation for L, the evaluation function, v, assigns each propositional parameter, p, a truth value at every world, as usual. But v also assigns each modal formula a truth value at every non-normal world, as well.

(69)

[contents]

 

 

 

 

4.4a.3

[Tableau Rules for L]

 

[The tableau rules for L are the same as for N, except “there are no rules applying to modal formulas or their negations at worlds other than 0. That is, the rules of 2.4.4 apply at world 0 and world 0 only” (69).]

 

[(I will guess that the idea is the following. There were four tableau rules in section 2.4.4 that involved modal formulas or their negations. It seems now that they apply only to world 0, and there are no rules at all for modal formulas or their negations at every other world. As such, I am guessing that we would reformulate those rules as follows.

(The following are my guesses and are not in the text.)

L / S0.5 Negated Necessity

Development (¬□D)

¬A,0

¬A,0

 

L / S0.5 Negated Possibility

Development D)

¬A,0

¬A,0

 

L / S0.5 Relative Necessity

Development (□rD)

A,0

0r0

A,0

 

L / S0.5 Relative Possibility

Development (rD)

A,0

0r1

A,1

(modified from p.24, section 2.4.4, but are not in the text and probably are mistaken)

]

Tableaux for L are the same as those for N, except that there are no rules applying to modal formulas or their negations at worlds other than 0. That is, the rules of 2.4.4 apply at world 0 and world 0 only.

(69)

[contents]

 

 

 

4.4a.4

[Two Tableau Examples]

 

[Priest then gives an example of how to create the tableau for a valid formula and another for an invalid one.]

 

[Priest then gives some examples.]

 

Here are tableaux to show that ⊢L □(□A ∨ ¬□A) and ⊬L □(□(pp) ∨ ◊(q ∧ ¬q)):

 

L □(□A ∨ ¬□A)

1.

.

2.

.

3a.

3b.

.

4.

.

5.

.

¬□(□A ∨ ¬□A),0

¬(□A ∨ ¬□A),0

0r1

¬(□A ∨ ¬□A),1

¬A,1

¬¬A,1 

×

P

.

1¬□D

.

2◊rD

2◊rD

.

3b¬∨D

.

3b¬∨D

(5×4)

Valid

(enumeration and step accounting are my own and are probably mistaken)

 

L □(□(p ⊃ p) ∨ ◊(q ∧ ¬q))

1.

.

2.

.

3a.

3b.

.

4.

.

5.

.

¬□(□(p ⊃ p) ∨ ◊(q ∧ ¬q)),0

¬(□(p ⊃ p) ∨ ◊(q ∧ ¬q)),0

0r1

¬(□(p ⊃ p) ∨ ◊(q ∧ ¬q)),1

¬□(p ⊃ p),1

¬◊(q ∧ ¬q),1

 

P

.

1¬□D

.

2◊rD

2◊rD

.

3b¬∨D

.

3b¬∨D

open

(enumeration and step accounting are my own and are probably mistaken)

 

| The second tableau is now finished, since no modal rules are applicable at world 1.

(69-70)

[contents]

 

 

 

 

4.4a.5

[Counter-Models]

 

[We fashion counter-models from open branches in tableaux in L in the following way. Worlds in W are assigned according to i numbers: “For each number, i, that occurs on the branch, there is a world, wi” (p.27, section 2.4.7). World 0 is the only normal world, and all others are non-normal: “N = {w0}” (70). Accessibility relations follow the irj formulations: “wiRwj iff irj occurs on the branch” (p.27, section 2.4.7). Atomic propositional formulas are true for their indicated world, and negated atomic formulas are false for their world: “for every propositional parameter, p, if p,i occurs on the branch, vwi(p) = 1, if ¬p,i occurs on the branch, vwi(p) = 0 (and if neither, vwi(p) can be anything one wishes” (p.27, section 2.4.7). All necessity and possibility operated formulas, no matter how complex, in non-normal worlds are assigned truth values in the same way: “if i > 0, and □A,i, is on the branch, vwi (□A) = 1; if ¬□A,i, is on the branch, vwi (□A) = 0; similarly for ◊A” (70).]

 

[Recall from section 2.4.7 how in general we fashion counter-models from open branches:

Counter-models can be read off from an open branch of a tableau in a natural way. For each number, i, that occurs on the branch, there is a world, wi; wiRwj iff irj occurs on the branch; for every propositional parameter, p, if p,i occurs on the branch, vwi(p) = 1, if ¬p,i occurs on the branch, vwi(p) = 0 (and if neither, vwi(p) can be anything one wishes).

(p.27, section 2.4.7)

And recall from section 4.3.1 the notion of being □-inhabited: “If world i occurs on a branch of a tableau, call it □-inhabited if there is some node of the form □B,i on the branch” (p.65, section 4.3.1). And finally, recall from section 4.3.5 how we make counter-models in non-normal logics:

Bearing in mind the comments of 4.3.2, it is easy to see how a countermodel for an inference can be read off from an open tableau branch. The method is exactly the same as for K, except that world 0 is always normal, and all other worlds are non-normal, unless they are □-inhabited.

(p.67, section 4.3.5)

It seems that we make counter-models in the following way. All the numbers after commas are worlds in W. World 0 is normal and is thus included in N. I am not sure if the other worlds can be included in N too, when they are □-inhabited. I cannot tell from the example in the next section, because world 1 is not necessity inhabited. But since it says, “the worlds and accessibility relation are read off as usual,” so that makes me think that necessity inhabited worlds are normal. However, later in the text it seems that worlds greater than 0 are non-normal. So I am very unsure. There are more indicators in this paragraph that all worlds higher than 0 are non-normal, so I am going to side with that interpretation for now. World accessibilities are listed in accordance with the irj formulations. Atomic formulas for a world are assigned true in that world, and negated atomic formulas are assigned false for their respected world. It seems we will also assign values to modally operated formulas no matter how complex, but only for worlds other than 0, which we do in the same way as above only this time we keep the operator.]

To read off a counter-model from an open branch of a tableau, the worlds and accessibility relation are read off as usual, N = {w0}, the truth values of propositional parameters are read off in the usual way, and the truth values of modal formulas at non-normal worlds are read off in exactly the same way. Thus, if i > 0, and □A,i, is on the branch, vwi (□A) = 1; if ¬□A,i, is on the branch, vwi (□A) = 0; similarly for ◊A.

(70)

[contents]

 

 

 

 

4.4a.6

[A Counter-Model Example]

 

[Priest then provides an example of a counter-model.]

 

[Priest now fashions a counter-model from the open tableau in section 4.4a.4 above, which was:

L □(□(p ⊃ p) ∨ ◊(q ∧ ¬q))

1.

.

2.

.

3a.

3b.

.

4.

.

5.

.

¬□(□(p ⊃ p) ∨ ◊(q ∧ ¬q)),0

¬(□(p ⊃ p) ∨ ◊(q ∧ ¬q)),0

0r1

¬(□(p ⊃ p) ∨ ◊(q ∧ ¬q)),1

¬□(p ⊃ p),1

¬◊(q ∧ ¬q),1

 

P

.

1¬□D

.

2◊rD

2◊rD

.

3b¬∨D

.

3b¬∨D

open

We see here that there are two worlds, 0 and 1. 0 accesses 1. We have no propositional parameters in 0. But we have negated necessity and possibility formulas in world 1, so we set the unnegated form to false in world 1. Intuitively speaking, we see that the original formula we are testing is invalid, because we can make a counter-model where there is a related world where neither disjunct is true, thus the whole disjunct is false, thus it is not necessary in the original world in question.]

Hence, the counter-model given by the open tableau of 4.4a.4, is such that W = {w0, w1}; N = {w0}; w0Rw1, vw1(□(p p)) = 0, vw1(◊(q ∧¬q)) = 0 (all other values of v being irrelevant). In a diagram:

→xxxx

xxxxw0xxxx→xxxx_____

xxxxw0xxxxxxxx|xw1x|xxx¬□(p p)

xxxxw0xxxx→xxxx|____|xxx¬◊(q ∧¬q)

xxxx

(70)

[contents]

 

 

 

 

 

4.4a.7

[Extensions of L]

 

[We obtain extensions of L by applying constraints on the accessibility relation, as for example ρ (reflexivity), σ (symmetry), and τ (transitivity).]

 

[Recall from section 3.2.3 the constraints on the accessibility relation that generate variations of a modal logic:

ρ (rho), reflexivity: for all w, wRw.

σ (sigma), symmetry: for all w1, w2, if w1Rw2, then w2Rw1.

τ (tau), transitivity: for all w1, w2, w3, if w1Rw2 and w2Rw3, then w1Rw3.

η (eta), extendability: for all w1, there is a w2 such that w1Rw2.

(p.36, section 3.2.3)

In section 3.2.4, we saw how when applied to the normal modal logic system K, this produces such varieties as  

Kρ = T

Kη = D

Kρσ = B

Kρτ = S4

Kρστ = S5

(p.37, section 3.2.4)

And in section 4.2.6, we also saw such extensions of N for non-normal systems. Priest says now that we obtain extensions of L in this same way, and when we do, we add to the systems the appropriate tableau rules for those constraints (see section 3.3.2). Priest notes also some other properties of the extensions.]

Extensions of L are obtained by adding constraints on the accessibility relation in the usual fashion, and adding the corresponding tableau rules. This gives the systems Lρ, Lστ, etc. L is sometimes called S0.50. Lρ is often called S0.5, and is stronger than S0.50, since ⊢Lρ A A. Though it is not immediately obvious, the addition of each of σ and τ has no effect on validity. Jointly, they have an effect on L, but not Lρ. (See 4.10.6 and 4.13, problem 9.)

(70)

[contents]

 

 

 

 

4.4a.8

[The Soundness and Completeness of L]

 

[“The tableaux for L and its extensions are sound and complete with respect to their semantics” (70).]

 

[Priest then notes that:]

The tableaux for L and its extensions are sound and complete with respect to their semantics. This is proved in 4.10.5.

(70)

[contents]

 

 

 

 

4.4a.9

[S0.50 and S0.5 as Historically Without the Possibility Operator]

 

[On account of the historical development of modal logics, S0.50 and S0.5 are L and Lρ respectively, only without the possibility operator used in them.]

 

[Priest’s next point is not so easy for me to follow. It is a historical point. It seems to be that what is now called S0.50 and S0.5 are L and Lρ respectively, only without the possibility operator used in them. The were originally formulated as such, because it seems that modal languages in the beginning only had the necessity operator. But check the quotation to follow:]

One further wrinkle should be noted here. In the earlier years of modal logic, it was common to take a modal language to contain only one modal operator, normally □. The other was then defined. The historical S0.50 and S0.5 are actually the ◊-free fragments of L and Lρ respectively.

(70)

[contents]

 

 

 

 

4.4a.10

[The Failure of the Standard Definition for Possibility in L]

 

[We cannot define the possibility operator for L in the same way as for K and N, i.e., ‘◊A’ as ‘¬□¬A’, because these formulas do not necessarily have the same truth value in all worlds for L.]

 

[The idea in this paragraph seems to be the following. We cannot define the possibility operator for L in the same way as for K and N. Normally we define ‘◊A’ as ‘¬□¬A’, which works in K and N but not in L. I do not grasp why this is so really, so please consult the quotation below.]

The standard definition for ‘◊A’ is ‘¬□¬A’. To take ◊ to be defined in this way, instead of as primitive, has no effect on its behaviour in logics in the K family and N family. This is because ◊A and ¬□¬A have the same truth value at every world (normal or non-normal). But this is not the case in the L family. Given the way in which I set things up, ⊢LA ≡ ¬□¬A (and ⊢L A ≡ ¬◊¬A). However, it does not follow that the formulas on each side of the biconditional have the same truth value in all | worlds, since at a non-normal world ◊A and □¬A can be assigned the same truth value.

(70-71)

[contents]

 

 

 

 

4.4a.11

[A Worldhood Constraint for Defining ◊ in L]

 

[“If we wish to make ◊ behave in L as it does when it is defined, we have to add an extra constraint: for every world, w, vw(◊A) = vw(¬□¬A) (that is, vw(◊A) = 1 − vw(□¬A)” (71).]

 

[I will not be able to summarize the next point, so please skip to the quotation below. Here we are speaking about ◊ being defined. I do not know if we mean defined as we saw above: ‘◊A’ is ‘¬□¬A’, or if we mean giving some or another definition rather than none at all. My guess is that it means to be defined in that particular way, and my next guess is that to make it operate in L in the way the definition normally works requires a constraint. I do not understand what makes it different except that it stipulates that the equivalence be in the same world. I do not know why, but my guess is that it is because in L the values of the formulas in the equivalence can vary from world to world (especially for non-normal worlds), so we need to designate in which world we are making the equivalence. Sorry that I cannot summarize this part:]

Because of this, defining ◊ does affect the inferences that involve it. For example, it is not difficult to check that:

(*) ¬◊(◊p ∧ □¬p)

is not valid in L, but ¬◊(¬□¬p ∧ □¬p) is. Hence, (*) is valid with a defined ◊. If we wish to make ◊ behave in L as it does when it is defined, we have to add an extra constraint: for every world, w, vw(◊A) = vw(¬□¬A) (that is, vw(◊A) = 1 − vw(□¬A). Clearly, this makes for a stronger system.

(71)

[contents]

 

 

 

 

4.4a.12

[The Non-Viability of the Worldhood Constraint Definition]

 

[But this equivalence breaks down in non-normal worlds in L.]

 

[And again I cannot summarize this next part. The idea seems to be that the above constraint is just an option, and it is not perfect anyway. So recall the rule again from section 4.4a.11 above.

for every world, w, vw(◊A) = vw(¬□¬A) (that is, vw(◊A) = 1 − vw(□¬A)

Priest now says that “□A and □¬¬A (and so ¬¬□¬¬A) may have different truth values at a non-normal world.” I am going to make some wild guesses. In the same world, ¬¬□¬¬A = ¬◊¬A = □¬¬A = □A. So we would think that □A and □¬¬A (and so ¬¬□¬¬A) should have the same values. But Priest says that in non-normal worlds in L they might not have the same value. I do not know how all this works, so check the quotation below.]

It should be noted, though, that even this constraint does not ensure that □A and ¬◊¬A have the same truth value at every world, since □A and □¬¬A (and so ¬¬□¬¬A) may have different truth values at a non-normal world. Neither, for essentially the same reason, is ¬◊(□p ∧ ◊¬p) logically valid, as is easy to check. This shows a displeasing lack of symmetry. It is clearly better to treat □ and ◊ even-handedly, as I have done.

(71)

[contents]

 

 

 

4.4a.13

[N as a Proper Extension of L]

 

[N is a proper extension of L, and L is the weakest modal logic we have seen so far.]

 

[I will not be able to follow the technicalities here, so consult the quotation below. The main ideas we need to gather from this part are: N is a proper extension of L (all valid formulas in L are valid in N, but not all formulas in N are valid in L.) (Now, since the constraints increase the number of formulas that are valid, that means L is the weakest modal logic we have seen so far, as it has the fewest valid formulas. Sorry that I may have this wrong, so see the quotation:)]

Any N interpretation is an L interpretation (where v makes □ and ◊ behave in the appropriate fashion). Hence, N is an extension of L. It is a proper extension. We have just noted that ¬◊(□p ∧ ◊¬p) is not valid in L. It is not difficult to check that it is valid in N. Similar comments apply to extensions of L and N formed by adding constraints on the accessibility relation. L is, thus, the weakest modal logic we have come across.

(71)

[contents]

 

 

 

 

4.4a.14

[The Failure of the Rule of Necessitation in L]

 

[Since L has non-normal worlds, the Rule of Necessitation fails in L. Thus, “that ‘logic need not hold’ at non-normal worlds in L is patent: if A is a logical truth, □A can behave any old way at such a world” (71).]

 

[Recall from section 4.4.6 the Rule of Necessitation:

Let us finally, now, return to the question of the meaning of non-normal worlds. For any normal system, ℒ, if ⊨ A then ⊨ □A. (This is sometimes called the Rule of Necessitation.) For if ⊨ A then A is true at all worlds of all ℒ-interpretations. Hence, if w is any such world, A is true at all worlds accessible from w. Hence, □A is true at w. Thus, ⊨ □A.

(p.68, section 4.4.6)

In section 4.4.7, we noted why the Rule of Necessitation fails in non-normal systems:

The Rule of Necessitation fails in every non-normal logic, ℒ, however. Consider, for example, A∨¬A. This holds at all worlds, normal or non-normal. Hence, □(A∨¬A) holds at all normal worlds, i.e., ⊨ □(A∨¬A). But at any non-normal world, □(A∨¬A) is false. Now consider an interpretation where there is a normal world that accesses such a world. Then □□(A∨¬A) is false at that world. So, ⊭ □□(A∨¬A).

(p.68, section 4.4.7)

It seems that Priest’s next point is that since L also has non-normal worlds, the Rule of Necessitation fails in L. Thus, “that ‘logic need not hold’ at non-normal worlds in L is patent: if A is a logical truth, □A can behave any old way at such a world” (71).

]

The rule of Necessitation fails in L for essentially the same reason that it fails in N and its extensions (4.4.7). Indeed, that ‘logic need not hold’ at non-normal worlds in L is patent: if A is a logical truth, □A can behave any old way at such a world.

(71)

[contents]

 

 

 

 

 

4.4a.15

[The Conditions of Validity for □A in L]

 

[“□A is valid in L (and Lρ) iff A is a truth-functional tautology, or, more accurately, is valid in virtue of its truth-functional structure” (71).]

 

[The final point says that “□A is valid in L (and Lρ) iff A is a truth-functional tautology, or, more accurately, is valid in virtue of its truth-functional structure” and that this is proven later. But I am not sure what it means entirely.]

It is worth noting one final fact: □A is valid in L (and Lρ) iff A is a truth-functional tautology, or, more accurately, is valid in virtue of its truth-functional structure.4 The proof is in 4.10.7.

(71)

4. □A ∨ ¬□A is not, strictly speaking, a truth-functional tautology since it contains a □, but it is valid in virtue of its truth- functional structure.

(71)

[contents]

 

 

 

 

 

 

From:

 

Priest, Graham. 2008 [2001]. An Introduction to Non-Classical Logic: From If to Is, 2nd edn. Cambridge: Cambridge University.

 

 

.

 

No comments:

Post a Comment