Summary: (Blank Abstract)
Due 2002.Apr.02 (tues).
For proofs on this homework, (ps, pdf) use the inference rules (ps, pdf) and WaterWorld domain axioms (ps, pdf)
Fill in the blank reasons in the following proof that ∨ commutes (that is, (a ∨ b) ⊢ (b ∨ a)).
Having given this proof of (𝒜 ∨ ℬ) ⊢ (ℬ ∨ 𝒜) in future proofs we can now include as a theorem -- without any premises -- the formula ________________. The justification for this is the ________________ rule of inference.
Of course, this is a bit of a short-cut, since technically "..by previously proven theorem" isn't listed on our sheet of inference rules. If we were playing strictly by the rules, we'd have to repeat the old proof as one big subproof, and then add one extra line (the theorem and inference rule you just mentioned).
But what if we have a previously-written proof with three premises (𝒜, ℬ, 𝒞 ⊢ 𝒵)? In this case, the corresponding theorem is ________________. If we were being strict and not allowing the citing of previous proofs, what steps, exactly, would you need to add to your new proof to make use of this new theorem?
Having proven (𝒜 ∨ ℬ) ⊢ (ℬ ∨ 𝒜) lets us use the formula ___((𝒜 ∨ ℬ)→(ℬ ∨ 𝒜))___ in later proofs, implicitly using the ___→Intro___ inference rule.
If we'd proven 𝒜, ℬ, 𝒞 ⊢ 𝒵, then the pertinent theorem is ((𝒜 ∧ ℬ ∧ 𝒞)→𝒵); technically you'd insert the following into your current proof:
Using the rule of inference RAA, prove ¬a ⊢ ¬(a ∧ b).
We observe that to use RAA to conclude ¬(a ∧ b) will require a subproof of ¬¬(a ∧ b) ⊢ false. (That is, the rule's 𝒜 refers to a WFF which is already a negation: "¬(a ∧ b)". Not a problem at all.)
[*practice]
Show that (¬W-safe ∨ ¬Y-unsafe) ⊢ (W-unsafe ∨ Y-safe).
For the following WaterWorld proof of X-has-1 ⊢ (W-unsafe ∨ Y-unsafe), provide the missing steps and/or reasons:
![]() |
Given the above figure (backup link) (as premises), prove that location P is safe by using our proof system and the WaterWorld domain axioms.
While this proof is longer (about 15 steps), it's not too bad. To make life easier, you may also use the following (mostly from class; as usual 𝒜 and ℬ stand for any WFF):
State where on a board pirates could be positioned, so that: (P-has-1 ∧ U-has-1 ∧ W-has-1), but X-safe. Compare this with a theorem ((B-has-1 ∧ G-has-1 ∧ J-has-1)→K-unsafe), the same idea shifted down a couple of rows. Suppose we try to translate this proof so as to conclude ¬X-safe (clearly untrue, by the above). What is the first step of the proof which doesn't hold when B,G,J,K are transliterated to P,U,W,X (resp.)? If you replace such steps with the closest true statements you can ("translating" instead of "transliterating", if you will), where is the first line of the proof which fails and cannot be patched?
You could have pirates at H and V, (and, no pirates at X, N, or Q), and still have (P-has-1 ∧ U-has-1 ∧ W-has-1), be true on the given board.
A direct substitution of B,G,J,K with P,U,W,X leads to a faulty statement in lemma B, line 5: The domain axiom B1 has as its conclusion that there is exactly one pirate in A and C, while the domain axiom P1 is not exactly analagous: it's conclusion is exactly one pirate in N,Q,H. So a correct translation would have the correct domain axiom P1.
This isn't (yet) catastrophic; we can still continue to step 6, inferring a disjunction with 3 terms, still using →Elim (namely, ((H-safe ∧ N-safe ∧ Q-unsafe) ∨ (H-safe ∧ N-unsafe ∧ Q-safe) ∨ (H-unsafe ∧ N-safe ∧ Q-safe))). The fundamental problem comes up in line 8: we can't apply the cited theorem ((𝒜 ∨ ℬ), ¬𝒜); we can't translate the reasoning to end up with a single conjunction like (N-safe ∧ H-safe ∧ Q-unsafe).
Can the proof be patched, by somehow twiddling with ∧'s associativity, or extending the theorem to handle disjunctions with three terms? No -- we realize that we have a counterexample above, and since our logic is sound there can't be a proof of the statement; in particular it's this line (lemma B, line 8) of the proof that fundamentally can't be repaired.
Sketch a board and an accompanying (simple) WFF where you know the formula is true, but it's not possible to prove it using the WaterWorld domain axioms.
![]() |
Consider a board where there is only one pirate, and it's already been discovered at location Y. There is no domain axioms which let us deduce that Z-safe. Observer that the proposition totCount-is-1 is true for this board.
The preceding difficulty arises from the fact that we don't have any domain axioms dealing with the pirate count (even though we have propositions involving it).
We call this WaterWorld logic incomplete, since we can write sentences that are true but don't have proofs. Clearly, this is a shortcoming of the WaterWorld proof system!
In this case though, it's easy to shore up the system by adding some domain axioms (which are clearly independent from the rest). Give a new domain axiom which helps prove true statements not previously provable, in boards where the total pirate count is 1. (Use "..." as needed, for repetitious parts). (There are many possible answers here.) Similarly for boards where the total pirate count is 2. (To think to yourself: about how many such new rules are needed, just for boards with a pirate count of 5?)
One formula that would have helped in the above board is: ((totCount-is-1 ∧ Y-unsafe)→(A-safe ∧ B-safe ∧ ... ∧ W-safe ∧ Z-safe)). Adding this as a domain axiom would be a big help. Similarly, 24-1 = 23 other domain axioms are needed (involving not just Y-unsafe, but any unsafe location). Does this set of domain axioms gives us a complete logic for boards with totCount-is-1? Hopefully, but proving this is much more difficult!
Instead, one could add the single (long) domain axiom (totCount-is-1→((A-unsafe ∧ B-safe ∧ C-safe ∧ ... ∧ Z-safe) ∨ (A-safe ∧ B-unsafe ∧ C-safe ∧ ... ∧ Z-safe) ∨ ... ∨ (A-safe ∧ B-safe ∧ C-safe ∧ ... ∧ Y-safe ∧ Z-unsafe))). How might you show that adding this one domain axiom is equivalent to adding the 23 previously-mentioned domain axioms?
For boards with a total of two pirates, we can add 24-choose-2 domain axioms of the form ((totCount-is-2 ∧ A-unsafe ∧ B-unsafe)→(C-safe ∧ D-safe ∧ ... ∧ Z-safe)), and so on for all pairs of locations being unsafe. Alternately, one long rule (totCount-is-1→((A-unsafe ∧ B-unsafe ∧ C-safe ∧ ... ∧ Z-safe) ∨ ...)). Again, how might you show these two approaches are equivalent? And, is this enough to give us an complete logic? Again this seems plausible, but even more than in the single case it seems there might be boards where there is a deduction which can be made, but our domain axioms don't cover it.
Extending this system gives 24-choose-5 (over 40,000) domain axioms or one rule with that-many clauses. And if you want your domain axioms to cover any number of pirates, you'll need 2^25 (over 30 million) domain axioms or clauses. All this, just for a fixed-size board! This emphasizes just how poor a language we have, for modeling WaterWorld. But we'll see a price paid for a better description (one which can deal with numbers directly): we'll have to give up completeness!
Rosen, section 6.1 problem 2: For the relation "divides" on the set {1,2,3,4,5,6}:
| \\ | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| 1 | X | X | X | X | X | X |
| 2 | X | X | X | |||
| 3 | X | X | ||||
| 4 | X | |||||
| 5 | X | |||||
| 6 | X |
Rosen, section 6.1 problem 4: Determine whether, for the domain of all people, the following relations are reflexive, symmetric, antisymmetric, transitive.
While Rosen discusses binary relations (subsets of pairs), one can also have unary relations (subsets of the domain -- e.g. isPrime? for numbers), and ternary relations (subsets of triples -- e.g. isAChildOf? over the domain of people.)
Suppose you wanted to encode addition as a ternary relation "addsTo?" over (triples of) numbers -- describe briefly what triples (x,y,z) would be in the relation; give an example of a triple in the relation addsTo? and a triple not in the relation addsTo?.
(Note that in general, you can turn any k-ary function into a (k+1)-ary relation. )
A natural way of encoding addition is with the ternary relation addsTo? = { (x, y, z) | x+y=z }. That is, the set of triples where the first two happen to add to the third. Thus (3,4,7) is in the set addsTo?, but (3,4,8) and (7,4,3) aren't.