In this project, we used PROVER9 to prove the fundamental theorems of possible worlds theory, as developed in the paper by E. Zalta, ‘25 Basic Theorems in Situation and World Theory’ (in PDF). These are laid out in detail in the corresponding sections below.
We have proved all of the theorems below using the June2006B version of Prover9. However, we have also redeveloped almost all of the theorems for later versions of Prover9. The later versions of Prover9 don't require special commands at the top of the file (e.g., they don't require a "set(auto)." line at the top of the file).
The links to the input and output files below all assume the June 2006B version of PROVER9 and MACE4. However, newer versions of these files, that work with newer versions of PROVER9, and with the graphical application, can be found here.
So, you can obtain the June 2006B version, and either the later versions or the graphical version, by following one of these links:Tools You Will Need/June2006B
Tools You Will Need/VersionsAfter June 2006B
Tools You Will Need/Graphical Application
In this section, we prove the theorems found in E. Zalta, ‘25 Basic Theorems in Situation and World Theory’, published in the Journal of Philosophical Logic, 22 (1993): 385–428.[1] The following definitions are fully motivated and explained in that paper:
In terms of these definitions, we can now prove the following theorems in PROVER9. The reader should examine how the representations in second-order logic are translated into PROVER9's first-order syntax.Situation(x) = A!x & ∀F(xF → ∃p(F=[λz p]))
p is true in situation s ("s ⊨ p") = s[λz p]
x is a part of y ("x ⊴y") = ∀F(xF → yF)
Persistent(p) = ∀s[s ⊨ p → ∀s′(s⊴s′ → s′ ⊨ p)].
Actual(s) = ∀p(s ⊨ p → p) (i.e., s is actual iff every proposition true in s is true)
World(s) = Situation(x) & ◊∀p(s ⊨ p ↔ p)
Maximal1(s) = ∀p(s ⊨ p ∨ s ⊨ ¬p)
Partial1(s) = ∃p(s⊭p & s⊭¬p)
Maximal2(s) = ∀p(s ⊨ p)
Partial2(s) = ∃p(s⊭p)
Possible(s) = ◊Actual(s)
Consistent(s) = ¬∃p(s ⊨ p & s ⊨ ¬p)
[Note: The definition of consistency used here differs slightly from that in Zalta 1993.]
(Situation(s) & Situation(s′)) → ∀p[(s ⊨ p ↔ s′ ⊨ p) → s=s′]
(Situation(s) & x ⊴s) → Situation(x).
(Situation(s) & Situation(s′)) → [s ⊴s′ ↔ ∀p(s ⊨ p → s′ ⊨ p)]
(Situation(s) & Situation(s′) & s⊴s′ & s′⊴s) → s=s′
(Situation(s) & Situation(s′)) → [∀s″(s″⊴s ↔ s″⊴s′) → s=s′]
s⊴s & [s⊴s′ → ¬(s′⊴s)] & [(s⊴s′ & s′⊴s″) → s⊴s″]
∀pPersistent(p).
∃s(Actual(s)) & ∃s(¬Actual(s))
∀x[Actual(x) → ¬∃p(s ⊨ p & s ⊨ ¬p)]
∃p∀s(Actual(s) → ¬s ⊨ p)
∀s∀s′∃s″(s⊴s″ & s′⊴s″)
(a) ∃s(Maximal1(s))
(b) ∃s(Partial1(s))
(a) ∃s(Maximal2(s))
(b) ∃s(Partial2(s))
∀x(World(x) → Maximal1(x))
∀x[(Possible(x) & Situation(x)) → Consistent(x))
(a) ∀x(World(x)
→ Possible(x))
(b) ∀x(World(x)
→
Consistent(x))
(a) ∃x(World(x) & Actual(x)
(b) ∀xy[(World(x) &
World(y) & Actual(x)
& Actual(y)) → x=y]
∀x[(Situation(x) & Actual(s)) ↔ x ⊴ wα]
∀p(p ↔ wα ⊨ p)
∀x[(Situation(x) & Actual(x)) → ∀F(xF → Fx)]
wα ⊨ p ↔ [λy p]wα
p ↔ wα ⊨ [λy p]wα
It is important to note that the following lemmas, which are needed for theorems 24 and 25, and theorems 24 and 25 themselves, require modal reasoning with respect to the notions that have defined in object theory. Now throughout the above input files, we have been translating modal claims in object theory, of the form "□p" and "◊p", into PROVER9 claims of the form:
all d (Point(d) -> True(p,d)). exists d (Point(d) & True(p,d)).
Notice that we introduced a variable "d" ranging over points. That is because automated reasoning engines don't allow modal operators. So to translate modal claims into first-order non-modal claims these engines can process, we expand the modal claims as quantifications over points. We use points instead of worlds because the latter is a defined notion in object theory. Indeed, World(x) is first defined in Theorem 15 above, in theorem15.in.
Now the final lemmas and theorems below require not only that de introduce points and translate modal claims as quantifications over points, but also that we relativize our predicates to points, for the reasoning depends on how the truth of claims involving these relativized predicates vary from point to point. That is, none of the previous theorems required us to reason about how the truth of the following varies from point to point:
Enc(x,F) Encp(x,p) TrueIn(p,x) Situation(x) World(x) Actual(x)
But the proofs of the following lemmas and theorems turn on the behavior of these defined notions within modal contexts (i.e., they turn on the behavior of these notions at various points). We must define and make use of the following notions:
EncAt(x,F,d) EncpAt(x,p,d) TrueInAt(p,x,d) SituationAt(x,d) WorldAt(x,d) ActualAt(x,d)
We have used the variable "d" as an argument in the above relations, remember that they range over points. Otherwise, the language would presuppose the notion of a world. The reader should be able come to understand why these notions need to be defined by studying the proofs in the original paper.
L1.in
L1.out
modelL1.in
modelL1.out
L2.in
L2.out
modelL2.in
modelL2.out
L2-Corollary.in
L2-Corollary.out
modelL2-Corollary.in
modelL2-Corollary.out
L3.in
L3.out
modelL3.in
modelL3.out
L4.in
L4.out
modelL4.in
modelL4.out
(a) □p →
∀w(w ⊨ p)
(b) ∀w(w ⊨ p)
→ □p
(a) ◊p →
∃w(w ⊨ p)
(b) ∃w(w ⊨ p)
→ ◊p
1. Note for purposes of correlating terminology: In what follows, we use the term “proposition’ instead of the term “state of affairs” (the latter was used in Zalta 1993) and we talk in terms of the truth of a proposition, instead talking in terms of a state of affairs obtaining. Similarly, we will speak of propositions being “true in” situations, instead of states of affairs being “factual” in situations.