WARNING: With the exception of Theorems 12 and 18b, the following input files (linked in below) lead to proofs of our theorems in newer versions of Prover9. We have tested the June2007 version, the 2008-09A version, and the graphical application v0.5B (which invokes the Dec 2007 version). Theorems 12 and 18b, however, do not yield proofs in the time and given the memory we allotted for the search. It may be that if the search is run for greater lengths of time or with more memory allocated, proofs will be found.
The theorems below are reported in E. Zalta, ‘25 Basic Theorems in Situation and World Theory’, published in the Journal of Philosophical Logic, 22 (1993): 385–428.[1] These theorems require certain definitions in object theory which are fully motivated and explained in that paper. We give the list of these definitions on the webpage one level up, where we offer input/output files for the June 2006B version of Prover9. The following input/output files, however, were simplified for use with later versions of Prover9. We have tested them on the June 2007 version, version 0.5B of the graphical application (which uses the Dec 2007 version of Prover9), and with the 2008-09A version of PROVER9. At present, however, we can't confirm that these later versions of Prover9 lead to proofs of Theorems 12 and 18b.
(Situation(s) & Situation(s′)) → ∀p[(s⊨p ↔ s′⊨p) → s=s′]
The following input file helps PROVER9 find a proof of this theorem much more quickly, by setting the flag "set(auto2).". To set the same flag using the graphical version of Prover9, select the "Prover9 Options" tab, then select "All Options" and "Meta Options", and check the box "auto2". auto2 is a meta-option that sets the following options:set(auto2) -> set(auto). set(auto) -> set(auto_inference). set(auto) -> set(auto_setup). set(auto_setup) -> set(predicate_elim). set(auto_setup) -> assign(eq_defs, unfold). set(auto) -> set(auto_limits). set(auto_limits) -> assign(max_weight, 100). set(auto_limits) -> assign(sos_limit, 20000). set(auto) -> set(auto_denials). set(auto) -> set(auto_process). set(auto2) -> assign(new_constants, 1). set(auto2) -> assign(fold_denial_max, 3). set(auto2) -> assign(max_weight, 200). set(auto2) -> assign(nest_penalty, 1). set(auto2) -> assign(skolem_penalty, 3). set(auto2) -> assign(sk_constant_weight, 0). set(auto2) -> assign(prop_atom_weight, 5). set(auto2) -> set(sort_initial_sos). set(auto2) -> assign(sos_limit, -1). set(auto2) -> assign(lrs_ticks, 3000). set(auto2) -> assign(max_megs, 400). set(auto2) -> assign(stats, some). set(auto2) -> clear(echo_input). set(auto2) -> set(quiet). set(auto2) -> clear(print_initial_clauses). set(auto2) -> clear(print_given).
(Situation(s) & x ⊴s) → Situation(x).
(Situation(s) & Situation(s′)) → [s ⊴s′ ↔ ∀p(s⊨p → s′⊨p)]
The following input file includes some flags that help PROVER9 find a proof of this theorem much more quickly. Again, this sets the flag "set(auto2)" and if this flag is set in the graphical version, a proof is found very quickly.(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″]
The following input file includes some flags that help PROVER9 find a proof of this theorem much more quickly. Again, this sets the flag "set(auto2)" and if this flag is set in the graphical version, a proof is found very quickly.∀pPersistent(p).
∃s(Actual(s)) & ∃s(¬Actual(s))
The following input file includes some flags that help PROVER9 find a proof of this theorem much more quickly. This sets the flag "set(auto2)" and if this flag is set in the graphical version, a proof is found very quickly.∀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 de introduced a variable "d" to range 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 de 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)
Remember that the variable "d" ranges over points and the language doesn't 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
modelL1.in
L2.in
modelL2.in
L2-Corollary.in
modelL2-Corollary.in
L3.in
modelL3.in
L4.in
modelL4.in
(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.