ml Hill
mw
wk
F
-w
d 11 a
I
CSLI Lecture Notes No. 42
HYPERPROOF Jon Barwise & John Etchemendy
Program by Gera...
68 downloads
655 Views
12MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ml Hill
mw
wk
F
-w
d 11 a
I
CSLI Lecture Notes No. 42
HYPERPROOF Jon Barwise & John Etchemendy
Program by GerardAllwein, Mark Greaves, and Michael Lenz With additional programming by Alan Bush, DouglasFelt, Adrian Klein, ChristopherPhoenix, Mark Ravaglia, and Rick Wong
Publications CENTER FOR THE STUDY OF LANGUAGE AND INFORMATION STANFORD, CALIFORNIA
Copyright X)1994 Center for the Study of Language and Information Leland Stanford Junior University Printed in the United States 999897969594 5432 1 Library of Congress Cataloging-in-Publication Data Barwise, Jon. Hyperproof for the Macintosh / Jon Barwise and John Etchemendy; program by Gerard Allwein, Mark Greaves, and Michael Lenz, with additional programming by Alan Bush [et al.]. p. cm. - (CSLI lecture notes; no. 42) In cludes index. ISBN 1-881526-11-9 (pbk.) L.Computer science. 2.Logic, Symbolic and mathematical. 3.Hyperproof. 4.Macintosh (Computer) I. Etchemendy, John, 1952-. II.Title. III.Series. QA76.B3114 1994 160'.285'5369-dc2O
93-30747 CIP
CSLI was founded early in 1983 by researchers from Stanford University, SRI International, and Xerox PARC to further research and development of integrated theories of language, information, and computation. CSLI headquarters and CSLI Publications are located on the campus of Stanford University. CSLI Lecture Notes report new developments in the study of language, information, and computation. In addition to lecture notes, the series includes monographs, working papers, and conference proceedings. Our aim isto make new results, ideas, and approaches available as quickly as possible. Apples is a registered trademark of Apple Computer, Incorporated Macintosh' is a trademark licensed to Apple Computer, Incorporated
Please do not copy Hyperproof(except to make a back-up disk) or this book: it is illegal, immoral, and discouragesthe production of low cost, high quality software. The authorsmake no representationsor warrantieswith respect to the contents hereof and specifically disclaim any implied warrantiesof fitness for any particularpurpose. Please send comments and suggestions to one or both of us. ProfessorJon Barwise I. U. Logic Group Department of Mathematics Indiana University Bloomington, IN 47405
ProfessorJohn Etchemendy Centerfor the Study of Language and Information Stanford University Stanford, CA 94305-4115
To Mary Ellen and Nancy
MSMIM~
About Hyperproof xiii How to use this book .............. ...................... xiv With LoFOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
With Tarski Lite ..............
.........
Acknowledgements ................. A note to instructors .................
. . ....... .
.........
xv
.... ....
xvi xvii
.............. ..............
I
Basic Concepts
1
Comparing Tarski's World and Hyperproof 1.1 Worlds and situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 A new property and relation ...................... . ............ 1.3 Language differences ...................... ....... ........... 1.4 Kleene evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Proofs .... ..................................................
3 4 7 9 11 15
2
Proofs of Consequence and Nonconsequence 2.1 Observe ................................................. 2.2 Assume ................................................. 2.3 Check Truth of the Assumptions (CTA) ........................... 2.4 Sentence goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Summary of sentence goals ................................... Strategy and tactics .........................................
20 21 23 28 31 37 37
3
1
.....
Sentential Consequence Rules 3.1 Tautological Consequence . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Logical Consequence ....................................... Strategy and tactics ......................................... ix
42 42 50 54
x
Contents Analytic Consequence ..........
56
Proofs of Consistency and Inconsistency 4.1 Syntactic Close .............. 4.2 Semantic Close ......... 4.3 Consistency goals ....... Summary of consistency goals Strategy and tactics .......
60 62
3.3 4
64 66 67 68
II Diagrammatic Reasoning
73
5
The Apply Rule 5.1 Apply. ........... Strategy and tactics ...... 5.2 Some situation goals . ... Strategy and tactics ......
75 76 80 81 83
6
Reasoning by Cases 6.1 Cases Exhaustive ...... Strategy and tactics ...... 6.2 Merge and Inspect ...... Strategy and tactics ...... 6.3 Recursive Close ....... Strategy and tactics ...... 6.4 Name.............. Strategy and tactics ... ... 6.5 Review exercises .......
87 87 93 96 101 104 106 107 110 111
7 Independence Proofs 7.1 Consequence, nonconsequence and independence 7.2 More independence goals. . .. . ........ Summary of some situation goals .......... Strategy and tactics .................... 7.3 Constrained independence and consequence . . . ........ 7.4 Some final situation goals ... .... Summary of remaining situation goals ....... 7.5 Review exercises ..................
114 114 117 117 120 122 124 127 129
Contents xi
III 8
9
Sentential Reasoning Sentence Connective Rules 8.1 Conjunction rules . . . . . . . . . . . . . . . 8.2 Disjunction rules . . . . . . . . . . . . . . . . Disjunctive Close ........................ 8.3 Negation rules ..................... Strategy and tactics .................. 8.4 Conditional rules .. .... .... .. .... ....... Strategy and tactics ..................................... 8.5 Biconditional rules ................. ........ Strategy and tactics ..................................... 8.6 Matters of style . .............................. Quantifier and Identity Rules 9.1 Identity rule .......................................... 9.2 Existential quantifier rules . ............................... Existential Close ....................................... 9.3 Universal quantifier rules ................................. Strategy and tactics ..................................... 9.4 Multiple quantifiers ....................... 9.5 Numerical quantifier rules ................................ 9.6 Review Exercises ......................................
133 135 136 140 143 145 148 153 156 ... 158 159 160
. . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ....... ....... ....... ....... ....... ....... ....... ... .... ......
.......
.............
164 164 167 172 174 178 182 184 188
10 Axioms and Analytic Consequence 10.1 The axiomatic method ................................... 10.2 Axiomatizing shape .................................... 10.3 Axiomatizing size ...................................... 10.4 Location axioms .......................................
191 191 194 201 205
11 Logic and Observation
212
Appendices
218
A Using Hyperproof 218 A.1 Launching the program . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 A.2 Editing the situation .................................... 221 A.3 The body of the proof .................. .......... .......... 224 A.4 Goalsoas .............................................. 232 A.5 Copying and pasting .................................... 233 A.6 Printing proofs ............. .... ........ ..... .... ......... 236
xii
Contents A.7 Function keys ......................... ....... A.8 Setting up problems ................. .................... A.9 Projecting Hyperproof in class .........................
.......
..... 236 .. 236 ....... 238
B Summary of Goals
239
C The LoFOL Proof System
244
Index
247
Index of Try Me Files
254
Sb
A
About Hyperproof Hyperproof is a system for teaching the basic principles of analytical reasoning. It is a descendant of Tarski's World, a program that we designed to teach students the language of first-order logic. When we first developed Tarski's World, we found ourselves giving students reasoning problems that did not fit neatly into any traditional approach to logic. These problems presented a world and a list of sentences involving names whose referents were not identified in the world. The students were asked to determine which of the depicted objects had which names, based on the combined information from the sentences and the depicted world. These problems engage the students in a form of deductive reasoning quite different from the sort of reasoning formalized in standard systems of deduction. Standard systems deal exclusively with sententially given information, whereas these problems require the student to combine sentential information with additional information derived from the picture of the blocks world. From a pedagogical point of view these problems were quite effective. First of all, the students found them challenging, but enjoyable-unlike sentential proofs, which all too often are simply difficult, without other redeeming virtues. But more important, we discovered that these problems allowed students to focus on the content of the reasoning tasks. With an exclusively sentential deductive system, students are forced to reason about the syntactic form of the sentences rather than the information the sentences convey. Thinking about this kind of reasoning, we realized that it was much more pervasive in ordinary reasoning and problem solving than we had imagined. In everyday life we get information from a variety of sources and in a variety of forms. One of the main components of reasoning consists of integrating these variously presented pieces of information. Not only that, all of the main concepts we teach in logic are needed in this process of integration. Hyperproof is a deductive system that takes seriously the heterogeneity of the information we deal with in everyday life. It allows us to present problems which combine graphical and sentential information, and gives the user a stock of logically valid rules for integrating these different forms of information. This provides a platform for presenting much more than the standard fare of introductory logic courses. On the one hand, Hyperproof allows important topics traditionally consigned to advanced courses, such as consistency,
xiii
xiv
About Hyperproof
nonconsequence, and independence, to be taught in a first course in logic. On the other hand, completely new issues arise naturally when working with the system, issues that are obscured when we restrict attention to the logic of a formal, often uninterpreted language. Hyperproof has been under development for six years. For the past three years, beta versions of the program have been used in courses at Stanford, Indiana, Notre Dame, Cornell, and the University of San Francisco. We have discovered several effective ways to use the program in basic logic courses. We will describe a few of these ways in the following section.
How to use this book This book and the accompanying program, Hyperproof, allow for two quite distinct uses: in a standard logic course based on our textbook The Language of First-orderLogic (henceforth LOFOL), or in a more adventuresome course that uses this book as primary text, supplementing it with our little book Tarski's World (henceforth Tarski Lite). Both LOFOL and Tarski Lite come packaged with the computer program Tarski's World, and familiarity with this program is presupposed in the present book. Hyperproof can also be used outside the classroom, but the individual reader will want to supplement it with one of the two books mentioned above. With LoFOL Instructors who want to cover the traditional topics of introductory logic should use this book with LoFOL. There are two ways to integrate material from these books. The first uses Hyperproof simply as a supplementary, proof-theoretic module for LoFOL. The second incorporates new material covering diagrammatic reasoning. Course 1 The Fitch-style natural deduction system presented in LOFOL is a subsystem of the proof system incorporated into Hyperproof. Thus Hyperproof can be used as an environment for constructing proofs in the LoFOL system. However, it can also be used to establish nonconsequence results by building a situation in which the sentential premises are true but the purported conclusion is false. Since many of the problems in LoFOL ask the students to determine whether a purported conclusion is or is not a consequence of some stated premises, Hyperproof provides a uniform setting for the solution of these problems. This allows both the students and the instructor to check the solutions automatically. To use Hyperproof in this way, have your students work through the first three chapters of LoFOL, postponing the sections on formal proofs. Then have them work through Chapters I and 2 of Hyperproof and glance through Appendix C. They will then be ready to use Hyperproof as a proof environment when working through the material on formal proofs in LOFOL. At this point, you should have the students cover the postponed sections from Chapters 2 and 3 of LoFOL. You will then be in a position to work through the
How to use this book xv
remaining material in LoFOL in the standard order, using Hyperproof in the sections on formal proofs. To make life easier we have included a folder on the Hyperproof disk called LoFOL. This contains Hyperproof versions of most of the exercises from the formal proof sections of LOFOL. Course 2 To take advantage of the full power of Hyperproof you will want to give equal treatment to the two books. There are various ways you can do this. The most straightforward is to spend the first half of the course on basic material from the first six chapters of LoFOL, omitting the sections on proofs (and other sections, at your discretion). Then move to the material in Hyperproof, covering the whole book from beginning to end. Alternatively, you can interleave chapters from the two books in a variety of ways. Basically, you will need to work through enough of LOFOL so that your students understand quantifier-free sentences before reading Hyperproof.
With Tarski Lite Tarski Lite is an inexpensive package containing Tarski's World along with a manual explaining how to use the program and providing exercises for learning the language of first-order logic. There are two interesting ways to use Tarski Lite with this book. Course 3 An effective course that teaches both standard material and methods of diagrammatic reasoning can be built around Hyperproof, prefaced by Tarski Lite. Spend the first three or four weeks of the course using Tarski Lite to teach students the first-order language, including quantifiers. Then work through Hyperproof in detail. This course will cover roughly the same material as Course 2, but some of it will have to be presented in lectures since Tarski Lite is more of a workbook than a full textbook. You might want to use LoFOL as a library reference and in preparing lectures for this course. Course 4 An interesting course emphasizing analytical reasoning skills, one that stresses the use of diagrammatic techniques in problem solving and downplays purely syntactic proofs, can be built around Hyperproof. Use Tarski Lite to teach students the first-order language as in Course 3. Then work through Hyperproof as before. As you go through the book, supplement it with material on Venn Diagrams, Euler Circles, and the kind of ad hoc diagrams that arise in solving reasoning problems found on GRE and LSAT exams. In this course the treatment of formal proofs in Chapters 8 and 9 can be abbreviated. The only rules that the students need to learn are the ones that introduce subproofs. The others can always be subsumed under the rules of Taut Con and Log Con. In a full semester version of this course, it is also possible to supplement Tarski Lite and Hyperproof with material on critical thinking. We are currently developing a full-sized textbook using this approach to analytical reasoning, but do not expect it to be completed for several years. We would be delighted
xvi
About Hyperproof
to receive any feedback on Hyperproof, as well as interesting examples and teaching techniques that use the program.
Acknowledgements Hyperproof is a complicated program, and took six years from initial conception to final release. We originally conceived the program, made mockups, and designed the basic algorithms in the summer of 1988. Michael Carter, then at Stanford's Office of Academic Information Resources (AIR), helped us find initial seed funding based on these mockups and a vigorous sales pitch. This seed funding allowed us to hire Alan Bush to write the program specification for Hyperproof's logic engine, a document that took much of the 1988-89 academic year to complete. Programming began in earnest during the summer of 1989, with funding provided by CSLI. The initial programming team consisted of Mark Greaves, Mike Lenz (the main programmer of Tarski's World 3.0), and Chris Phoenix, with Doug Felt of AIR providing invaluable guidance and technical expertise. Mark assumed primary responsibility for the logic engine, Mike took charge of the design and implementation of the situation pane, and Chris for the proof pane. Though Chris was only with us for the first summer, Mark and Mike continued through the entire project. When Jon Barwise moved to Indiana University during the summer of 1990, Gerry Allwein joined the project as a full-time programmer, supported through IU's Center for Innovative Computer Applications. Gerry took charge of the proof pane as well as the overall coordination of the project. Mark Greaves spent the following academic year at UCLA working on the situation rules. With Mike at Stanford, Mark at UCLA, and Gerry at IU, the coordination became a significant feat made possible only by the Internet and Gerry's diplomacy and humor. Mark returned to Stanford during the summer of 1991, while Mike went to Switzerland. Mike returned in the fall and the first beta version of the program was completed in time for us to use in courses during the following academic year. Subsequent beta versions of the program were used in classes several times: at Stanford by Tom Burke, at Notre Dame by Sun-Joo Shin, at IU by Ruth Eberle, at Cornell by Carl Ginet, and at USF by Benjamin Wells. Isabel Luengo also tested the program extensively, and both Ruth and Isabel provided us with some of the Hyperproof problems used in the book. Many modifications and additions to the program were suggested by these initial trials. Among the additions were the rules Taut Con, Log Con, and Ana Con. In the summer of 1992, Adrian Klein and Mark Ravaglia joined the project to implement these rules under the direction of Mark Greaves. In the fall of 1992, Rick Wong, the main programmer on Tarski's World 1.0 and 2.0, became a project consultant. We look back on this project, and our long association with its members, with some amazement. In spite of our experience developing other courseware, we simply had no idea
A note to instructors xvii
how complex a project we were undertaking, or the degree of dedication we would need on the part of our team to bring it to completion. During that first summer, Doug set a series of milestones for the project, identifying them with landmarks along the route from Stanford to Pescadero Beach. Little did we know when we started the project how long it would take us to get to Skyline Boulevard, let alone Pescadero. We would certainly never have reached the beach had we lost Mike, Mark, or Gerry along the way. We are extremely grateful to them, and to the entire team for their hard work and long-term commitment. If you enjoy using the program, you have them to thank.
A note to instructors If you plan to use Hyperproof in a course, you should write for the instructor's package. This package contains material that will make it easier for you to teach the course, as well the most recent version of Hyperproof. We can only distribute this material to instructors, so please write on departmental letterhead. Indicate how many students you anticipate having, and whether you are using Hyperproof with LOFOL or with Tarski Lite. Write to: CSLI Publications Ventura Hall Stanford University Stanford, CA 94305
*All
Basic Concepts
Comparing Tarski's World and Hyperproof Hyperproof is a system that allows you to solve simple reasoning problems. The subject matter of the problems are blocks worlds, similar to those you are familiar with from Tarski's World. You will be given some initial information about such a world and then the problems will challenge you to figure out some additional information. For example, you might be asked to figure out the size and location of a particular block, or to prove that certain claims about the world must hold, or to identify a given block by name. The most distinctive feature of Hyperproof is that the information you work with comes in two different forms: graphical and sentential. On the graphical side, you are given some of your information about the blocks world in the form of a picture or diagram of that world. This information is supplemented with additional information in the form of sentences of a first-order language similar to the one used in Tarski's World. To solve the problems you apply a variety of inference rules that allow you to manipulate the given information in various ways. Some of the rules let you add information to the diagram, if the addition can be justified on the basis of your sentential information. Other rules let you make new sentential claims, provided the sentences follow from the state of the diagram or the other sentences you have available. Still other rules let you do still other things. We will explain all the rules in due course. A lot of things in Hyperproof will seem familiar from Tarski's World. But a lot of things won't. So the first order of business is to say a bit about the differences between Tarski's World and Hyperproof. When you first look at them, the programs will seem very similar. But don't be misled: the similarity is only skin deep. Hyperproof is a much more powerful program, and along with that power comes a good deal of complexity, both conceptual and operational. To master these complexities, you will have to do two things. First, you need to pay close attention to the major, conceptual differences we describe in this chapter. Make sure you understand them or you will certainly end up puzzled later on. Second, when you read the book, you should station yourself near a Macintosh and make sure you try out everything we ask you to. This will make the transition from Tarski's World, which is very simple to
3
4
ComparingTarski's World andHyperproof
'N
II'07",V I ,,
* x,! .. ......... ...
t
1110 kw-
&........ , r
4
77%6 4 .
Figure 1: Situations vs. worlds use, to Hyperproof, which is more complicated, relatively painless.
1.1 Worlds and situations Although the problems in Hyperproof are about worlds like those in Tarski's World, the pictorial information you are given about these worlds will rarely be as complete as it is in Tarski's World. Tarski's World only allows you to construct "complete" or "total" worlds, worlds in which every object has a particular size, shape, and location, and in which all the names in use are assigned to specific objects. In Hyperproof you reason about complete worlds, but the pictorial information you are given about the worlds is, in general, only partial. For example, you may know that there is an object located at a certain point on the grid, but not know the size or shape of that object. Or you may know the size and shape of an object, but not know where on the grid it is located. When we depict such partial information pictorially, we call the depiction a situation. Figure 1 shows a situation from Hyperproof and a world from Tarski's World. When you compare these pictures, the first thing to notice is that the large and medium blocks in Hyperproof are smaller than their counterparts in Tarski's World. The large blocks in Hyperproof (for example, cube d in the top picture) are about the size of the medium blocks in Tarski's World. This allows us to place large blocks next to other blocks, something that is not possible in Tarski's World. The more important differences have to do with the conventions we have adopted in order to present partial information pictorially. The situation in Figure 1 contains several devices
Worlds and situations 5
that you have not seen in Tarski's World. For example, there are two cylindrical objects, one marked with a triangle and the other with a question mark. These do not represent new kinds of objects, but incomplete information about the familiar cubes, tetrahedra, and dodecahedra from Tarski's World. The cylinder at the back, the one with the question mark, indicates that an object is located at that position, but that the size and shape of the object are both unknown. The cylinder on the left, marked with a triangle, also indicates the presence of an object: this one a tetrahedron whose size is unknown. Whenever an object's size is unknown, it is depicted by a cylinder. (The idea is that the object is inside the cylinder, and so its size can't be determined.) The object's shape is indicated by the marking on the outside of the cylinder, unless the shape is also unknown, in which case the cylinder will sport a question mark. Another type of uncertainty is illustrated by the block labeled c toward the middle of the grid. Instead of an ordinary block, you see a crude depiction of a paper bag. The idea here is that you can tell the size of the block-in this case, it is medium-but you cannot tell its shape. Thus we know there is a medium block named c at this location on the grid, but we do not know whether it is a cube, a tetrahedron, or a dodecahedron. To represent a block whose location we do not know, we place the block in the area to the right of the grid. In the situation shown in Figure 1, the location of the large tetrahedron is unknown. Finally, we indicate uncertainty about names in the obvious way: if we don't know which object a name refers to, then the name is simply not attached to any object in the situation. In the example, we do not know which object, if any, the name b refers to. You have probably already noticed that the situation shown in Figure 1 is a partial depiction of the world below it. In other words, the world shown is one way we could extend this partial situation to a total situation (or world). For example, the large tetrahedron might be located in the back right corner of the grid, as it is in the world; the unknown block in the back row might be a large dodecahedron, as it is in the world; and so forth. Of course there are many other worlds (367,416, to be exact!) that this situation might depict equally well: for instance, the large tetrahedron might be located in the front left corner, the unknown block might be a small tetrahedron, and so on. As you fill in any of the missing information in a situation, we say that you are "extending" the situation. One situation is an extension of another if it can be gotten by assigning definite values for attributes that were not determined by the original situation. Thus, the world in Figure I is an extension of our example situation. Another way of extending this situation, this time to another partial situation, is shown in Figure 2. Note that when you extend a situation, none of the definite information you started with is lost. The extension just contains additional definite information. One background assumption made in Hyperproof is that the number of objects in a situation is always known. In other words, all of the objects are always displayed, even though some may not be located on the grid. We make this assumption because, although the Hyperproof rules would be correct without it, they would be a lot harder to apply. What
6
ComparingTarski's World and Hyperproof
1, '%-0I
.~
U~ -b 53w 3.35.3 al39;i tsy i,-3H £5 '33 33' '5
-
.. .. .....
'
%
o5
t.
@
r..<<.~i .....
"'i l _-23
33...:E:555.@ ,,5.'5
55s
p 1 333 3
.. ...
''.....
i
3:3
~:::C.I:
A&m_
.... . .
Figure 2: Another extension of the situation this means is that if we were to add another block to our example situation, the resulting situation would not count as an extension of it. All extensions of our example situation have exactly nine blocks, just as all extensions have a large cube on the back row. Adding another block is like changing the large cube to a dodecahedron: the result is a situation that conflicts with the original situation, not an extension of it. The only time we don't make this assumption is when the situation is completely empty. If there are no blocks in the situation, then this means we have no situation information at all, not that the world is empty. (As you know from Tarski's World, we always assume that the world has at least one object in it.) In this case, you can still solve problems, but in solving them you will only be able to use rules that don't involve the situation.
1. Start up Hyperproof by double-clicking on its icon. When the application appears, pause for a minute to read Section A. 1, starting on page 218. This will tell you a bit about what you are seeing on the screen. 2. Now open the document Situation Example, which you will find in the folder Exercises, Chapter 1. See if you can figure out how to modify the displayed situation in various ways. The techniques for editing the situation are different from those used in Tarski's World, but you should find them easy to figure out. The main difference is that you first select an object by clicking on it, and then make changes to it from the situation palette on the right. For example, to turn the block named c into a tetrahedron, click on it once and then go over to the palette and click the button labeled with a triangle. Fool around with the situation until you feel comfortable with the editing techniques.
A newproperty and relation 7
4
.
-.
A
Figure 3: Which are extensions of the situation on the left? 3. Before you close Situation Example, take a moment to read pages 221-222 of Appendix A, in case there are any editing techniques that you didn't happen to find on your own. When you close Situation Example, don't save the changes you have made.
Exercises Exercise 1 In Figure 3, five situations are depicted. Which of the situations on the right extend the situation given on the left? For each situation that does not extend the given situation, explain why it does not.
1.2 A new property and relation The worlds we can reason about using Hyperproof are actually a bit richer than those of Tarski's World. Besides the spatial properties and relations that you are used to in Tarski's World, we have added a new property, happy, and a new relation, likes. In a Hyperproof world-that is, in a total situation-each block is either happy or not, and every block either likes or does not like every other block (including itself). But, as with
8
Comparing Tarski's World and Hyperproof
;.4, .x M% ... - I
......
B.. .
l.i.
f .,l0
Figure 4: Likes and happy other properties of the blocks, the information about whether a block is happy, or whether one block likes another, might not be specified in a given situation. In Figure 4, we show how the happy and likes relations are represented. On the top, we have displayed information about the likes relation: it shows that the dodecahedron likes itself and also the cube, and that the tetrahedron does not like the cube. The situation is incomplete, since it does not tell us whether the cube likes itself, whether the dodecahedron likes the tetrahedron, and so forth. On the bottom we have displayed the information about which blocks are happy. Here the information is almost complete: the cube is happy and the tetrahedron is not. The only thing up in the air is whether the dodecahedron is happy.
1. Open the file Situation Example again. I)isplay thehappy and likesinformation by choosing Show Likes & Happy from the Situation menu. 2. Try adding some new happy information to the situation. To make a block happy, click on the Happy button on the situation palette. Then select the lucky block. Finally, click on the smiling-face button that appears on the palette. (To make the selected block unhappy, or to make its state unknown, click on the frowning-face or question-mark buttons.) 3. Now try adding some new likes arcs to the situation. To make one block like or dislike another, click on the Likes button on the situation palette. Then click down on the first block and drag to the second. An arc will appear as you do this, and affix itself to the block where you release the button. At this point,
Language differences 9
the arc will be labeled with a red heart enclosed in a rectangle. (If you don't see the rectangle, click on the heart and it will appear.) Now you can change the red heart to a green broken heart, or remove the arc entirely by clicking on the corresponding buttons on the palette. 4. To learn more about editing happy and likes, you should now read the remainder of Section A.2, starting on page 222. When you close the file Situation Example, do not save the changes you have made.
1.3
Language differences
The language used in Hyperproof is roughly the same as the language used in Tarski's World. The most obvious differences are in the basic predicates understood by the system. Several predicates have been added and one has had its meaning changed. Also, because we have expanded the language, some of the predicates no longer appear on the palette. Though Hyperproof understands them, they must be entered by typing them from the physical keyboard. The new predicates besides those from Tarski's World, are Happy, Likes, SameSize, SameShape, SameCol, SameRow, and Adjoins. Most of these are self-explanatory: for example, SameSize(a, b) is true if blocks a and b are the same size and false if they are different sizes. Adjoins is probably the hardest to figure out. Adjoins(a, b) is true when a and b occupy adjacent squares on the grid, that is, when they are immediately beside one another or when one is immediately in front of the other-being next to each other along a diagonal doesn't count. The predicate whose meaning has changed is Between. To simplify things, we have adopted an extremely strict interpretation of this predicate. Between(a, b, c) is true when and only when a, b, and c are in the same row, column, or diagonal, with a the middle block of the three. This is a fairly unnatural interpretation of the ordinary notion of between, but it has the advantage of clarity. Note in particular that the cube in Figure 4 (page 8) is not between the dodecahedron and the tetrahedron, since they are not sitting along a diagonal. In fact, if two blocks are not in the same row, column, or diagonal, then according to our new interpretation, nothing at all can come between them. In Table 1, we have listed the predicates available in the Hyperproof language with a brief description of when they are true. In addition to these predicates, Hyperproof will accept sentences made up using atomic formulas consisting of a single letter (A, B, C, ... ) or a single letter followed by one, two, or three arguments (A(x, y), R(a, b), S(a, x, y), ...). This allows us to construct proofs using sentences like A V -'(B A C) orVx (P(x) -* Q(x)). These single letters are not given any fixed interpretation, but can be thought of as stand-ins for other sentences and predicates.
10
Comparing Tarski's World and Hyperproof
Predicate Tet(a) Cube(a) Dodec(a) Small(a) Medium(a) Large(a) Happy(a) Likes(a, b) SameSize(a, b) SameShape(a, b) Larger(a, b) Smaller(a, b) SameCol(a, b) SameRow(a, b) . . a
Left~f (a, b) RightOf (a, b) FrontOf (a, b) BackOf(a, b) _________(a,
___
Interpretation a is a tetrahedron a is a cube a is a dodecahedron a is small a is medium a is large a is happy a likes b a is the same size as b a is the same shape as b a is largerthan b a is smaller than b a is in the same column as b a is in the same row as b a and b are located on adjacent (but not diagonally) squares a is located nearer to the left edge of the grd than b
On palette? yes yes yes yes yes yes yes yes yes no yes no yes yes
a is located nearer to the right edge of the grid than b a is located nearer to the front of the grid than b
no yes
a is located nearer to the back of the grid
no
than b
yes
no____
_
a, b and c are in the same row, column, or diagonal, and a is between b and c Table 1: Hyperproof predicates. Numerical quantifiers Besides the changes in predicates, there is one major change in the language understood by Hyperproof. The difference involves quantifiers, so if you haven't learned about quantifiers yet from Tarski's World, skip this section and come back to it later. The language of Tarski's World has only two quantifiers, V and 3, though many other similar notions can be expressed using circumlocutions built up out of these symbols. For example, we can say "there are at least four tetrahedra" by means of the rather long sentence:
Kleene evaluation 11 3x By 3z 3u (Tet(x) A Tet(y) A Tet(z) A Tet(u) A X70yAX70ZAx70uAy7AzAy 0 uAZ $ u) and we can say "there are exactly four tetrahedra" by means of the even longer sentence: 3x By 3z 3u (Tet(x) A Tet(y) A Tet(z) A Tet(u) A x•yAx•zAx#uAy•zAy#uAz#uA Vv (Tet(v) -* (v = x V = y V v = z V v = u))) Unfortunately, writing sentences like these is not a very practical way of expressing such simple claims. Because of this, the language of Hyperproof includes eight new quantifiers over and above the usual two: 3> 2 ,.. ., 3B9 . A sentence of the form 3>fx P(x) is true if and only if there are at least n blocks that satisfy the formula P(x). Thus the sentence "there are at least four tetrahedra" can be expressed directly using the quantifier 3> 4 : 3Ž4x Tet(x) Similarly, the sentence "there are exactly four tetrahedra" can be expressed by means of the sentence: 3' 4 x Tet(x) A -,3Ž 5 x Tet(x) Here, the first conjunct says that there are four or more tetrahedra, while the second says that it is not the case that there are five or more. Putting these together, we get the claim that there are exactly four. The new quantifiers in Hyperproof are known as numerical quantifiers. English has many other numerical quantifiers besides these, such as "there are between three and seven," but most of these can be easily expressed using those provided in Hyperproof. To type a sentence using one of the new quantifiers, enter the symbol 3 (either from the palette or by typing "?" on the physical keyboard), and then type a number from 2 to 9 from the physical keyboard. Then finish entering the sentence in the usual way.
1.4
Kleene evaluation
In using Tarski's World, you learned how to tell whether a first-order sentence was true or false in a given world. In Hyperproof you will also need to evaluate the truth or falsity of sentences, since this will determine the applicability of several of the more important inference rules. Only now you will be evaluating the sentences in partial situations rather than total worlds. If you think about it, this raises an interesting problem. Suppose you have the sentence Tet(a) A -Dodec(b). Say you want to evaluate it in the situation shown in Figure 5. It is clear that a is a tetrahedron and so the first conjunct of the sentence is true. But what about the second conjunct? It will be true if b is not a dodecahedron, but unfortunately the situation does not give us enough information to determine whether this is the case.
12
Comparing Tarski's World and Hyperproof
Figure 5: Can you evaluate Tet(a)
A
-Dodec(b)?
The evaluation rules that you learned in Tarski's World assumed that you had complete information about the world. When you do not have complete information, you may not be able to tell what the truth value of the sentence is. This doesn't mean the sentence has no truth value, just that you cannot tell what it is. This sort of predicament was first investigated by the logician Stephen Kleene (pronounced "clay-knee"). Kleene came up with evaluation procedures that are appropriate when our knowledge about the world is only partial. These procedures can be expressed by constructing truth tables which, in addition to the values TRUE and FALSE, have the entry "?" to indicate when we do not know which value the sentence has. In these cases, we say that the sentence's truth value is unknown. Here is the Kleene truth table for the connective A. In this table, P and Q stand for any sentence, atomic or complex. p 1. TRUE
Q
PAQ
TRUE
2.
FALSE
TRUE FALSE
TRUE
3.
TRUE
4. 5. 6. 7. 8. 9.
FALSE
TRUE
FALSE
FALSE
FALSE
? ? ?
FALSE FALSE FALSE
TRUE FALSE
FALSE
There are two important things to be noticed in this table. The first, of course, is when the truth value of the conjunction is unknown. The second is when the conjunction gets a definite value in spite of the fact that we don't know the value of one of its conjuncts. It is these two things together that make the Kleene evaluation scheme so useful. As you can see, the value of the conjunction as a whole is unknown in a couple of circumstances. One is when its constituents both have unknown values-the last row of the table. If we do not know either of these values, then surely we can't determine the truth value of the whole conjunction. The other circumstance is when one of the conjuncts has the value TRUE while the other conjunct's value is unknown. This happens in the third and
Kleene evaluation 13
seventh rows of the table. In the third row, for example, the value of the whole conjunction could go either way, depending on what value Q turns out to have. If Q turns out to be true, then P A Q will be true. But if Q turns out to be false, then P A Q will be false. So there is no way to figure out, given only the information that P is true, what the value of the whole conjunction must be. Contrast these cases with what happens in the sixth and eighth rows of the table. In these rows we have entered a definite value under P A Q, even though the value of one of the conjuncts is unknown. The difference is that in both of these rows, we already have enough information to figure out the value of the whole conjunction. For instance, in the sixth row we know that the conjunct P is false. Since a conjunction is only true when both of its conjuncts are true, this alone gives us sufficient information to tell that P A Q is false. It doesn't matter which value Q happens to have. This is the key to the Kleene evaluation scheme. A sentence is given a definite value as long as there is enough information about the values of its constituents to allow us to figure out what that value has to be.' In other words, if the value of a sentence would be the same no matter which value, TRUE or FALSE, you filled in for the unknown values of its constituents, then that sentence gets assigned a definite value. With this in mind, examine the table below to see if you understand and agree with all the entries. P
Q
PAQ
PVQ
P -*Q
P <-+Q
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
FALSE
FALSE
TRUE
FALSE
FALSE
TRUE
FALSE FALSE FALSE
TRUE
TRUE
FALSE
FALSE
TRUE
TRUE
9
TRUE
TRUE
TRUE
TRUE FALSE
TRUE
FALSE
FALSE
FALSE
?
TRUE FALSE
FALSE
The final sentential operator is the negation sign, and its Kleene table is obvious: P
.
P
TRUE
FALSE
FALSE
TRUE
You shouldn't have to memorize the Kleene tables for all these connectives. If you know the ordinary truth tables well, and understand the basic idea of the Kleene evaluation procedure, then you should be able to reconstruct the Kleene tables without difficulty. WKleene investigated other kinds of evaluation schemes appropriate to other situations. The one we use, known as the "weak" Kleene evaluation scheme, is the most appropriate one for evaluating sentences when our information about the world is incomplete.
14
ComparingTarski's World and Hyperproof
1. Open the file Kleene Examples. There are ten sentences under the situation. See if you can figure out which of these sentences can be evaluated in the given situation, and which have unknown truth values. 2. Once you think you've figured them all out, choose Check Proof from the Proof menu. Are the ones with the checks next to them the ones you thought could be evaluated? They should be. If there are any surprises, try to understand why. 3. When you are finished, close the proof by clicking in the close box at the upper left corner of the window (or by choosing Close from the File menu). Don't bother to save the changes you have made to the file.
The Kleene evaluation of sentences containing quantifiers is also what you would expect. For example, if we are evaluating the sentence Vx Small(x) (everything is small), the sentence would be true if all of the blocks are definitely small in the situation and false if at least one of the blocks is medium or large. The value of the sentence is unknown in situations where all of the blocks with definite sizes are small, but some blocks do not have a definite size. In such a situation we can't tell whether all the blocks are small. When we are evaluating an existential claim like 3x Tet(x) (there is at least one tetrahedron), the sentence is true if at least one block is definitely a tetrahedron and false if each of the blocks is a cube or a dodecahedron. The value of the sentence is unknown in situations that do not depict a block that is definitely a tetrahedron, but which have some blocks of unknown shape. In such a situation there might be a tetrahedron, but we can't tell for sure. Kleene evaluation of numerically quantified sentences is similar. For example, the sentence 3> 4 x Tet(x) evaluates as true in a situation if and only if there are at least four blocks which are definitely tetrahedra in the situation. It evaluates as false if there are three or fewer blocks that might be tetrahedra (that is, that are either tetrahedra or of unknown shape), since such a situation could not depict a world with four or more tetrahedra. Otherwise, the sentence evaluates as unknown.
Exercises Exercise 2 Try to evaluate each of the following sentences in the situation shown in Figure 5, page 12. In each case, say whether the sentence is true, false, or unknown in that situation. 1. LeftOf(b,c) A Medium(c)
Proofs 15
2. Larger(c, a) V Larger(c, b)
$
3. Dodec(b)
b
c
4. Dodec(d)
Small(d)
5. Cube(b) V -Cube(b) Exercise 3 Try to evaluate each of the following sentences in the situation shown in Figure 5, page 12. In each case, say whether the sentence is true, false, or unknown in that situation. 1. 3x(Cube(x) A Small(x)) 2. Vx(Dodec(x)
-V
Small(x))
3. Vx((Tet(x) A Small(x))
-*
x = b)
4. Vx((Tet(x) A Small(x)) +-*x = b) 5. 3!'x Cube(x)
1.5
Proofs
The biggest difference between Tarski's World and Hyperproof is that the former simply evaluates the truth value of sentences in a displayed world, while the latter is a system for constructing proofs. In Hyperproof, a proof begins with some initial information, generally provided in the form of a situation and several sentences. This initial information is called the given information, and the aim of a proof is to demonstrate that one or more characteristics hold of the given information. For example, we may want to show that a particular sentence follows logically from the given information, or that you cannot determine the size or shape of a particular block on the basis of the given information. In Figure 6 we show a sample proof. This proof demonstrates that the sentence SameShape(c, d) is a consequence of the given information. Here, the given information consists of the situation displayed plus two sentences-the two sentences above the small horizontal line which we call a Fitch bar.2 The proof itself consists of a sequence of steps, each containing either a sentence, a situation (indicated by the diamond-shaped icon), or a declaration of one sort or another (such as the word Exhaustive toward the bottom of the sample proof). The steps with situation icons should be thought of as containing situations. Unfortunately, there is not enough room to display all of the situations in a proof simultaneously, but as you move through the proof, the appropriate situation is displayed. 2The bar is named after Frederic Fitch, whose proof system first used this graphical device to indicate a proof's assumptions.
16
Comparing Tarski's World and Hyperproof
SM
NOMflxMW W . . . 11.... -~..
........
i* Dodec(c)
fiWIM:%,
e Dodec(d)
Gw.en G/ Sly..
| Small(c)
I i* Dodec(c) Dodec(d)
APp', Obskerve ( -EMnI
Ii-
I
jL~V Exhaustive . SameShape(c, d)
AsLum
Ass...e ExhAus i hipect
Figure 6: Proof of SameShape(c, d) Each step is justified by the application of a rule whose name appears to the right of the step, and in some cases by the citation of one or more supporting steps. We will explain how all of the rules work and what they show in later chapters.
1. Open the file Proof Example. This file contains the proof shown in Figure 6. It should look much the same as the figure, except that the goal strip will be visible at the bottom of the window. Hide the goal strip if you can't see the whole proof on your screen (choose Hide Goal Strip from the Goal menu or type Command-T). 2. The first thing you need to learn is how to move from step to step within a proof. At any given time, there is always one step that is "in focus." This step is indicated by the small triangle at the left, called the Focus Slider. Currently the first step, containing the given situation, is in focus.
Proofs 17
3. Let's move the focus to another step. There are several ways to do this. First, try hitting the down-arrow key (1) on your keyboard. This moves the focus down one step. Conversely, the up-arrow key (T) moves the focus up one step. If you want to move more quickly, use the mouse to grab and drag the focus slider to the desired step, or simply click in the focus slider area to the left of the step you want. 4. For reasons that will become clear later, the one way you can'tmove the focus is by clicking in the body of the proof. But try this: Hold down the option key and click directly on a step in the body of the proof. This will move the focus to that step and, if there is a sentence at that step, locate the blinking insertion point at the place where you clicked. 5. Leave this file open as we will return to it in a moment.
You probably noticed that as you moved the focus around the sample proof, a variety of things happened. For one thing, the situation displayed at the top changed. Since we only have room to display one situation at a time, we display the situation that is "in force" at that point in the proof. We call this the current situation. We indicate the step in the proof where the current situation was introduced by highlighting the appropriate situation icon. (Don't worry now about how a situation is introduced or when it is the current situation. You'll learn about that when we discuss the individual rules.) Figure 7, for example, shows our sample proof with the focus on the seventh step in the proof. If you compare it with Figure 6, you will see that a different situation is displayed at the top of the window (the names c and d have been assigned to blocks), and that the third situation icon is highlighted. The other thing you probably noticed is that when you are focused on certain steps, some of the earlier steps become highlighted. These highlighted steps are the steps that were cited in support of the focused step. Again, we'll learn about which rules require support steps as we go along; for now, you should just note how the support steps are indicated in the proof.
1. Move the focus around Proof Example some more, this time paying close attention to the changes taking place in the displayed situation and in the body of the proof. Finally, focus on the sixth step (the one containing the sentence Dodec(d)) and notice the two support steps that are highlighted. Go up with the mouse and click directly on one of the highlighted sentences; then click on
18
ComparingTarski 's World and Hyperproof
6
..Na Et.
........
.:i, ....e F
..
t D
I. Dodec(c) i
Small(c)
i
c
. , I .....I .. I...
--
Dodec(d)
..........
V/ Syn v/ SyM
5j
Awl
, a Dodec()
A/ 01vrv
i znoot UUuekLUj
BvA Y
[rw
/ 0
I
Exhaustive * SameShape(c, d)
EM LE
Aume .n -v um
OF/Exhst / Inpect
.w
Figure 7: Proof with focus on seventh step it again. You have now learned how to add and remove (that is, remove and add) supports for a step. This is why you can't move the focus by simply clicking on steps in the proof. The program interprets your click as an attempt to add or remove a support step for the step that is currently in focus. But if you click on the step while holding down the option key, you are telling the program to move the focus rather than add support for the current step. (Another way of doing this is to select the "I-beam" tool from the proof palette, next to the pointing finger tool. When the I-beam tool is selected, clicks in the proof pane always move the focus, instead of adding or removing support. You must then hold down the option key when you want to cite support steps.) 2. Just for fun, try clicking on a step that is below the focused step. The program beeps at you. This is because the program thinks you are trying to cite, as support for the focused step, a step that comes later in the proof. That isn't allowed: steps can only be supported by steps that come earlier in the proof.
Proofs 19
3. At this point, pause to read over Section A.3 of Appendix A, up through page 226. Feel free to fool around as much as you want in Proof Example; you won't hurt anything. When you are done, close the file without saving any changes you've made.
Exercises Exercise 4 If you have skipped over any of the You Try It sections in the chapter, return to them now and work through them. If you do not do them, you will run into trouble later on. Exercise 5 In Hyperproof there is only one type of diagram, what we have called a situation. These diagrams depict partial information about certain kinds of blocks worlds. In real life we get information from a wide variety of diagrams and other forms of pictorial representations, for example, road maps, blueprints, and photographs. These representations also present partial information about their subject matters. For example, a black and white photo may contain the definite information that a particular man has dark hair, while leaving it uncertain whether his hair is black or brown. For each of these three examples (maps, blueprints, and photos), discuss the type of information that is typically depicted, the type of information that is never depicted, and the information that is sometimes but not always depicted. Exercise 6 Bring to class an example of a diagrammatic representation, along with sentences that evaluate as definitely true in the diagram, definitely false in the diagram, and whose truth value is not determined by the diagram.
A,
*
Proofs of Consequence and Nonconsequence Hyperproof is a system for constructing proofs. But proofs come in a variety of different forms. When a mathematician proves a theorem, or when a prosecutor proves a defendant's guilt, they are showing that a particular claim follows from certain accepted information, the information they take as given. This kind of proof is what we call a proof of consequence, a proof that a particular piece of information must be true if the given information is correct. A very different, but equally important kind of proof is a proof of nonconsequence. When a defense attorney shows that the crime might have been committed by someone other than the client, say by the butler, the attorney is trying to prove that the client's guilt does not follow from the evidence in the case. When mathematicians show that the parallel postulate is not a consequence of the other axioms of Euclidean geometry, they are doing the same thing: they are showing that it would be possible for the claim in question (the parallel postulate) not to be true, even if the other information (the remaining axioms) is true. In Hyperproof, we can construct proofs of both of these kinds, and other kinds as well. In this chapter, we will learn how to build proofs that a sentence is a consequence of the given information and proofs that a sentence is not a consequence of the given information. Later, we will look at proofs involving conclusions that are not expressed as sentences. All proofs in Hyperproof are constructed by the repeated use of various rules. There are three kinds of rules in Hyperproof: situation rules, sentential rules, and enabling rules. Situation rules allow you to alter the situation in one way or another, or to extract information from the situation and express it in sentential form. Sentential rules allow you to introduce new sentences into the proof on the basis of earlier sentences. Finally, enabling rules let you introduce "declarations" into the proof, special claims that are used to justify further situation or sentential changes. In this chapter, we will start by learning enough rules to allow us to give some simple proofs of consequence and nonconsequence. To do this, we need rules of each of the three sorts, so we will get to see how all three types of rules work. After introducing the rules, we'll try them out in some proofs of consequence and nonconsequence.
20
Observe 21
The first rule is a simple situation rule. It allows us to extract information depicted in the situation and express it as a sentence. We call it the Observe rule.
2.1 Observe Suppose a piece of information is presented in the situation, but you need or want the information expressed sententially. For example, suppose you can see from the diagram that block d is between blocks b and c, but what you want is the sentence, Between(d, b, c), that explicitly expresses this. The rule of Observe is what lets you do this. At any point in a proof, you are allowed to assert a sentence using the Observe rule, so long as that sentence is definitely true in the situation displayed at that point in the proof. By "definitely true" we mean that a Kleene evaluation of the sentence returns the value TRUE. An attempted application of the rule will fail if the evaluation either returns the value FALSE or concludes that the value is unknown in the current situation. You have in fact already tried out the Observe rule in the last chapter. In the file Kleene Examples, the sentences that got check marks were correct applications of Observe. Those that got X's all had unknown values in the situation and so could not be observed. Had there been any sentences that were definitely false, these would also have gotten X's. The Observe rule does not require that any other steps be cited as support. If the truth of the sentence follows from the current situation alone, then that sentence can be asserted using Observe; the only support for your claim is the situation itself. If the sentence doesn't follow from the situation alone, then the Observe rule won't check out.
1. Open the file Observe Practice. In this file, you are given a situation and nothing more. Let's prove that the sentence Cube(f) information depicted in the situation.
V
Tet(b) is a consequence of the
2. We first need to add a new step to our proof. To do this, choose Add Step (Command-A) from the Proof menu. You will now have a new step, indicated by a question mark icon, into which you can type the sentence. 3. Enter the sentence Cube(f) V Tet(b), either by typing it from the keyboard or by using the palette. (To type V from the keyboard, type I, that is, the key with the vertical line. For a complete list of keyboard equivalents for typing the logical symbols, see Table 2 on page 227.) 4. Once the sentence has been entered, you need to change the rule to Observe. Click down on the word Rule?, which appears to the right of the sentence you have just entered. A popup menu will pop up, showing the rule names.
22
Proofs of Consequence and Nonconsequence
Keeping your mouse button down, choose the rule Observe-near the bottom of the popup menu-and release the mouse button. If you accidentally choose the wrong rule, you can change it by repeating this procedure. 5. All that remains to be done is to check that this is in fact a correct application of the rule Observe. To do that, either hit the Enter key on the numerical keypad or choose Check Proof (Command-P) from the Proof menu. (The first of these only checks the step you are currently focused on; the second checks the whole proof.) 6. Now use the rule Observe to prove that various other sentences follow from the given situation. That is, successively add new steps to the proof, enter sentences into the steps, and see whether Observe checks out. The purpose of this exercise is to familiarize yourself with this important rule, and so you should try both simple and complex sentences, and experiment with some claims where Observe does not work. When you get an X upon entering an Observe step, notice the message that appears in the status bar at the very bottom of the proof window. The message will tell you if the rule failed because the sentence evaluates as FALSE in the situation or if it failed because the truth value is unknown in the situation. This information can sometimes be useful. 7. Make sure you try the following sentences, since some of the results may surprise you. Can you figure out why Hyperproof is treating these pairs of sentences differently? * -FrontOf(c, f) * -FrontOf(d,f) * -Larger(d,f) * -'Larger(d, a) * -iBetween(f, a, c) * -iBetween(f, a, d) 8. When you are finished, do not save the changes you have made to the file.
In evaluating atomic sentences, Hyperproof takes advantage of various kinds of information implicit in the situation. For example, if an object d is sitting on the back row of the grid, Hyperproof will evaluate the atomic sentence FrontOf(d, f) as definitely false, even if, as in the above example, the location of f is unknown. Similarly, if f is large, it will evaluate the sentence Larger(d, f) as false, even though the size of d is unknown.
Assume 23
There is one other way in which the Observe rule is somewhat stronger than the Kleene evaluation scheme would suggest. Suppose the name d does not appear in the situation. You would expect a sentence like Dodec(d) to evaluate as unknown. But there is one case in which this won't happen. If every block in the situation is a dodecahedron, then Hyperproof will recognize that whatever d may name, that object is a dodecahedron. So in this situation Hyperproof will let you observe this sentence. In general, if you observe a sentence S(d) where d does not appear in the situation, and if every block in the situation satisfies the condition expressed by S, then Hyperproof will accept this use of Observe. This works for complex sentences as well as atomic sentences, and for more than one name at a time. What Hyperproof is doing here is really quite natural. Suppose you were at a party last night, and this morning someone asked you whether Fred danced nude at the party, as he has been known to do. Even though you don't know Fred, you might confidently say that he did not, since you observed that all of the dancers were fully dressed.
1. Open the file Observe Practice 2. In this file you will find a given situation in which no names appear and several sentences that contain names. Hyperproof will let you observe some of these sentences, but not others. See if you can predict which ones will be accepted. Test your predictions by focusing on the sentence and hitting Enter. (If you do not understand quantifiers yet, skip the sentences that contain them.) 2. When you are finished, save the file (with the check marks) as Observe Solution. To do this, choose Save As... from the Proof menu and type the name Observe Solution, then click OK. This will save the file in the exercise folder for this chapter.
2.2
Assume
Ordinary reasoning often takes conditional form. For example, the prosecutor in a murder trial might argue as follows: Suppose the defendant had been at home at the time of the murder, as he claims. Then certainly the lights would have been on at his house. But we have heard testimony that there were no lights on all evening long. Further, two telephone calls went unanswered.... Just so, the defense attorney might counter:
24
Proofs of Consequence and Nonconsequience
Suppose the defendant came home from a long, hard day at work, sat down in front of the TV to watch the evening news, and within minutes fell asleep. Much later in the evening, the telephone, located at the opposite end of the house, rang faintly, eventually waking him on the sixth and final ring.... In both of these arguments, the first sentence, beginning with "Suppose ... ," introduces an assumption. The assumption is not something we know to be the case, but rather just a possibility that we are asked to entertain for a while. In the first example, the prosecutor wants us to entertain the assumption in hopes of showing that it is inconsistent with other evidence and so should be ruled out entirely. In the second example, the defense attorney asks us to consider a possibility which, if it were the case, would be consistent with the evidence without ruling out the client's alibi. As these examples show, there are a variety of reasons for entertaining new assumptions in the course of our reasoning. What is important is that these assumptions not be confused with something that we definitely know to be the case. We may later prove that the assumption really holds, or that it can't possibly hold, or it may simply remain an open possibility. In Hyperproof, the Assume rule allows us to introduce a new assumption into a proof. The assumption can be either some additional information that we add to the situation or a new sentence. The assumption does not have to be justified in any way, but it does have to be marked off as something we don't yet know to be the case. What's more, things that we then show to follow from the new assumption must be marked as depending on that assumption, and hence as things we don't really know, either. We do this "marking" by indenting the new assumption and all subsequent reasoning that depends on that assumption. The result is what we call a subproof, a proof within a proof. Inside a subproof, you can reason as if you knew the new assumption to be true, in addition to the things you know from "outside" the subproof. In Figure 8, we show a proof that contains a subproof. The subproof is the portion of the proof that is indented and marked off with a vertical dotted line, just like the line that marks off the main proof. In both cases, the lines have Fitch bars: short, horizontal lines that show which steps are assumed or given (those above the bar), and which steps are derived from these assumptions (the steps below the bar). In Figure 9, we have added a picture of the situation assumed at the beginning of the subproof. (Since Hyperproof only displays one situation at a time, your screen will never look like this.) Notice that this situation is an extension of the given situation. In it the medium paper bag has been assigned a shape, a location, and a name, and the cube has been given a definite size. After making these assumptions, the next step in the proof observes that c is not to the left of d. This step is legitimate because in the assumed situation the sentence evaluates as TRUE. This doesn't mean that we know that -iLeftOf(c, d) is true or that this follows from the given information. It only means that this sentence would be true if the real situation were like the one we've assumed.
Assume
.
III-.
I
:2g
$
-
§;
fgg;,
'
<
in' ;o >g::':>i.ei -a 2gg...................................... t$2 .F cH:2f 2,522 Teed::: A-
i
-
.
-Si
i:Bw
, r --
S
go
.2
::
i-gig
Eggs R5''gBL isig
gt:
<,.,^E
'
2.2
He
2
S
{a
y 22,2 *,iV-5,,* S ?<.,X 2 2 255222 :' 5if w g555j5555
A: ,.^C2i5i.B'g
In
.>
*
}
§ :.:¢
22 S2222ei ieeeeee
Dodec(c) Larger(c, d)
I i
25
t
-,1"LeftOf~c, d)
Sly.
Gwen Ouses
Ohierve<
Figure 8: A proof that contains a subproof Why might we reason in this way? Suppose someone told you that the given information in this problem is true, and then claimed that the sentence LeftOf(c, d) follows from that information. The subproof we have constructed might be used to show that this person is mistaken. After all, the assumed situation is a possible extension of the given situation, but in it the given sentences, Dodec(c) and Larger(c, d), are true, while LeftOf(c, d) is, as we have observed,false. The displayed proof contains most of the pieces we need for a proof of nonconsequence, specifically, a proof that LeftOf (c, d) does not follow from the information given in the problem. But before we can complete such a proof, we will need another rule. Before turning to that rule, though, let's try our hand at using the Assume rule.
1. Open the file Assume Practice. This file contains only the given information shown in Figure 9. Let's construct the subproof that appears after the givens. 2. The first thing you want to do is start the subproof. To start a subproof, you first need to add a step to the proof. So choose Add Step or type Command-A. This gives you an ordinary step within the main proof. To turn this step into the first step of a subproof, change the step's rule to Assume. The step is immediately indented, and you are ready to go.
26
Proofs of Consequence and Nonconsequence UE .1................ 1.11-1............ ........
-E
A09"W Pr-eUE.S
-X4=
St V..4-
U
Dodec(c) Larger(c, d) d -eftOf(c, d)
4
Given
;,
4
siven .
Observe
Figure 9: A subproof that begins with a situation assumption 3. Now you should modify the situation so it looks like the assumed situation in Figure 9. If you have trouble remembering how to edit the situation, refer to Section A.2 in Appendix A. Notice that in the Assume step, you cannot change any determinate information already present in the given situation. For example, if you try to move block d or change it into a dodecahedron, you'll find you can't. The assumed situation must be an extension of the situation "outside" the subproof. 4. To continue the subproof, add another step. The step is added immediately below the Assume step, but still within the subproof. Change this step's rule to Observe, and then enter the sentence - LeftOf(c, d). After you have done this, use Command-P to check your proof. Make sure all the steps check out before you go on. 5. When you are finished, leave your proof open, because we will return to it in a moment.
In this example, we used the Assume rule to introduce an assumption about the situation. But the Assume rule can also introduce new sentential assumptions. When you change a step's rule to Assume, the step is indented and the question mark icon appears. At this point you can either extend the current situation however you please, or else type in any
Assume
27
sentence you please. When you enter the step, you automatically get a check mark next to the rule name. The Assume rule does not care what you have assumed and does not require that any support steps be cited. When a subproof begins with a situation assumption, we sometimes call the subproof a case. This is because a piece of reasoning often proceeds by entertaining several different possibilities about the situation, and this practice is known as breakinginto cases. We will say more about this kind of reasoning in Chapter 6.
1. Suppose you want to end the subproof that you have just constructed and get back to the main proof. To do this, you must first be focused on the last step of the subproof, the one containing the sentence -iLeftOf(c, d). Then, to end the subproof, choose End Subproof from the Proof menu (or type Command-E). 2. When you do this, you get a new step that follows the subproof, but that is not within the subproof. Notice that this has an important effect on the situation displayed: the situation information that depended on the assumption step in the subproof is no longer present. (If you didn't notice the change, move the focus back and forth between the last two steps.) This reflects the fact that we never proved these situation changes, but only assumed them, and then proceeded to reason, within the subproof, as if they were the case. In the cold light of the main proof, we have available only the information that does not depend on additional assumptions. 3. To drive this point home, try using the rule Observe to assert the sentence -iLeftOf(c, d) in the new step you created. When you enter the step, it does not check out, even though it did in the last step of the subproof. Do you understand why? 4. Add a new step at the end of your proof and use it to start another subproof. (Remember, you start a subproof by changing the new step's rule to Assume.) This time, when your step is indented, assign the name c to the large dodecahedron and don't make any other situation changes. Then add another step and observe LeftOf(c, d). Enter your steps to see if they check out. 5. Now add another step (still within the second subproof) and change its rule to Assume. You are now starting a subproof within a subproof! In this Assume step, make cube d medium, and then add a step and observe Medium(d). Check to see if these new steps check out. 6. At this point, we are going to end both of our subproofs. You should watch closely what happens to the situation as you do this. First, type Command-E to
28
Proofsof Consequence andNonconsequence
end the innermost subproof. This gives us a step within the first subproof, and the current situation is the one assumed in that subproof. Now type CommandE again. This moves the empty step out into the main proof, and the situation displayed now contains none of the changes made in either of the subproofs. Once again, this is because none of those changes was actually proven, they were only assumed. 7. Feel free to practice starting and ending additional subproofs. In particular, you should try starting a subproof with a sentential assumption. (Just type any sentence into the Assume step.) Also, while you are in a subproof, try typing Shift-Return and Option-Return. The first of these is another way of adding steps and the second is another way of ending a subproof. 8. This would be a good time to skim the rest of Section A.3 of Appendix A, up through page 232. Don't bother to read it in detail, since some of it is only relevant to rules we haven't gotten to. But you may run across some useful techniques that you want to try out. 9. When you are finished, close the proof (by clicking in the close box), but don't save any changes you have made. As you saw, Hyperproof allows you to create subproofs within other subproofs. This, too, is a common practice in ordinary reasoning. For example, our defense attorney might begin an argument by saying "Suppose... ," and later on ask the jury to "Suppose further..." This is what we did in our example: we first assumed that c was the large dodecahedron and then we supposed further that cube d was medium. As with all subproofs, it is important that we keep track of when each assumption is introduced and how long the assumption is in force. At this point, the Assume rule may seem like a rather odd rule, for a couple of reasons. First, it allows us to assume anything we please, which may seem oddly permissive. And second, it does not allow us to really prove anything, but only to assume things and then reason as if they were the case. To appreciate the power of this sort of hypothetical reasoning, we need several other rules. The first one we will look at is called CTA.
2.3
Check Truth of the Assumptions (CTA)
CTA is the first of our enabling rules. The enabling rules are not used to infer new sentences or modify the situation, but rather to introduce a "declaration" into the proof. These declarations tell us important things about the information in the proof. CTA stands for Check Truth of the Assumptions, and this full name might suggest to you what the rule does. When you invoke the CTA rule, the declaration Assumptions Verified appears at the focused step. The rule will check out if all of the given sentences,
Check Truth of the Assumptions (CTA) 29
...
-
.r
li
...."e
l
. . .du4
'I. *
Dodec(c) Lorger(c, d)
/
Glns
/
Geun Giw.n
Assumptlons Verified
Assumptions Verified
x CTA
/
CTA
Figure 10: An example of CTA plus any additional sentential assumptions in force at the focused step, evaluate as definitely true in the current situation. No support steps need be cited to apply CTA. What does it mean to say an assumption is "in force" at the focused step? Well, an assumption is in force until its subproof has been ended. So the assumption is in force at any step within that subproof, and at any step inside subproofs that are themselves within that subproof, and so on. A good way to see which assumptions are in force at a particular step is to follow all the vertical lines to the left of the step up to the assumptions (or givens) that appear above the Fitch bars attached to those lines. Any sentences you find by doing this will be evaluated when you use the rule CTA-but they will be evaluated in the situation current at the CTA step, not in the situations current at their own steps. Let's look at two simple examples of CTA, one correct and one incorrect. In Figure 10, we have invoked CTA twice, once immediately after the given steps, and once in the context of our subproof. The first use of CTA fails, while the second is correct. The reason for this is that at the first step, the two given sentences evaluate as unknown, while at the second, they both evaluate as definitely true. The CTA rule is an extremely important enabling rule. It allows us to show several different things about the information we are given. For example, in Figure 10 the fact that our second use of CTA checks out shows that the given information is consistent: it is possible for both the given situation and the given sentences to hold in a single world. We will discuss this use of CTA in Chapter 4. But now, let's see how CTA will figure into proofs of nonconsequence.
30
Proofs of Consequenceand Nonconsequence
1. Open the file Assume Practice again. (if you already have the file open, close it and open a fresh copy.) Here you should find only the given information shown in Figure 10. 2. Add a new step, change the rule to CTA, and see if it checks out. Of course it does not, because the truth values of both the given sentences are unknown in the given situation. 3. Look down at the status bar at the bottom of the proof window. As you can see, Hyperproof tells you that one of the sentences evaluates as unknown in the current situation. In fact, they both do, but Hyperproof will only tell you about the first one it finds. 4. Let's now build a subproof in which CTA checks out. To do this, start a subproof in which you assume the various situation changes shown in Figure 10. Then add a step within the subproof and try out CTA. If you made the right assumptions, your CTA step should now check out: both of the given sentences are true in the assumed situation. 5. You now have the proof shown in Figure 10. But let's go beyond that, to illustrate more about how CTA works. Add a new step immediately after the last CTA step, but still within the same subproof. Change this to an Assume step and enter the sentential assumption Happy(d). Then add a step and see if CTA checks out. Notice that the current situation is the same as before, but now not all of the assumptions check out. The reason is that the new assumption, Happy(d), is now being checked in addition to the two given sentences. Since its value is unknown in the current situation, the rule fails. Make sure you understand why this is happening. 6. This new assumption is consistent with the given information, so we should be able to extend the situation to make CTA check out. To do this, add a new step within the same subproof and once again change the rule to Assume. This time, modify the situation so that the block named d is happy. Then, in the next step, use the rule CTA to see that it now checks out. 7. At this point, you should learn how to delete steps in a proof. To delete a step, you first have to be focused on it. Then choose Delete Step from the Proof menu (or type Command-D). Practice this by deleting the two CTA steps that did not check out.
Sentence goals 31
8. To delete a subproof, you simply focus on the Assume step and choose Delete Step. The entire subproof will be deleted. Try this out by deleting the subproof that begins with the assumption Happy(d). This leaves you with a proof containing a single subproof, and that subproof contains a single application of CTA. 9. Check to see that all of the steps check out, and if they do, save the proof as Assume Solution. We will return to this proof in a moment.
2.4
Sentence goals
We now have enough rules to begin constructing some simple, but interesting proofs. We will start by looking at proofs of nonconsequence, the kind our defense attorney tried to give in order to exonerate the client. Nonconsequence proofs The Observe, Assume, and CTA rules are the tools we need for proofs of nonconsequence, proofs which show that a sentence does not follow from the given information. Let's think for a minute about what would constitute a proof of this sort. Look back at the proof shown in Figure 9 on page 26. When we constructed this proof, we said that it was almost a proof that LeftOf(c, d) is not a consequence of the given information. In that proof, the situation in the Assume step is a possible extension of the given situation, and in this situation the sentence Left~f(c, d) is false. This shows that this sentence does not follow from the given situation, but it neglects the given sentences. We need to show that the sentence does not follow from the combination of the given situation and the given sentences. To do this, we also need to show that the assumed situation makes the given sentences all true. As it happens, the situation at the assume step does indeed make the given sentences true, as is shown by the successful application of CTA in Figure 10. So all we need to do to get a proof of nonconsequenc is put these pieces together.
1. Open the file Assume Solution that you created in the last section. This proof should have an Assume step followed by a successful CTA step. 2. Notice the icon in the goal strip at the bottom of the proof window. This icon indicates that the goal of the problem is to prove that a particular sentence
32
Proofs of Consequenceand Nonconsequence
does not follow from the given information. (The symbol A, by the way, is the logician's standard symbol for consequence.) Click once on the icon; the sentence in question will appear in the status bar. As you can see, the goal is to show that LeftOf(c, d) is not a consequence of the given information. 3. To satisfy this goal, add a new step following the CTA step. (To do this, focus on the CTA step and choose Add Step.) Enter the sentence -iLeftOf(c, d), change the rule to Observe, and check your proof. Your proof now shows that it is possible for all the given information to be true and for LeftOf(c, d) to be false. 4. To see that your proof indeed satisfies the goal, choose Check Goals (CommandH) from the Goal menu. If your proof is correct, a check mark will appear below the goal icon. 5. Save your completed proof as Assume Solution. proven your first result in Hyperproof!
Congratulations, you've
6. Before closing your proof, try double-clicking on the goal icon. When you do this, a window will appear that explains the goal more explicitly. This is useful in case you can't remember the meaning of the goal icon. If you click on the Help button in the goal window, you will also get an explanation of how to satisfy this type of goal.
To satisfy a nonconsequence goal, you must create an extension of the given situation in which all the given sentences are true but the goal sentence is false. We show that these two conditions are met by using CTA and Observe. A successful CTA step guarantees that all the given sentences are true. The Observe step is used to show that the goal sentence is false by observing that its negation is true. It does not matter in which order these two steps appear.
1. Open the file Nonconsequence Example. Notice that there are two goals in the goal strip. Click on them in turn to see what sentences are at issue. You are asked to show that neither Large(b) nor -Large(b) follows from the given information. This might strike you as surprising, since in any world one or the other of these must be the case. But that doesn't mean that we are given enough information to determine which one it is.
Sentence goals 33
2. To solve this problem, you will need to satisfy each of the individual goals. Thus you will need two entirely separate subproofs. One of them should extend the situation so that the name b is assigned to a tetrahedron that is not large. It so happens that there is only one way to do this. Check the assumptions using CTA, then observe the sentence -'Large(b). This will take care of the first goal. Choose Check Goals to verify this part of the proof. 3. To satisfy the second goal, end the old subproof and start a new one. Extend the given situation so that the name b is assigned to a tetrahedron that is large. You have several choices, and it doesn't matter which one you choose. Again, use CTA to check the truth of the given sentences, but this time observe the sentence -'--iLarge(b), that is, the negation of the sentence from the second goal. (It will also work if you observe Large(b).) See whether both goals now check out. If they don't, try to figure out what you've done wrong. 4. When you are done, save your proof as Nonconsequence Solution.
In this last example, you showed that neither the sentence Large(b) nor its negation,
-Large(b), is a consequence of the given information. This is sometimes called an independence proof: it shows that the truth value of Large(b) cannot be determined on the basis of the information we have. We will consider other kinds of independence proofs in Chapter 7. Consequence proofs We have seen how to use situation assumptions to prove that a sentence is not a consequence of the given information. How would we go about proving that a sentence is a consequence of the given information? In general terms, this requires establishing that the sentence at some step in the proof that does not fall under any assumptions other than the givens. Another way to put this is that the sentence must appear in a step at the "main level" of the proof, that is, not inside a subproof. This shows that the sentence follows from the given information alone, unsupplemented by any additional assumptions. With the rules we have at this point, we won't be able to give very interesting proofs of consequence. So far, the only technique we have for proving that a sentence follows from the given information is the rule Observe. Thus, we can currently prove that a sentence is a consequence of the given information only if we can observe that it is true in the given situation. Indeed, the purpose of most of the rules we will cover in later chapters is to expand our ability to give proofs of consequence.
34
Proofs of Consequence and Nonconsequence
1. Open the file Consequence Example. In this file, you will find an attempt to satisfy two goals. The first goal is to show that the sentence Small(a) is not a consequence of the given information. This goal has been satisfied, as is shown by the check mark beneath the icon. 2. The second goal is to show that the sentence Small(a) V Small(b) follows from the given. The sentence does follow, but the attempt to prove it is flawed. We have observed that the sentence is true, but our observation appears in the context of a subproof. Thus, this proof shows only that the sentence follows from the given plus the additional assumptions introduced in the subproof. 3. Let's correct this proof. Focus on the step containing the sentence Small(a)v Small(b), choose Delete Step, and then choose End Subproof. In the new step you have created outside the subproof, observe the target sentence SmaIl(a) V Small(b). Now see whether the goals check out; they should. 4. Save your proof as Consequence Solution.
As we learn more of the rules, we will be able to construct more interesting proofs of consequence. At this point, though, we will introduce a way to indicate that you think a sentence does follow, even if the available rules do not give you a way to prove it. We call this "rule" Trust Me. Unlike our other rules, Trust Me is not a logically valid rule. Rather, it is a way for us to outline a proof with gaps in the reasoning, if we are convinced that the gaps can be filled in.
1. Open the file Trust Me, Please. In this file you are asked to prove that three sentences follow from the given information. Try using the rule Observe to prove these sentences. As you see, the. sentences do not follow by Observe. This is because they do not follow from the situation information alone. Still, each of the sentences is a consequence of the given information, and we will eventually be able to prove them using other rules. For now, we will "prove" them using Trust Me. 2. First, delete the faulty Observe steps from your proof. Then add a new step and type the sentence -,Tet(b). This sentence is clearly a consequence of the first and third given sentences. Cite these sentences by clicking on them,
Sentence goals 35
then change the rule to Trust Me. (We discussed citing support sentences in Chapter 1; if you've forgotten, review Section A.3 in Appendix A.) Notice that the words Trust Me appear in red (if you have a color monitor) to remind you that there is a logical gap at this point in the proof. Check your proof. Hyperproof is very trusting: it accepts any use of Trust Me. 3. Now add a step and type the sentence Larger(c, d). Can you see why this is a consequence of the given? Cite a single sentence from which this sentence follows and use Trust Me. Check your proof. 4. Finally, add a step for the sentence LeftOf (c, a). Notice that this sentence does not follow from the given sentences alone or from the given situation alone (since a might be the same block as c, for all you can tell from the situation). It does, however, follow from the situation together with one of the sentences. Cite this sentence and change the rule to Trust Me. Check your proof and goals. They should all check out, but the checkmarks will be red, indicating that you have used Trust Me. 5. Save your solution as Trust Me Solution.
It is important to understand that Trust Me is not an official rule of the Hyperproof system. The only real difference between using Trust Me and leaving the rule unspecified is that Hyperproof will (begrudgingly) accept steps justified with Trust Me when checking goals. This gives you a handy way to see whether you understand roughly how the goal is to be satisfied, even when you do not know how to fill in the missing steps. But if you "prove" something using Trust Me, it's not really proven, and this is indicated by the fact that the checkmark under the goal shows up in red. Before going on to other rules, there is a third type of goal that we need to explain. Open question goals The goals that we have looked at so far either ask us to prove that a particular sentence follows from the given information or to prove that it does not. But in ordinary reasoning, it is rare to know in advance whether something follows from the information at hand. After all, if we already knew, there would hardly be any point to the reasoning, though there might be some point in constructing a proof to convince somebody else. In Hyperproof there is a third type of sentence goal, which we call an "open question" goal. In such a goal, you are given a target sentence and asked to determine whether the sentence follows from the given. If it is a consequence, you will need to construct a proof of this. Similarly, if it is not a consequence, you will have to prove this. In other words, you satisfy an open question goal in the same way that you satisfy a consequence or
36
Proofs of Consequence and Nonconsequence
nonconsequence goal. The difference is that you don't know in advance which of these it will be.
1. Open the file Open Question Practice. This problem has two open question goals. In satisfying one, we will give a proof of consequence; in the other, a proof of nonconsequenc. It's up to us to figure out which goal goes which way. 2. The target sentence for the first goal is -
As you saw, when you satisfy an open question goal, you get more than a simple checkmark. You also get a small "yes" or "no" beside the check. These indicate the answer to the goal's question: Is the sentence a consequence of the given? Yes, it is; or no, it's not.
Sentence goals
37
These sometimes confuse students, who think the "no" means they haven't satisfied the goal. It doesn't: it means that the goal has been satisfied, with a proof that no, the sentence is not a consequence of the given. Summary of sentence goals Here is a summary of the sentence goals, and the icons used to represent them. Read over the summary to make sure you understand how they work. I
=
Prove the sentence. This goal asks you to prove that a specified sentence follows from the given information. To see the sentence in question, click once on the goal icon and the sentence will appear in the status bar. The goal is satisfied in a proof if the sentence in question appears at some step in the main proof (i.e., not in a subproof).
X
Show that the sentence does not follow. This goal asks you to show that a specified sentence is not a consequence of the given information. To see the sentence in question, click once on the goal icon and the sentence will appear in the status bar. To satisfy this goal, construct a subproof in which CTA checks out and which contains an Observe step with the negation of the specified sentence.
7
Does the sentence follow? This goal asks you to determine whether a specified sentence follows from the given information. To see the sentence in question, click once on the goal icon and the sentence will appear in the status bar. To satisfy this goal, you must either show that the sentence follows from the given information (that is, satisfy the first "sentence" goal above) or show that the sentence does not follow (that is, satisfy the second "sentence" goal). It's up to you to figure out which.
1=
Strategy and tactics In the exercises that follow, you will be asked to satisfy all three types of goals. Before you tackle the problems, though, there are a few handy pieces of advice that we can give you. The first piece of advice applies to all problem solving, and so to all the Hyperproof problems that you will be working, regardless of the goals or rules you use: you must know what your problem is before you can solve it. What this means is that the first thing you should do when you start a problem is examine the goals one at a time. Make sure you know what each goal means, and how to satisfy that type of goal. Then compare the goal with the given information, noting all of the potentially relevant features of the given. For example, if the goal involves the sentence Cube(c), check to see whether the name c appears in the situation and note what is said about c in the given sentences. The second thing you should do is read each of the given sentences carefully, assessing what they tell you about the situation in light of the goals of the problem. If the problem has several goals, concentrate
38
Proofs of Consequence and Nonconsequence
on the one that seems most manageable, regardless of whether it is the first goal or one of the others. Having done this, you are ready to get to work. If the goal you have chosen is a nonconsequence goal, your aim will be to build an assumed situation in which the given sentences are true and the goal sentence is false. A good tactic for approaching this kind of problem is to start the required subproof, but before modifying the situation, add the necessary CTA and Observe steps to the subproof, entering the negated goal sentence into the latter. This way, when you build the assumed situation, you can easily check to see whether you've succeeded by choosing Check Proof. If your Observe and CTA steps check out, so should the nonconsequence goal. As we said before, we can't give you any interesting consequence goals until we have some additional rules. In the following problems, when the goal is a consequence goal the solution will be pretty apparent. These goals won't always be this easy to satisfy. We will have more to say about strategy as we get more rules to use. An open question goal creates an interesting strategic dilemma, since the tactics used to solve the problem vary depending on which of the two forms the solution takes. In some cases, your initial study of the problem will make it clear which way the solution lies. But in other cases, you won't be able to tell whether the solution is a proof of consequence or a proof of nonconsequence without doing some exploratory work. Here the best strategy is often to assume that the goal sentence does not follow from the given and accordingly to try building a situation that shows this. In trying to build such a situation, you may well come to discover that you can't, and this may point the way to a proof that the sentence is indeed a consequence of the given. You should not look at the initial exploration as a waste of time, but as an important part of the problem solving process. After you have satisfied your initial goal, you should examine any remaining goals. It may be possible to satisfy another goal with just minor changes to the proof you already have. For example, sometimes two nonconsequence goals can be satisfied with a single subproof; other times, of course, you will need to build separate situations. In any event, you will often find that in satisfying the first goal, you have gained added insight into the problem, making the subsequent goals easier to attack. Exercises The format we use in presenting exercises is designed to provide a lot of information at a single glance. We begin by indicating the file that contains the problem to be solved and the name under which the solution should be saved. As soon as you start working on the problem, you should save it under the indicated name. As with any computer program, you should save your work frequently. When you save your final solution, make sure you have checked the goals. Then, if you have successfully completed the problem, each goal in the saved file will have a check under it, making it easy for you and your instructor to see that you have finished the problem. This is especially important if your instructor is using the automatic grading facility.
Sentence goals 39
To make it easy for instructors to assign appropriate exercises, we classify the exercises in two ways. First, we indicate which earlier chapters are presupposed by the problem; since the current chapter is always presupposed, we do not list it explicitly. Second, we rank each problem according to its difficulty. The exercises are ranked from * to * * * * *; the easiest problems are given a rank of one star, the hardest five stars. Three stars is about average. Finally, we indicate which logical operators are used in the problem, for those users who have not yet mastered the entire language. If we list Vor 3, we assume familiarity with all of the propositional operators. If we list 32", we assume familiarity with the standard quantifiers as well. We have included solutions to some of the exercises in a special folder on the Hyperproof disk, called Selected Sol utions. These exercises are indicated by a dagger (t), as in exercise 2 below. When you are assigned one of these exercises, you should try to do it on your own, only consulting the provided solution if you are really stuck. Even if you need to consult the solution file, don't just copy the file and turn it in: you won't learn anything that way. Consult the file, see if you can understand the solution, and then do it yourself in a proof of your own. Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Observe Solution, Assume Solution, Nonconsequence Solution, Consequence Solution, Trust Me Solution, and Open Question Solution. Exerciset 2 Open File: Save As:
Proof 2.02 Proof 2.02 Solution
PrereqiDifficulty: Chaps 1/* Operators Used: -, V
This problem has two goals. The first is to show that Dodec(d) is not a consequence of the given information; the second is to show that Cube(a) V Happy(a) is. Exercise 3 Open File:
Proof 2.03
PrereqiDifficulty: Chaps 1/**
Save As:
Proof 2.03 Solution
OperatorsUsed:
I, V, A
This problem stresses the difference between the negation of a conjunction and the conjunction of negations. Exercise 4 Open File:
Proof 2.04
Prereq/Difficulty: Chaps 1/* *
Save As:
Proof 2.04 Solution
OperatorsUsed:
-', V, A
Here you are asked whether two sentences follow from the given information. One does and one does not. At this point, you will have to use Trust Me to "prove" the one that does follow.
40
Proofs of Consequence and Nonconsequence
Exerciset 5 Open File: Save As:
Proof 2.05 Proof 2.05 Solution
PlrereqiDifficulty: Chaps 1/* * * OperatorsUsed:
-, V, A
Here you are asked to show that Larger(a, b) does not follow from the given information. At first sight, you may think that it does. Exercise 6 (Affirming the consequent) Open File: Save As:
Proof 2.06 Proof 2.06 Solution
Prereq/Difficulty: Chaps 1/* * Operators Used: -1, A, -
Affirming the consequent is the name of the fallacy in which you infer the antecedent of a conditional from the truth of the conditional and the truth of its consequent. Your goal is to show that this inference is fallacious.
Exercise 7 Open File: Save As:
Proof 2.07 Proof 2.07 Solution
PrereqiDifficulty: Chaps 1/* * OperatorsUsed: 3, V
This problem shows that you cannot freely switch the order of quantifiers.
Exerciset 8 Open File: Save As:
Proof 2.08 Proof 2.08 Solution
lPrereqlDifficulty: Chaps 1/* * Operators Used: 3>n
This problem checks whether you understand the numerical quantifier
3>2.
Exercise 9 Open File: Save As:
Proof 2.09 Proof 2.09 Solution
PrereqiDifficulty: Chaps 1/* * * OperatorsUsed:
-, V, A,
,
Because there are several given sentences, you are going to have to work a bit harder to construct a situation where all the givens are true.
Exercise 10 Open File: Save As:
Proof 2.10 Proof 2.10 Solution
PrereqiDifficulty: Chaps 1/* * * Operators Used: -, VI A, -4,4-4
This problem has two consequence goals, neither of which you will be able to solve using the rules available at this point. Open the file and convince yourself that the target sentences indeed follow from the given information. Then sketch a proof using Trust Me. Your instructor will grade this by checking whether you have cited the appropriate sentences, and only those sentences, in support.
Sentence goals 41
Exercise 11 Open File: Save As:
Proof 2.11 Proof 2.11 Solution
PrereqiDifficulty: Chaps 1/* * OperatorsUsed: 3>n
This problem checks whether you understand the numerical quantifiers
3>3
*
and 3>4 .
Exercise 12 Open File: Save As:
Proof 2.12 Proof 2.12 Solution
Prereq/Difficulty: Chaps 1/* * Operators Used: -, V, -*
**
This problem makes a very important point. See if you can figure out what it is. [Hint: -iCube(a) V Cube(c) follows from the given information; see Exercise 5 in Chapter 3.] Exercise 13 The forms of reasoning used in Hyperproof are ubiquitous in real life. Once you get to know them well, you should notice them all the time. For example, if you were working with an architect designing a new house, the architect might say "Let's see what would happen if we put the fireplace here," and sketch in the fireplace. You might then discover that you would not be able to see it from the kitchen and so reject that location. This is a simple piece of hypothetical reasoning, the kind that in Hyperproof would use the Assume rule. Find some other actual examples of hypothetical reasoning. Try to find some that seem valid-that is, logically correct-and some that seem invalid. Exercise 14 In Hyperproof the situation plays a crucial role in proofs of nonconsequence. What allows it to play this role is the fact that every situation is guaranteed to depict a genuine possibility. Because of this, if you can build a situation that verifies the given information but falsifies the purported conclusion, you have proven that the latter does not follow from the former. In real life reasoning, other forms of representation can play this same role. For instance, in our example on page 24 the defense attorney vividly described a set of circumstances that was clearly possible. These circumstances verified the given information (the prosecutor's evidence) while falsifying the purported conclusion (that her client was not at home on the evening in question). Thus the attorney's vivid description played the role of the situation in her proof of nonconsequence. Give an example of an everyday proof of nonconsequence. In your example, what is playing the role of the situation? What is the given information and what is the purported conclusion?
A'
S
Sentential Consequence Rules
So far we have been hampered by the lack of any rules that let us extract information from the given sentences. In this chapter, we begin to remedy this defect by introducing three increasingly powerful rules for deriving new sentences from sentences already established. We call these the rules of Tautological Consequence, Logical Consequence, and Analytic Consequence. All of these rules are quite powerful--so powerful that they license inference steps that can sometimes be difficult to follow. Because of this, in Chapters 8 and 9 we will introduce a collection of simpler rules that allow us to give more detailed proofs of the same inferences. Still, in spite of their power there are some ways in which even these rules fall short. In particular, they are of no help in cases where we need to modify the situation on the basis of sentential information. In Chapters 5 and 6, we look at rules that allow us to pass information more freely between the sentences and the situation.
3.1
Tautological Consequence
All three of our sentential consequence rules allow us to infer certain sentences directly from other sentences, but they are applicable in somewhat different circumstances. Intuitively, the first rule, Tautological Consequence (Taut Con), can be applied if the sentence to be proven follows from the sentences cited solely in view of the meanings of the five propositional operators:
-,
V, A,
-A,
and A.
To understand the rule, we need to make this
intuition more precise. Let's consider an example. In the file Trust Me, Please, you were asked to prove the sentence -Tet(b), and among the givens were the sentences Tet(a) and -,Tet(a) V -Tet(b). Clearly, the desired sentence follows from these two, since there is no way these given sentences could be true if the target sentence were false. What's more, this holds simply
42
TautologicalConsequence 43
due to the meanings of - and V, plus the pattern of occurrence of the atomic sentences. The meanings of the atomic sentences Tet(a) and Tet(b) don't really come into play in this inference. Thus, for example, the sentence -Between(a, b, c) follows from the sentences Larger(c, d) and -Larger(c, d) V -Between(a, b, c), and for exactly the same reasons. Indeed any sentence of the form -,A follows logically from sentences of the form B and -B V -A. It doesn't matter what the sentences A and B are: they might even be complex sentences containing quantifiers and other connectives. In these examples, the sentence inferred is a tautological consequence of the pair of sentences used to justify the inference. The Taut Con rule can be applied whenever the sentence inferred is either a tautology or a tautological consequence of the sentences cited. To understand what this means, let's review these notions. A sentence is a tautology if, when you construct a truth table for the sentence, the final column (the one under the main connective) contains only the value T. Let's first look at a sentence that is not a tautology. Consider the truth table below for a sentence of the form (A A B) V -C. A T T T T F F F F
B T T F F T T F F
C T F T F T F T F
(AA B) T T F F F F F F
V T T F T F T F T
-C F T F T F T F T
In this truth table, A, B, and C stand for sentences of our language that cannot be further decomposed in terms of the propositional operators alone. In other words, they stand for sentences that are either atomic or begin with one of the quantifiers. In building the table, we first listed all possible combinations of truth values for A, B, and C. Next we filled in the columns under (A A B) and -C, since these could be determined by referring to the values assigned to A, B, and C using the truth tables for A and -. Finally, we filled in the column under the main connective V by referring to the previously constructed columns and using the truth table for V. (We have indicated this column in boldface, to make it stand out from the rest.) To see whether this sentence is a tautology, we check in this final column to see if all its values are T. Since they aren't, the sentence is not a tautology. By contrast, the truth table for the sentence A -* ((B V C) -d A), given below, shows that this sentence is indeed a tautology, since the final column, shown in bold, contains only the value T.
44
Sentential Consequence Rules
A --+ ((B V C) -D A)
A -Y T
B
C
T
T
T
T
T F F T T F F
F T F T F T F
T T T T T T T
T F F F F
T T T F T T T F
T T T T F F F T
Any sentence that is a tautology can be asserted at any step of a proof by means of the rule Taut Con. In this case, the step does not require that any sentences be cited in support.
1. Open the file Taut Con Practice 1. This proof contains five purported applications of Taut Con. As you can see, the first of these is A
--
((B V C)
-
A),
for which we constructed the last truth table. The remaining four sentences all have exactly the same form and so are all tautologies, as was shown by the truth table. 2. Focus on each of the sentences in turn and hit Enter to see if the step checks out. Pay particular attention to the fourth and fifth sentences where some of the constituent sentences begin with quantifiers. (If you have not yet learned what the quantifiers mean, don't let that worry you. Just see if you can get the basic point.) Make sure you understand why these steps check out. 3. When you have checked all five sentences, focus on the last one and add a new step. This time, we want you to enter the sentence and specify the rule. Enter the sentence: Happy(a)
-
((Happy(b) V Happy(c))
-
Happy(a))
Then click down on Rule? When the popup menu appears, move the mouse cursor over the item Con. When you do this, a second popup menu will appear. You should then choose Taut from this new menu. Do not release the mouse button until Taut is highlighted. Finally, hit Enter to check that your step is correct. 4. When you are finished, there is no need to save the changes you've made.
Tautological Consequence 45
In these examples, all of your applications of Taut Con checked out. When an application fails to check out, Hyperproof helps you figure out why. Let's look at a few examples of incorrect uses of Taut Con to see how this works.
1. Open the file Taut Con Practice 2. Noticethatthe first sentence, (A A B) V -C, is the same one we constructed a truth table for on page 43. As we saw there, this is not a tautology, so the application of Taut Con should not check out. Focus on the step and hit Enter. 2. While still focused on this step, look down at the status bar. It will say that an alternate truth assignment was found and give you the option of showing the assignment. Click on the Show It button. In the window that appears, you will see a truth assignment: F F T
A B C
3. Turn to the truth table on page 43 and examine the row in which A and B are assigned the value F, and C is assigned the value T. Sure enough, this is one of the rows in which (A A B) V -C comes out false. Sometimes Hyperproof will not give you a complete assignment like this, especially when there are a lot of atomic sentences involved. In these cases it may leave out truth values for sentences whose values don't matter to the alternate truth assignment. For instance, in the above example the assignment to B could have been left out, since the original sentence would still be false if B were assigned T. 4. Focus on the next four sentences in turn and see whether they check out. Since they all have the same form as the first, they shouldn't. Examine the truth assignments Hyperproof gives you. Pay particular attention to the sentence (a = a A b = b) V -c = c. This sentence is logically true (it can't possibly be false, thanks to the first disjunct), but it is still not a valid application of the rule Taut Con. This shows that not all logical truths are tautologies. When you show the truth assignment that Hyperproof gives you, you will see that it assigns the value F to the sentences a = a and b = b, even though these sentences can't be false given the meaning of =. 5. Next, look at the last two steps in the proof. Try to predict whether Taut Con will check out in each case. Then hit Enter and see if your predictions were
46
Sentential ConsequenceRules right. To understand what happens, note that the first of these has a quantifier as its main operator. Taut Con does not look inside quantified sentences at all, but simply treats them as if they were atomic. By contrast, the second is of the tautological form A V -A, where A is a quantified sentence. 6. When you are finished, don't bother to save the changes to the file.
You actually won't find yourself using Taut Con to infer a tautology very often. The real power of the rule is that it lets you assert any sentence that is a "tautological consequence" of the sentences cited in support. Suppose we have some sentences P 1, . ., Pn and a purported conclusion S. Then we say that S is a tautological consequence of PI, .. . , P, if, when you construct a truth table for all of the sentences, you find that every row that makes PI, . .. , P. all true also makes S true. Another way of putting this is that S is a tautological consequence of PI,... P, R if and only if a truth table for the conditional sentence
(PI A... ,\P,,) -S shows it to be a tautology. In other words, the final column of the truth table, under the A, contains only the value T. In applying Taut Con, you can cite as many sentences as needed. Hyperproof will accept the application if the sentence asserted is indeed a tautological consequence of the sentences cited. Let's look at an example. Suppose we wanted to apply Taut Con to conclude some sentence A, based on two sentences of the forms A +-* -C and -D A -C. Our application of Taut Con would look like the following proof. (We use rectangles to indicate the support sentences, where Hyperproof uses highlighting.)
L
* A
Given -C|
Given
* -~DA-~C
Given
*A
Taut Con
Is this a valid application of Taut Con? To see, we need to determine whether A is a tautological consequence of the cited sentences. Below, we have constructed a truth table for these three sentences. There is only one row in which the cited sentences are both true, namely the fourth. Since A is also true in this row, it is indeed a tautological consequence of the other two sentences.
Tautological Consequence 47
A T T T T F F F F
C T T F F T T F F
D
T F T F T F T F
(A +-+-C) F F F F T T T T T F T F F T F T
(-DAA-C) F T F T F T F T
F F F T F F F T
F F T T F F T T
A T T T T F F F F
1. Open the file Taut Con Practice 3. You will find four givens, and a claim that Happy(b) follows by Taut Con. Figure out which pair or pairs of sentences can be cited in support of this claim. They have the same general form as in the previous discussion. 2. Once you have decided which pair you think is the right answer, cite them in support of the Taut Con step and hit Enter. Were you right in yourjudgment? If not, you should construct a truth table to convince yourself that the conclusion is not a tautological consequence of the pair you cited. What happens if you cite extra premises? Why? 3. When you are finished, save the file as Taut Con Solution.
Constructing truth tables is a mechanical procedure for determining tautological consequence, one that is guaranteed to work. In practice, though, it can be extremely time consuming, even for a computer. Because of this, the algorithm Hyperproof uses to verify Taut Con does not use truth tables, but rather a method that is typically much faster. Still, the Taut Con rule will sometimes take a long time to check out. When it looks like it may take a while to check an application, Hyperproof will put up a window indicating the status of the check, giving you the option of canceling if it takes too long.
1. Open the file Slow Con. Here you will find five given sentences from which you are asked to prove the sentence: (Tet(b) +-+Tet(c)) A (Small(b) +-*Small(c)) A (Happy(b) - Happy(c))
48
Sentential Consequence Rules
In the first application of Taut Con, we have inferred the first conjunct of our goal sentence from three of the given sentences. Focus on this step and hit Enter. The step should check out almost instantaneously. 2. Next, focus on the second use of Taut Con and see if you can get the step to check out. This step is more complicated and it will take Hyperproof a while to recognize that it is correct. How long you have to wait depends on the speed of the Macintosh you are using. 3. After you get a check on the second step, try entering the third step. Here we have tried to infer the entire goal sentence by citing all of the given sentences. This time, we doubt you will want to wait for Hyperproof to recognize the validity of the step. Go ahead and cancel the check when you get tired of waiting. 4. Given the time it takes to check these various steps, how would you go about proving the goal sentence from these givens? Delete the last two steps of this proof and see if you can construct a simple proof that Hyperproof checks without difficulty. As a hint, we suggest you enter two more steps like the first one, and then conclude by conjoining those three steps using Taut Con. 5. When you find a proof that checks out quickly, save it as Slow Con Solution.
Most applications of Taut Con that arise naturally check out more or less instantaneously. But there is an important lesson to be learned in the above example: when you come across one that does not, you can often make the process faster by taking smaller inference steps, replacing a single application of Taut Con with several that check out more quickly. Exercises Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Taut Con Solution and Slow Con Solution. Exercise 2 Open File: Save As:
Trust Me Solution
Proof 3.02 Solution
PrereqiDifficulty: Chaps 1, 2/*** OperatorsUsed: -I, V, A
Open the file Trust Me Solution that we asked you to create in Chapter 2, page 35. Change the rules in each of your steps from Trust Me to Taut Con and see which of them check out. Then, on paper, construct truth tables showing that each target sentence either is or is not a tautological consequence of the sentences cited in support.
Tautological Consequence 49
Exercise 3 Open File: Save As:
Proof 3.03 Proof 3.03 Solution
PrereqiDifficulty: Chaps 1, 2/* Operators Used:
-a, V
Here you are asked whether Large(b) follows from the given sentence. If not, show that it does not. If so, prove it using Taut Con. Exercise 4 Open File: Save As:
Proof 3.04 Proof 3.04 Solution
PrereqIDifficulty: Chaps 1, 2/* * Operators Used:
-,
V, A
Here you are asked whether -'Large(e) follows from the given sentence. If not, show that it does not. If so, prove it using Taut Con. Exerciset 5 Open File: Save As:
Proof 3.05 Proof 3.05 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: -, V, -*
In Chapter 2, Exercise 12, you solved the first two goals of this problem. Now there is another goal. Exercise 6 Open File: Save As:
Proof 3.06 Proof 3.06 Solution
PrereqiDifficulty: Chaps 1, 2/* * Operators Used: -, A, V, -
In this file, you will find three consequence goals. All three of the target sentences follow from the given sentences, but only one is a tautological consequence of these sentences. Prove all three, using Taut Con where it works and Trust Me otherwise. Exercise 7 Open File: Save As:
Proof 3.07 Proof 3.07 Solution
PrereqiDifficulty: Chaps 1, 2/* * Operators Used: -,
-,
+-+
Here you are asked whether a particular sentence follows from the given. If it does, prove that it follows, making free use of Taut Con. If it does not, find a situation that makes the given sentences true and the target sentence false. Exerciset 8 Open File: Save As:
Proof 3.08 Proof 3.08 Solution
PrereqiDifficulty: Chaps 1, 2/* * Operators Used: -, A, VI, -
Here you are asked whether two sentences follow from the given. In each case, if the sentence follows, you should be able to prove it by means of a single application of Taut Con. But if it doesn't, find a situation that makes the given sentences true and the target sentence false.
50
Sentential Consequence Rules
Exercise 9 Open File: SaveAs:
Proof 3.09 Proof 3.09 Solution
Prereq/Difficulty: Chaps 1,2/*** OperatorsUsed: -, V, A,
Here you are asked whether two sentences follow from the given. This time, you should not cite more than two support steps for any application of Taut Con. Exercise 10 (DeMorgan and second cousins) Open File: Save As:
Proof 3.10 Proof 3.10 Solution
Prereq/Difficulty: Chaps 1, 2/*** Operators Used: A, V, -, -
Here you have no given sentences, but are asked whether various biconditionals follow from the given. Note that even if there are no given sentences, a CTA must be used to show that a sentence is not a consequence of the given information. Exerciset 11 Open File: SaveAs:
Proof 3.11 Proof 3.11 Solution
Prereq/Difficulty: Chaps 1,2/*** OperatorsUsed: A, V, -, -, a-,
In this problem you are asked to prove A e-* S from the given sentences. You could do this with a single application of Taut Con, though it would take a long time to check out. Instead, construct a proof consisting of a sequence of Taut Con steps, each of which cites no more than two supporting sentences and checks out relatively quickly. Exercise 12 (Associating arrows) Open File: Save As:
Proof 3.12 Proof 3.12 Solution
PrereqiDifficulty: Chaps 1, 2/**** OperatorsUsed: -, -a, +-+
Here you have no given sentences, but are asked whether a biconditional follows from the given. If it does, you should be able to prove it using Taut Con without citing any support. But if not, find a situation that makes the target sentence false.
3.2
Logical Consequence
If you have not learned about quantifiers yet from Tarski's World, you should skip this section and come back to it later. We have seen several examples of sentences that could not be inferred from other sentences using Taut Con but nonetheless followed logically from those sentences. To take a simple example, the sentence Tet(c) obviously follows from the sentences Tet(a) and a = c, though not tautologically. To the rule Taut Con, these look like three unrelated atomic sentences, no more a valid application than the inference of Tet(c) from Tet(a) and SameRow(a, c).
Logical Consequence 51
To take an example using quantifiers, consider the inference from Vx (Cube(x)
--
Happy(x))
and -Happy(b) to -Cube(b). Again, this is a valid inference, but the conclusion is not a tautological consequence of the supporting sentences. Since Taut Con does not understand the quantifiers, it simply treats the first of these sentences as if it were an atomic sentence, unrelated to the other two sentences. The Logical Consequence rule (Log Con) is an extension of Taut Con that takes into account the meanings of the quantifiers and the identity predicate (=), in addition to the propositional operators, but ignores the meanings of the other predicates. Thus the inference from Tet(a) and a = c to Tet(c) is a valid application of Log Con, since it does not depend on the meaning of the predicate Tet. Similarly, the inference from Vx (Cube(x) -+ Happy(x)) and -Happy(b) to -Cube(b) is a legitimate application of the rule, since it does not depend on the specific meanings of Cube and Happy. In contrast, the inference from SameCol(a, b) to SameCol(b, a) is not a legitimate application of Log Con, since this inference, though valid, depends on the specific meaning of the predicate SameCol. To see this, note that the analogous inference from LeftOf (a, b) to LeftOf(b, a) is anything but logically valid. Recognizing when a sentence is a logical consequence of others is not as routine as with tautological consequence. In fact, there is no correct and mechanical procedure, like truth tables, that always answers the question is Q a logical consequence of P? But there are procedures, like the one built into Hyperproof, that do a pretty good job. In checking applications of Log Con, Hyperproof will never give you the wrong answer, though sometimes it will get stuck, unable to give you any answer at all. How should you judge whether a sentence is a logical consequence of another sentence? Unfortunately, it is no easier for you than for the computer. But here is an informal test that clarifies the basic idea, and should enable you to use the rule effectively. First, systematically replace all of the predicates, other than identity, with meaningless predicates, making sure that any time a predicate appears more than once, you replace all instances of it with the same meaningless predicate. Then, ask yourself whether it is possible, regardless of what meanings might be given to the new predicates, for the concluding sentence to be false while all the other sentences are true. If not, the original inference counts as a legitimate application of Log Con. Let's apply this test to the three examples given above. When we replace Tet in our first example with, say, Brillig, the result is an inference from Brillig(a) and a = c to Brillig(c).
52
Sentential ConsequenceRules
Here we can see that, no matter what property Brillig may express, if the object named a has that property, and if this is the same object that is named c, then the object named c has that property. Consequently, the original inference is valid and does not depend on the meaning of the predicate Tet. Thus it counts as a legitimate use of Log Con. In the second example, we need to replace both the predicates Cube and Happy, say with Tove and Slithy. The result is an inference from Vx (Tove(x) -4 Slithy(x)) and -Slithy(b) to -Tove(b). Again, it is easy to see that if all the toves, whatever they may be, are slithy, whatever that may mean, and if b is not slithy, then it can't possibly be a tove. So again, we have a legitimate application of Log Con. In our final example, we inferred Same(,ol(b, a) from the sentence SameCol(a, b). Performing our substitution, we might get the sentences Outgra be(b, a) and O utgra be(a, b). Clearly, if Outgrabe meant something like LeftOf or Likes, then a could bear this relation to b without b bearing it to a. Thus this would not be a correct application of Log Con, even though the original inference is logically correct.
1. Open the file Log Con Practice 1. Here you are asked to prove each of the sentences from our three examples. Try inferring each of them using Log Con, citing only those sentences that are needed for your inference. One of them, of course, will fail. Change the rule for this step to Trust Me and check the goals. 2. Save your proof as Log Con Solution.
When Hyperproof checks an application of Log Con, it does something much like what you do when you try to give a proof of nonconsequence. In checking a Log Con step, Hyperproof looks for a situation that makes the support sentences true and the desired conclusion false. But its search for the situation is less constrained than your search in a proof of nonconsequence, in two ways. For one thing, Hyperproof does not worry about whether the situation it finds extends the given situation. After all, if it can find any situation
Logical Consequence 53
in which the support sentences are true and the conclusion false, that is enough to show that the latter is not a logical consequence of the former. Second, it does not pay attention to the meanings of the predicates (other than =) that appear in the sentences. It treats them all as denoting arbitrary properties or relations that hold among the objects in the situation. For example, when you claim that SameCol(b, a) follows from SameCol(a, b) by Log Con, Hyperproof sees if it can find any situation in which this fails, ignoring the meaning of SameCol. And of course it easily finds such a situation: suppose there are two objects, a and b, and the relation denoted by SameCol holds between a and b but not between b and a. In such a situation, SameCol(a, b) would be true and SameCol(b, a) would be false. Of course, this is not really a situation, in our sense, since the real meaning of SameCol rules out this possibility. In modern logic, this is what is known as a "model." Roughly speaking, a model is like a situation except there are no constraints on the interpretations of predicates like SarmeCol. Just as Taut Con can be used to assert tautologies, without citing any support sentences, so too Log Con can be used to assert logically true sentences at any point in your proof. What we mean here by a logically true sentence is a sentence that can't possibly be false, even if you ignore the meanings of the predicates other than identity. To show that a sentence is a logical truth using Log Con simply enter the sentence, specify Log Con as the rule, and then hit Enter without citing any support.
1. Open the file Log Con Practice 2. Here you will find the same steps that were in Taut Con Practice 2, most of which did not check out. 2. For each step in turn, change the rule from Taut Con to Log Con, try to predict whether the step will check out using the stronger rule, and then hit Enter. You should find that two of the steps that did not check out using Taut Con do check out using Log Con. 3. Notice that the last step still checks out. Since Log Con is an extension of Taut Con, any valid application of the latter is also a valid application of the former. 4. There is no need to save your proof.
A word is in order about why we call this rule Logical Consequence. It has been a tradition in logic to consider languages in which the predicates (other than identity) were treated as meaningless or uninterpreted. Thus, although meaningful predicates can give rise to many logically correct inferences (just as the identity predicate does), these sorts of
54
Sentential Consequence Rules
inferences have not traditionally been considered in logic. Our use of the name Logical Consequence for our rule simply reflects this tradition. Strategy and tactics Log Con is an extension of the rule Taut Con, and so in theory will accept any inference accepted by Taut Con. But the increasing strength comes at a price. An inference easily accepted by Taut Con may take much longer to check out if you use Log Con instead. The basic reason for this is that as soon as you pay attention to the meanings of quantified sentences, there are far more possibilities that Hyperproof has to consider. For this reason, you should always choose Taut Con over Log Con when the weaker rule suffices. Here is a simple example that illustrates this point.
1. Open the file Strategy Practice. Here we have a single given sentence and a single sentence inferred from it by Taut Con. Check this proof to see that the Taut Con step checks out. 2. Now focus on the Taut Con step and change the rule to Log Con. Hit Enter to see if Hyperproof can check this step. Although it is a correct application of Log Con, it will take Hyperproof a very long time to discover this. You will probably want to cancel the check. 3. There is no need to save changes to this file.
Exercises Exercise 13 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Log Con Solution. Exercise 14 Open File: Save As:
Proof 3.14 Proof 3.14 Solution
PrereqiDifficulty: Chaps 1, 2/** OperatorsUsed: , -,
In this file you are asked whether a $ b follows from the given information. If it does, you should be able to infer it using Log Con and the other rules at your disposal. If not, you will have to prove that it does not follow. 'Readers of our textbook The Language of First-orderLogic should note that in that book we use the term logical consequence for a stronger notion than the one described above. There, we use the term for what we are calling here analytic consequence, a notion we will turn to in the next section. Similarly, the notion of logical truth used here is more restrictive than the notion used in The Language of First-orderLogic, and is more in keeping with traditional usage. What we there call logical truth we here call analytic truth.
Logical Consequence 55 Exercise 15 Open File: Save As:
Proof 3.15 Proof 3.15 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: V
*
This problem is the same as the last one except there is more information in the situation. Now you must find a proof of consequence. Your proof will use Log Con, but don't forget the other rules that you have learned. You will need one of them. Exercise 16 (Universals and disjunction 1) Open File: Save As:
Proof 3.16 Proof 3.16 Solution
Prereq/Difficulty: Chaps 1, 2/* * Operators Used: V
This problem and the next explore the relations between the universal quantifier and disjunction. Exercise 17 (Universals and disjunction 2) Open File: Save As:
Proof 3.17 Proof 3.17 Solution
PrereqiDifficulty: Chaps 1, 2/* * Operators Used: V
Exercise 18 (Existentials and conjunction 1) Open File: Save As:
Proof 3.18 Proof 3.18 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: 3
This problem and the next explore the relations between the existential quantifier and conjunction. Exercise 19 (Existentials and conjunction 2) Open File: Save As:
Proof 3.19 Proof 3.19 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: 3
Exercise 20 (Existentials and negation 1) Open File: Save As:
Proof 3.20 Proof 3.20 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: 3
This problem and the next explore the relations between the existential quantifier and negation. Exercise 21 (Existentials and negation 2) Open File: Save As:
Proof 3.21 Proof 3.21 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: 3, V
56
Sentential Consequence Rules
Exerciset 22 (Name that rule) Open File: Save As:
Proof 3.22 Proof 3.22 Solution
PrereqiDifficulty: Chaps 1, 2/** Operators Used: 3, V
In this file, we have constructed a proof of the target sentence. But we neglected to specify the rules we used or the sentences needed in support. Finish up the proof. Exercise 23 (The right wing cube) Open File: Save As:
Proof 3.23 Proof 3.23 Solution
Prereq/Difficulty: Chaps 1, 2/*** 3, V OperatorsUsed:
In this file, you must construct a proof of a sentence. You should be able to do this using only Observe, Taut Con, and Log Con. Of course, since Log Con is an extension of Taut Con, you could do without the latter, but it's not a good idea to use the stronger rule when the weaker one will do. Exercise 24 Open File: Save As:
Proof 3.24 Proof 3.24 Solution
Prereq/Difficulty: Chaps 1, 2/*** OperatorsUsed: B>n
As you know, 3x By S(x, y) is equivalent to By 3x S(x, y). What happens when the first quantifier is 3> 2?
3.3
Analytic Consequence
In the last section, we discussed inferences that are valid independent of the meanings of the predicates used in the sentences. But some valid inferences depend crucially on the predicates that appear in the sentences. We saw for example that SameCol(b, a) is a consequence of SameCol(a, b). Similarly, the sentence Larger(a, c) follows from Larger(a, b) A Larger(b, c). Neither of these inferences can be derived using either the rule Taut Con or the rule Log Con. The strongest of our three sentential consequence rules is designed to handle this kind of inference. Analytic Consequence (Ana Con) allows you to justify inferences whose validity may depend on any of the constituent expressions contained in the sentences: propositional connectives, quantifiers, or predicates.
1. Open the file Ana Con Practice 1. In this file, you are asked to prove the sentence -Cube(c). Read through the given sentences and see if you understand why the sentence follows.
Analytic Consequence 57
2. The first step in the proof is to notice that a and c must be the same size, thanks to the first given sentence. Add a step and assert SameSize(a, c), using the rule Ana Con. Make sure you cite the first given in support. 3. Next conclude Small(c), again using Ana Con. This time you will cite two steps in support of your claim. 4. Another use of the rule Ana Con will allow you to conclude -'Large(c). 5. -Large(c), together with the third given sentence, yields the goal sentence. In this case, we do not need the full strength of Ana Con: Taut Con will suffice. 6. Check to see that the goal is satisfied, and save yourproof as Ana Con Solution. 7. The first three steps of your proof make crucial use of the meanings of the predicates involved. For instance, your first inference would not be correct if SameSize were replaced by Likes or the nonsense predicate Outgrabe. Consequently, if you change the rule Ana Con to Log Con, the step will no longer check out. Verify this. 8. In contrast, your final step depended only on the meanings of -* and -, which is why you could use Taut Con to justify the inference. Try changing the rule for this step, first to Log Con and then to Ana Con. Since these rules are extensions of Taut Con, the step will still check out. 9. When you are finished, do not save the modified proof.
The Analytic Consequence rule does a bit more than advertised so far. In addition to allowing inferences that follow from the meanings of the predicates, Ana Con also takes into account a variety of constraints on the sorts of worlds permitted by Hyperproof. Thus we can not only infer -Dodec(a) from Tet(a) V Cube(a) using Ana Con-an inference that is clearly justified by the meanings of the predicates Dodec, Tet, and Cube-we can also infer Tet(a) V Cube(a) from -iDodec(a). This second inference is not justified by the meanings of the predicates alone, but also requires the general fact that all blocks in the Hyperproof worlds have one of these three shapes. The Analytic Consequence rule also does a bit less than advertised earlier. In the current version of the program, the rule does not take into account the meanings of the predicates Adjoins or Between. This is not because these predicates do not have precise meanings. For example, Adjoins(b, a) clearly follows from Adjoins(a, b), and Between(b, a, c) clearly follows from Between(b, c, a), even though the current implementation of Ana Con does not recognize such inferences. This shortcoming in the program is due to the complexity of the inferences that result from the interaction of these two predicates with Hyperproof's
58
Sentential Consequence Rules
other spatial predicates. We will discuss this further in Chapter 10, when we delve into the axiomatization of Hyperproof's predicates. As we have noted before, Ana Con is an extension of the rule Log Con, which is in turn an extension of Taut Con. So any inference accepted by either of the earlier rules would in theory be accepted by Ana Con. But remember, the added strength gives rise to inefficiencies. You should always use the weakest rule possible in justifying an inference.
1. Open the file Ana Con Practice 2. This file contains a single sentence. If you look closely, you will see that the sentence is a tautology of the form A +-*A. Specify Taut Con as the rule for this step and hit Enter. As you see, the step checks out instantaneously. 2. Now change the rule to Log Con and hit Enter. The step will again check out, but this time you will have to wait a while; exactly how long will depend on the speed of your computer. 3. Finally, change the rule to Ana Con. What happens now when you try to check out the step? 4. There is no need to save your proof.
Exercises Exercise 25 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Ana Con Solution. Exerciset 26 (Name that rule) Open File: Save As:
Proof 3.26 Proof 3.26 Solution
Prereq/Difficulty: Chaps 1, 2/* OperatorsUsed: -, V
In this file, a proof is already sketched out. All the sentences have been entered along with their supports. What you need to do is specify the rules for the steps. Do not use a stronger rule if a weaker one will suffice. Exercise 27 (Name that rule) Open File: Save As:
Proof 3.27 Proof 3.27 Solution
Prereq/Difficulty: Chaps 1, 2/* Operators Used: V
In this file, a proof is already sketched out. All the sentences have been entered along with their supports. What you need to do is specify the rules for the steps. Do not use a stronger rule if a weaker one will suffice.
Analytic Consequence 59
Exercise 28 (Rules and supports) Open File: Save As:
Proof 3.28 Proof 3.28 Solution
Prereq/Difficulty: Chaps 1, 2/* Operators Used: V
Here we have constructed a proof that a sentence follows from the given, but we did not specify the rules or the supports. Finish the proof using the weakest rule possible for each step. Exercise 29 Open File: Save As:
Proof 3.29 Proof 3.29 Solution
Prereq/Difficulty: Chaps 1, 2/* Operators Used& -,V, A
You should be able to solve this problem with a couple of applications of Ana Con. Exercise 30 Open File: Proof 3.30 Save As: Proof 3.30 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed:
-I,
V, A,
Here you are given the same information as before, but the goals have changed. You will need to observe some information from the situation. Exercise 31 Open File: Save As:
Proof 3.31 Proof 3.31 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: -1,A, -*
Here you are asked to prove that d and e must be distinct blocks. Exercise 32 (Neighbors) Open File: Save As:
Proof 3.32 Proof 3.32 Solution
Prereq/DiJficulty: Chaps 1, 2/* * * Operators Used: -, A, --
This problem involves sentences containing the predicates Adjoins and Between. You are asked to determine whether three sentences are consequences of the given information. As it turns out, only one is a consequence; the other two are not. To prove the one that is a consequence, you will not be able to use Ana Con, since it does not understand the predicate Adjoins. Consequently, you will have to use the rule Trust Me in place of Ana Con. Exercise t 33 (Vacuous quantification) Open File: Save As:
Proof 3.33 Proof 3.33 Solution
PrereqiDifficulty: Chaps 1, 2/* * * Operators Used:
This problem is a little tricky. The title is a hint. Some information in the situation is crucial. Exercise 34 Find three pieces of everyday reasoning in English which, when translated into first-order logic, would be examples of Taut Con, Log Con, and Ana Con, respectively.
Ib *
A
Proofs of Consistency and Inconsistency A common mistake made in ordinary reasoning is to assume that a logically correct inference guarantees that your conclusion is true. Actually, the guarantee provided by an inference, even a logically impeccable one, can be no better than the information on which the reasoning is based. If we are sure that all of the information is true, then logically correct reasoning guarantees the truth of the conclusion. But if any of that information is false, then we have no guarantee whatsoever that the conclusion is true. It might be, but then again it might not. In some cases we can actually prove that the given information is flawed, specifically when that information is inconsistent. Consider, for example, the following proof of the sentence Happy(a). '>
Given
* Tet(a) A Small(a) * -iSmall(a) V (Cube(a) A Happy(a))
Given Given
* Small(a) * Cube(a) A Happy(a) * Happy(a)
Taut Con
Taut Con Taut Con
This proof is logically valid, so it might convince someone of the truth of the conclusion. But it shouldn't. In fact, in helping us determine the truth of Happy(a) it is worthless. The defect is made clear from the following extension of the proof: Given
* Tet(a) A Small(a) m-Small(a) V (Cube(a) A Happy(a))
Given Given
* Small(a) * Cube(a) A Happy(a) . Happy(a) * Cube(a) * -Tet(a) a Tet(a) A -iTet(a)
Taut Con Taut Con
Taut Con Taut Con Ana Con Taut Con 6)
61
*
A~LS 0ASWtiUi; C~gps002s EwmpEes .I. ....
S ...
"'
Of
s
Tet(e) A Smal)l(a) * (Small(a) V Happy(a))
mlEei!
!::S
Gien
Gwen -e
Tet(a)
6ien
/
Small(a) V Happy(a)
'
TautCon
XO
* P Case Closed
/ i
Tout Con Tout COG CIsM
Figure 11: An example of syntactic close This longer proof shows that the information on which the reasoning was based could not possibly be true. If it were, the new conclusion would be true as well. But the new conclusion is a patent contradiction. This shows that the given information contains an implicit contradiction and so could not possibly be accurate. In the above example, we brought out the problem in our original reasoning by proving a contradiction. This technique is often used in courts of law. Suppose a seemingly reliable witness gives testimony from which the defendant's guilt clearly follows. If the defense attorney can show that the testimony is self-contradictory, then conclusions based on it are no longer justified. In cases such as this, where there is no possible way the given information could be true, the information is said to be self-contradictory or inconsistent. By contrast, if there is some way it could be true, we say it is consistent. Hyperproof provides us with tools for proving either consistency or inconsistency of our given information. To prove consistency, we construct a situation in which the given information is true; to prove inconsistency, we find an explicit contradiction. The first of these techniques is similar to proofs of nonconsequence, but a little easier. The second technique requires a new rule, called the Close rule. The Close rule is an enabling rule used to announce that an explicit contradiction has been found at a certain point in the proof. In general, though, finding a contradiction somewhere in a proof doesn't show that the given information by itself is inconsistent. If the contradiction is found within a subproof, then it shows that the given information plus
62
Proofs of Consistency and Inconsistency
any additional assumptions that have been made is inconsistent. Only if the contradiction is found in the main level of the proof does it show that the given information on its own is inconsistent. Versions of the Close rule vary depending on the type of contradiction uncovered. We discuss the two simplest versions in this chapter.
4.1
Syntactic Close
The simplest way to invoke the Close rule is if you can cite a sentence S and its negation -,S. This is called a syntactic close, since whether the rule checks out is entirely determined by the syntactic form of the sentences cited. One has to be exactly the same as the other except for the addition of a negation sign in front (and parentheses, if needed). In Figure 11 we show an example in which this version of the Close rule is illustrated. In this proof, we have shown that the given information is inconsistent by deriving the sentence Tet(a) and its negation. We then invoke the Close rule, citing these two sentences, and the declaration Case Closed appears at that step.
1. Open the file Syntactic Close Example. In this file you will find the given information shown in Figure 11. 2. See if you can reconstruct the whole proof shown in that figure. You will need to figure out what sentences to cite for each use of Taut Con. On the first and third use of Taut Con, you should only cite one sentence; on the second use, you will need to cite two. 3. When you have reconstructed the proof. save it as Syntactic Close Solution.
Let's look at an example of syntactic close where the contradiction occurs within a subproof. In Figure 12 we show a proof in which the large unknown block has been assumed to be the tetrahedron named b mentioned in the second given sentence. On the basis of this assumption, we have observed that a is not a dodecahedron. But this contradicts the first premise and so we have invoked the Close rule to make this contradiction explicit.
1. Open the file Syntactic Close Example 2. Let's create the subproof shown in Figure 12.
Syntactic Close 63
Salinstatt oe Ilinempnla 2ii
AS;r~R A;;; ~ M; H: : i- A4
Hi£44ii 53.i
02!:! #ii gg :5igiii Given
Dodec(a) Tetb) A Large(b) -,Dodec(o) Case Closed
*
..
1
Gwen en Observe COeM
Figure 12: Syntactic close within a subproof 2. Start by assuming that the large paper bag is a tetrahedron and that it is named b. 3. Next observe -iDodec(a). 4. Finally, use the Close rule, citing Dodec(a) and -Dodec(a) in support. 5. When your proof checks out, save it as Syntactic Close 2 Solution.
The proof you have just constructed illustrates an interesting point, since the given information is not itself inconsistent (see Exercise 2). But the given information, plus the new assumption, gives us a contradiction. Why would we reason like this, assuming something that gets us into an inconsistency? This is in fact a very common form of reasoning, as we will eventually see. It allows us to eliminate from consideration various cases that might appear at first glance to be possible. Were we to continue the train of thought begun in this proof, we would conclude that b is the large tetrahedron in the back. We will see how to do this in Chapter 6.
64
Proofs of Consistencyand Inconsistency
E ......
P
A:fStrEE ::EE:::iEEE5 ERL EEE:
4 4000 n\2iB:RSa
£ .....I K> * LeftOf(b, c) * Cb.Mat
lGinnm
VI Gen Given 's /
. .
P1 EkkA
SemantIc Close Laumpies
Case Closed
Bmu
s Cael
Figure 13: An example of semantic close
4.2
Semantic Close
The second way to close a proof or subproof is called a semantic close. Sometimes, we will arrive at an inconsistency, not between two sentences, but rather between a sentence and the current situation. This happens when we get a sentence that evaluates as definitely false in the current situation. This is as much a contradiction as a syntactic inconsistency, since we know that the sentence and the situation cannot both be accurate. In Figure 13 we show a case that is closed on the basis of such an inconsistency. In this proof, we have assumed that b is the large cube, presumably as one possible case permitted by the sentence LeftOf(b, c). But the resulting situation is inconsistent with the sentence Cube(b) -* Small(b), which we are also given. So to close this case, all we need do is invoke the Close rule and cite that single sentence. Hyperproof recognizes that the sentence cited is definitely false in the current situation and so the step checks out. Whenever you cite a single sentence in support of an application of Close, Hyperproof assumes that you intend a semantic close and evaluates the sentence in the current situation. If the sentence evaluates as false, the rule will check out; if it evaluates as true or unknown, the rule will not check out. It is important to keep in mind that the sentence you cite must evaluate as definitely false. A sentence like Cu be(a) A -Cu be(a) or Cu be(a) A Tet(a), though both inconsistent, might not allow you to close: these sentences will evaluate as unknown if the shape of a is not determined in the current situation. In such cases, you would have to use other rules to derive a sentence and its negation, and then apply a syntactic rather than a semantic close.
Semantic Close 65
1. Open the file Semantic Close Example. Let's reconstruct the proof shown in Figure 13. 2. You should first assume that b is the large cube at the back. Then close this case by citing the sentence Cube(b) -X Small(b). 3. Save your proof as Semantic Close Solution.
In this example, once again, the given information is not itself inconsistent (see Exercise 3). It is only inconsistent together with the assumption that begins our subproof. Let's look at an example of semantic close that extracts an inconsistency from some initially given information.
1. Open the file Semantic Close Example 2. Here the two given sentences, taken together, are obviously incompatible with the situation: they imply that a is a tetrahedron, but it's not. Notice, though, that each sentence separately is perfectly consistent with the situation. Thus to make the contradiction explicit, we first infer Tet(a) from the sentences, using Taut Con. Since this sentence is definitely false in the situation, we can use semantic close. 2. Construct the proofjust described and save it as Semantic Close 2 Solution.
Recall the discussion in Chapter 2 of how the Observe rule treats names that are not used in the situation. In deciding whether a semantic close checks out, Hyperproof does something very similar. When using semantic close, if you cite a sentence S(d) with a name d that does not appear in the situation, Hyperproof will accept this justification provided that any way of assigning d in the situation makes the sentence definitely false. This will sometimes be useful to know, as we now illustrate.
1. Open the file Semantic Close Example 3. Here we have repeatedly tried to apply the Close rule, but only one of our tries worked.
66
Proofs of Consistency and Inconsistency
2. Focus on each step in turn, predict whether the rule will check out, and then hit Enter. Do you see why the final attempt succeeded? If not, reread the last paragraph. 3. There is no need to save your work.
4.3
Consistency goals
Like our sentential consequence goals, there are three types of consistency goals. The icons for these goals are shown in the summary below. The first consistency goal, indicated by an exclamation point, asks you to show that the given information is consistent. This goal is satisfied if there is a valid application of CTA at any point in the proof, including inside subproofs. Notice that this works like our nonconsequence goals, except that there is no need to observe any sentence. The reason for this is clear when you think about it. When we prove nonconsequence, our aim is to show that it is possible for all the given information to be true while the target sentence is false. To prove consistency, our aim is just the first part of this: to show that it is possible for the given information to be true. There is an important point that needs to be made here: Suppose that using one or more applications of Assume, we have succeeded in constructing a situation in which CTA checks out. Why does this guarantee that our initial information was consistent? There are two key facts that underwrite this guarantee. The first is that any situation that you can build in Hyperproof depicts at least one possible blocks world. That is, no situation is inconsistent on its own. The second is that the constructed situation will always be an extension of the given situation, and if the new situation turns out to be accurate, so will the given situation. Putting these together, we see that the situation in which the CTA checks out depicts a possible blocks world in which all of the given information, both the original situation and the given sentences, is true.
1. Open the file Consistency Example. The goal of this problem is to show that the given information is consistent. 2. Start a subproof and extend the situation so that it makes the given sentences true. If you have trouble, it's because you are assuming the first sentence says more than it does. 3. Finish the proof by adding a CTA step to your subproof. If the CTA checks out, so will the goal.
Consistency goals
67
4. Save the completed proof as Consistency Solution.
The second consistency goal, indicated by an X, asks you to show that the given information is not consistent. We explained how to do this in the previous section. The goal is satisfied if there is a valid application of Close at the main level of the proof-that is, not in any subproof.
1. Open the file Inconsistency Example. The given information here is the same as in the file Consistency Example, except for a crucial modification of the first given sentence. You are now asked to show that the given information is inconsistent. 2. You should be able to do this using a combination of Observe and Taut Con. Start by observing the sentence a = c V b = c V Tet(c). Then see if you can get an explicit contradiction, one that will allow you to do a syntactic or semantic
close, using Taut Con. 3. When you have found a contradiction, check to see if the goal is indeed satisfied. When it is, save your proof as Inconsistency Solution.
The third consistency goal, indicated by a question mark, asks you to determine whether the given information is consistent. For this, you must either show that it is consistent or show that it is inconsistent. The trick is that you don't know which.
Summary of consistency goals Here is a summary of the consistency goals, and the icons used to represent them. Read over the summary to make sure you understand how they work.
+f+Show thatthe given information is
consistent. This goal asks you to prove that the given information is consistent. The goal is satisfied in a proof if a CTA step appears at some point in the proof (generally, though not necessarily, in a subproof).
+3+ Show that the given information is not consistent. This goal asks you to show that the given information is inconsistent. The goal is satisfied in a proof if a Close step appears at some point in the main proof (that is, not in a subproof).
68
Proofs of Consistencyand Inconsistency
+MIs the given information consistent?
This goal asks you to determine whether the given information is consistent. To satisfy this goal, you must either show that the information is consistent (that is, satisfy the first "consistency" goal above) or show that the information is inconsistent (that is, satisfy the second "consistency" goal). It's up to you to figure out which.
Strategy and tactics Suppose your goal is to show that the given information in a problem is consistent. You know that you need to construct an extension of the given situation in which all of the given sentences are true. Sometimes, though, constructing this situation will be tricky. As you make one of the given sentences true you may inadvertently make a choice that will block you from making some other sentence true. You will then have to readjust relevant features of the situation, and in doing so may risk making the original sentence false. It is easy to go around in circles if you don't approach things in a systematic way. While there is no foolproof method, there is an important notion that can help you. Intuitively, sentences differ in the amount of information that they provide. For example, if you are told that a person's name is either Mike or Mark, you have been given more information than if you are told his name starts with M. More to the point, suppose you were given the situation information shown in Figure 13, on page 64, and were told the following three things:
• LeftOf(a,d) -
Cube(a)
• Dodec(d) These three sentences get more informative as you go down the list. There are 15 possible assignments of the names d and a that would make the first sentence true, while only three assignments of the name a would make the second true, and just one assignment of the name d would make the last sentence true. Intuitively, sentences are more informative the more they constrain or narrow down the number of open possibilities. Sensitivity to this notion is helpful in analytical reasoning quite generally. In the specific case of proving consistency, here is how it helps. When you are trying to build a situation that makes a number of sentences true, you should start by carefully reading the sentences and getting a rough feel for which are most informative in light of the given situation. Then, you should begin modifying the situation, working on the most informative sentence or sentences first. Since there are fewer possibilities with the more informative sentences, the chances you will head down a dead end are smaller. Let's see how this applies to the example above. Suppose we wanted to show that the three sentences are consistent with the situation in Figure 13. The most informative
Consistency goals 69
sentence, Dodec(d), forces us to assign the name d to the solitary dodecahedron. Notice that once we do this, the informativeness of the remaining sentences changes. Now there are only two possibilities left open by the first sentence and three left open by the second. Following our strategy of working on the most informative sentence, we should now try to make the first sentence true. We can do this by assigning the name a to either of the blocks left of d. In this case, either assignment happens to make the second sentence true as well. If we had started working on this problem by making the first sentence true first, chances are we would have had to reassign the names a and d later in the game. Of course, this example was extremely simple and you could no doubt see the solution all at once. But you will eventually encounter much more complicated cases where this strategy will save you a lot of grief. Even in the simple cases, you should practice the technique, since the skill you will be learning will be important for the type of reasoning investigated in the next chapter.
Exercises Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Syntactic Close Solution, Syntactic Close 2 Solution, Semantic Close Solution, Semantic Close 2 Solution, Consistency Solution, and Inconsistency Solution. Exerciset 2 Open File: Save As:
Proof 4.02 Proof 4.02 Solution
Prereq/Difficulty: Chaps 1-3/* Operators Used: A
This file is the same as Syntactic Close Example 2, except that we have added a goal. Earlier, you built a subproof and demonstrated an inconsistency within that subproof. Here we want you to show that the given information is actually consistent. Exercise 3 Open File: Save As:
Proof 4.03 Proof 4.03 Solution
Prereq/Difficulty: Chaps 1-3/* Operators Used: -*
This file is the same as Semantic Close Example, except that we have added a goal. The goal is to show that the given information is consistent. There are two ways to do this. The easy way would be to assign the name b to the small cube. Solve it the other way instead. Exerciset 4 Open File: Save As:
Proof 4.04 Proof 4.04 Solution
Prereq/Difficulty: Chaps 1-3/* OperatorsUsed: -, A
Here the given information is inconsistent. You should give a proof of this.
70
Proofs of Consistency and Inconsistency
Exercise 5 Open File: Save As:
Proof 4.05 Proof 4.05 Solution
Prereq/Difficulty: Chaps 1-3/* -I,A Operators Used:
Again, the given information is inconsistent. You should give a proof of this.
Exercise 6 Open File: Save As:
Proof 4.06 Proof 4.06 Solution
PrereqiDifficulty: Chaps 1-3/** -, V, A OperatorsUsed:
Can you tell whether the given information is consistent?
Exercise 7 Open File: Save As:
Proof 4.07 Proof 4.07 Solution
Prereq/Difficulty: Chaps 1-3/* * Operators Used: -,, V, -*
Here you are asked both whether a sentence follows from the given information and whether that information is consistent.
Exercise 8 Open File: Save As:
Proof 4.08 Proof 4.08 Solution
Prereq/Difficulty: Chaps 1-3/* * Operators Used: -I V -- 4-*
See if you can figure out whether the information is consistent. Exercise t 9 Open File: Save As:
Proof 4.09 Proof 4.09 Solution
Prereq/Difficulty: Chaps 1-3/* * * Operators Used: -,VI A ,,+j-
Does the sentence in question follow? And is the information consistent? Exercise 10 (The Tets are coming to dinner!) Open File: Save As:
Proof 4.10 Proof 4.10 Solution
Prereq/Difficulty: OperatorsUsed:
Chaps 1-3/* *
*
3,V
The Dodec family has invited the Tets to dinner, but there is a problem with the seating arrangement. The children do not get along. In addition, courtesy dictates that people in the same family not sit together. Is there a harmonious seating arrangement? (Note: if you have trouble reading the likes arcs, turn off the likes and happy display, select likes editing mode from the palette, and select individual blocks to see who they like.)
Exercise 11 Open File: Save As:
Proof 4.11 Proof 4.11 Solution
PrereqiDifficulty: Chaps 1-3/* * * Operators Used: 3>n
Consistencygoals 71 Exercise 12 Open File: Save As:
Proof 4.12
Proof 4.12 Solution
PrereqiDifficulty: Chaps 1-3/**** Operators Used: -, A, i-*
Is the target sentence a consequence of the given information? Is that information consistent? If not, is the argument convincing? Exercise 13 Open File: Save As:
Proof 4.13 Proof 4.13 Solution
Prereq/Difficulty: Chaps 1-3/* * * * Operators Used: V
Proof 4.14 Proof 4.14 Solution
Prereq/Difficulty: Chaps 1-3/* * * * OperatorsUsed: 3
Exercise 14 Open File: Save As:
The given information here is very much like that in Exercise 7, except that the direction of two of the conditional sentences has been reversed. This makes the given information inconsistent. But proving it, at least with the rules we have so far, is not very natural. We have given you a proof of inconsistency, however we did not specify the rules and supports. Your task is to complete the proof by specifying these things for each of the steps. In Chapter 6, we will show you how natural the reasoning can be, once we have a rule that allows us to break into cases. Exercise 15 Like Hyperproof, newspaper photos with captions provide information in two different forms: visual and sentential. Generally, the captions are consistent with the photos, though on occasion you will find one where the newspaper has obviously made a mistake. For example, you might find a photo whose caption lists more people than are in the picture, or a photo that has been labeled with some other photo's caption. Find a photo from a recent newspaper that you can prove to be consistent with its caption using methods analogous to those you have learned in this chapter. Even better, see if you can find a photo that you can show to be inconsistent with its caption.
V."I 0-N--
Diagrammatic Reasoning
A'
*
The Apply Rule Much of the information we deal with in ordinary life comes to us in ways other than language. Some we get directly from the source, as when we see that it is snowing outside. Other information comes to us in the form of photographs, maps, charts, graphs, blueprints, and diagrams. When we look at everyday reasoning and problem solving, the widespread use of graphical representations is quite striking. Whenever you use a map to find out how to get somewhere, you are reasoning from graphically presented information. When a company president consults the organization chart to see who is responsible for a particular project, or studies graphs to determine sales trends, the president is likewise reasoning from diagrammatic information. Every branch of science and engineering has its own distinctive diagrammatic tools that experts in the field must know. An important part of reasoning is knowing how to move from information represented in one form, to information represented in another. Hyperproof is designed to teach you logical principles that license this type of reasoning. This is why Hyperproof uses two forms of representation, sentences and situations. The situations are a graphical way to present information, much like maps or diagrams, and are used in conjunction with the sentences to facilitate valid reasoning. We have already learned one rule for moving information between these different representations. With the Observe rule we can express in language certain pieces of information given to us diagrammatically by the situation. So far, we have used this rule in several ways. Most obviously we have used it to prove that particular sentences follow from the given information. For example, if we are given the sentence Tet(d) -* Small(d) and a situation that depicts d as a tetrahedron of unknown size, we can observe the sentence Tet(d) and then use it to conclude Small(d). Notice that there is a lack of symmetry in this example. Given the rules that we have learned so far, we can move from a sentence and a situation to a new sentence, but we cannot move from a sentence and a situation to a new situation. Our example shows that we are missing a legitimate form of reasoning. After all, from the very same sentence and situation, we should be able to move to a new situation, one where block d is shown as small. This modification of the situation clearly follows from the given information, but
75
76
The Apply Rule
a~~
L
.p-uPretcs
9
E
iL
L
5
22
O:
Dodec(a) TeW A LArge(b) *Cube(c) A Happy(c)
6w Owns
Figure 14: Can you identify b? none of our rules allows us to derive this consequence. In this chapter, we present our first rule that lets us infer diagrammatic consequences of this sort. This is the Apply rule, a rule that licenses the above inference.
5.1 Apply Observe is a situation rule that lets you extract information from the situation and express it sententially. The Apply rule allows you to move information in the opposite direction. Suppose you were given the information shown in Figure 14 and were asked to determine which block is named b. Your reasoning might run as follows. First of all, since you know from the first sentence that a is a dodecahedron, and since the large paper bag represents a, you can conclude that the block represented by the bag is actually a large dodecahedron. Once you know that, you can be sure that there is only one large tetrahedron, namely, the one in the back right corner. Thus the second sentence allows you to conclude that this block is b. In Hyperproof, this reasoning could be done with two applications of the rule Apply. The first application would cite the first sentence as support and would extend the situation by changing the paper bag into a dodecahedron. The second would cite the second sentence as support and would extend the situation by assigning the name b to the large tetrahedron.
Apply
77
1. Open the file Apply Practice so you can construct the proof we just described. 2. The first thing you need to do is add a step. Next, modify the situation by turning the bag into a dodecahedron. Then, specify that the rule is Apply and cite the sentence Dodec(a) as support for this step to indicate what justifies you in making the situation change. Hit Enter to see if Hyperproof accepts your application of Apply. 3. Your second application of Apply will assign the name b to the large tetrahedron. To do this, get a new step, assign the name b to the tetrahedron, and change the rule to Apply. Then don't forget to cite the second sentence, Tet(b) A Large(b), as support. Check your proof to see if all the steps check out. 4. When you have finished, save your proof as Apply Solution 1.
Here is how the Apply rule works. The user specifies an extension of the current situation and cites one or more sentences that justify that extension. The application of the rule is correct if every alternative extension of the situation falsifies one or more of the sentences cited as support. By an "alternative extension" we mean an extension that is incompatible with the one specified by the user. Consider an example. In the proof you just constructed, you turned block a into a dodecahedron and cited the sentence Dodec(a) as support. Now there are just two ways an alternative extension could disagree with this extension: the alternative would have to represent a either as a cube or as a tetrahedron. But both of these falsify the sentence cited in support. So this application of Apply is logically correct. When Hyperproof disagrees with your use of the Apply rule, it will produce a counterexample. There are two possibilities here. If Hyperproof can find an alternative situation in which your support sentences are definitely true-what we will call a definite counterexample-then it will put an X next to the rule name when you check the step. (If you are focused on the step, a button will appear in the status line offering to show you the counterexample.) If Hyperproof cannot find a definite counterexample, it will look for a counterexample in which none of your support sentences is false, though some may have unknown truth values. In other words, it looks for a counterexample in which each support sentence is either true or has an unknown truth value. If it finds one of these, then a question mark will appear next to the rule name and Hyperproof will offer to show you the possible counterexample. Hyperproof will not accept applications of Apply if it can find either definite or possible counterexamples to the specified situation.
78
The Apply Rule
1. Open the file Apply Practice again. If your old proof is open, you should still open another copy of Apply Practice, since we want to create a brand new proof. 2. This time try the following: Add a step and use Apply to change the paper bag to a dodecahedron, just as before, except now cite the second sentence, Tet(b) A Large(b), as support. When you check the proof (or hit the Enter key), the status line at the bottom of the window will tell you that a counterexample was found. Click on the button to show the counterexample. Notice that the counterexample situation conflicts with the situation you specified, and yet the sentence cited as support is true in that situation. This shows that this use of Apply was incorrect: Hyperproof found a definite counterexample. 3. Now, let's see what a possible counterexample looks like. Choose Show Likes & Happy from the Situation menu. Then add a second Apply step to your proof, this time assigning the name c to the one cube with the happy face on it. Cite the sentence Cube(c) A Happy(c) in support and check your step. Hyperproof will tell you that it has found a possible counterexample. Show the counterexample. Can you see why this is a possible counterexample? The truth value of the support sentence is unknown in this situation. Thus, Hyperproof is telling you that, for all it knows, this situation might be extended to one in which the sentence cited in support is true. It is only a possible counterexample because the block in question is not known to be happy. 4. When you are finished, do not save the changes you have made.
Sometimes, the "possible" counterexamples that Hyperproof finds are not really possible. That is, it sometimes happens that the counterexample situation cannot be extended to a definite counterexample. Let's look at an example of this.
1. Open a new copy of Apply Practice. This time add an Apply step in which you assign the name b to the large tetrahedron in the back. Don't make any other changes. Cite both of the first two sentences in support of your Apply and check your step.
Apply
79
Hyperproof says that it has found a possible counterexample. Show the counterexample. Notice that both of the cited sentences have unknown truth values in this situation. However, in this case the "possible" counterexample cannot be extended to a definite counterexample, one that makes both of the cited sentences true. That would require that one and the same block be both a dodecahedron and a tetrahedron. Why doesn't Hyperproof see this? The reason is that in looking for counterexamples, Hyperproof only considers alternative situations that contradict one of the changes you have made to the situation. Since you did not specify the shape of the paper bag, Hyperproof won't assign any shape either, and so won't notice that the possible counterexample is ultimately inconsistent with the cited sentences. If you want Hyperproof to pay attention to the shape of the block, you will have to specify a shape in your Apply. 2. Modify your Apply step so that block a is a dodecahedron. Now your step will check out when you enter it. Hyperproof no longer produces a possible counterexample, since it is now paying attention to the shape of a. It looks at possible alternatives in which a is a tetrahedron or a cube and sees that, in each of these, one or the other of the support sentences comes out false. 3. Save your proof as Apply Solution 2.
As you can see from this example, Hyperproof lets you cite more than one sentence in support of an Apply step. What this means is that you can sometimes take fairly large steps in your reasoning all at once. For example, in the proof you saved as Apply Solution 1, you used Apply twice, once citing Dodec(a) and once citing Tet(b) A Large(b). But as we just saw, you can do this proof in a single step by citing the two sentences at once. The notion of informativeness introduced in the last chapter is useful in understanding and using the Apply rule. Notice that a single sentence can be applied only if it is maximally informative in the sense that it narrows the relevant possibilities down to a single case. But sometimes you can use Apply with a pair of sentences, neither of which can be applied on its own. Two sentences taken together are typically more informative than either sentence taken on its own. You can apply the pair of sentences if the two taken together are maximally informative along the relevant dimension.
1. Open the file Double Apply. Add an Apply step in which you assign the name a to the single large tetrahedron. But only cite the first given sentence in support of your apply and enter the step. Hyperproof of course comes up with a counterexample: a could be one of the other tetrahedra.
80
The Apply Rule
2. Next cite only the second given sentence and enter the step. Again Hyperproof finds a counterexample: a might be the large dodecahedron. 3. Finally, cite both sentences and enter your step. Now Hyperproof accepts your use of Apply. Notice that the first sentence on its own narrowed the possibilities for a from four blocks to three; not enough to use the Apply rule. The second sentence on its own narrowed the possibilities to two; still not enough for Apply. But there is only one possibility that was common to these two, so we were able to apply the pair of sentences together. 4. There is no need to save your work.
Strategy and tactics Although you can sometimes make a lot of changes to the situation with a single application of Apply, it is usually a bad idea. Proofs should be understandable, in addition to being correct. When you start citing too many sentences at once in justifying an Apply, or adding too much information to the situation at once, then the reasoning that led you to those modifications becomes less and less apparent. Also, you are more likely to make mistakes. A good rule of thumb is to avoid uses of Apply that cite more than two supporting sentences. This isn't always possible to do, but it is still a good general policy. Another reason for not trying to do too much with a single Apply is that the more you do, the longer it will take Hyperproof to check your step. This becomes especially important when you are using Apply to assign locations to blocks. Since there are 64 locations, when you assign locations to three blocks, Hyperproof must examine roughly 643 = 262,144 possible alternatives. If you were also to specify the shapes of these blocks, Hyperproof would then have to check roughly 33 x 643 = 7,077,888 alternatives. And in each of these alternatives, it must check the truth of each support sentence. As you can see, things can quickly get out of hand. If you have an Apply step that takes too long to check, try breaking it down into a sequence of applies, each one specifying fewer attributes of the situation.
1. Open the file Apply Example Slow. Move the focus to the single Apply step. Notice that we have assigned all six names and cited all of the given sentences in support. It turns out that this is a correct application of Apply. But try checking the proof. As you can see, Hyperproof has as hard a time recognizing
Some situationgoals 81
the validity of this step as you probably do. It will eventually check out, but you probably don't have time to wait it out. Cancel the evaluation. 2. Now open the file Apply Example Fast. In this proof we have accomplished the same thing using five separate applies. Successively move the focus down the proof, to see that the validity of each step is pretty easy to see. Wait till you get to the last step before checking the proof. When you check the proof, you'll see how much more efficient this "longer" proof really is. 3. There is no need to save the proofs when you are done.
A common mistake that users make with the Apply rule is to forget to cite the sentences they intend to use as support. When this happens, Hyperproof will usually say that a counterexample has been found, since if no sentences are cited, any alternative extension of the situation qualifies as a counterexample. Hyperproof can' t read your mind, unfortunately, so you have to remember to cite the right support sentences.
5.2 Some situation goals Just as Observe allows us to prove that certain sentences follow from the given information, Apply lets us prove that certain extensions of the situation are consequences of the given. In Chapter 7 we will discuss at greater length the various reasoning tasks that this makes possible, but in the meantime let's have a brief look at some of these tasks.
1. Open the file Some Situation Goals. In the goal strip you will see four unfamiliar icons. These represent some of the new goals that we can satisfy now that we have the Apply rule. 2. Click once on the first icon and notice what happens in the situation. One of the large blocks of unknown shape becomes highlighted. This goal asks you to determine the shape of that block. Double-click on the goal icon to open up the goal window. Then click the Help button and read how you satisfy this goal. 3. See if you can figure out what the next two goal icons mean. Then double-click on them to see if you were right. Think about how you would satisfy such goals, then check your predictions using the Help button.
82
The Apply Rule
4. The last goal is a little different. It asks you to determine which block is named d. Nothing happens when you click once on the icon, since the name is already indicated on the icon. Double-click on the icon to see how to satisfy this type of goal. 5. In this problem, we can satisfy all of the goals using four applies. It turns out that the most natural way to satisfy these goals is not in the order they are presented. First apply the second sentence to label the small tetrahedron d. Check your goals to see that this indeed satisfies the fourth goal. 6. Next add a new step and apply the first sentence, making the block directly behind d a dodecahedron. (You can, but don't have to, assign the name e to this block.) Check your goals again. Two down and two to go. 7. At this point, see if you can satisfy the remaining goals on your own. It is just a matter of applying the right sentence in each of your remaining steps. 8. When all the goals check out, save your proof as Situation Goals Solution.
Sometimes, you will use the Apply rule even in cases where the ultimate goal is to prove that a sentence follows from the given information. To prove the sentence, it may be necessary to add some information to the situation and then to use the rule of Observe to assert the desired sentence. Let's work through a proof like this.
1. Open the file Apply and Observe. In this file, you are asked to prove that the sentence LeftOf(d, a) follows from the given information. If you think about it, this is clearly a consequence of the given information. But there is no natural way to prove it using only Observe and the sentential consequence rules. 2. Add a new step to the proof. Use the Apply rule to specify the location of block a. Then, in the next step, use Observe to draw the desired conclusion. When you are done, choose Check Goals from the Goal menu to see if you have satisfied the stated goal. 3. When you are done save your solution as Apply and Observe Solution.
Some situationgoals 83
Strategy and tactics Sometimes when you first start working on a problem, it can seem overwhelming. This can be particularly true when a problem has many goals. Some students make the mistake of starting to work on a problem without even looking at the goals. Other students err in the other direction by picking one of the goals and trying to solve it, when it turns out that the solution requires that you solve some of the other goals first. The right approach is to read and understand all the goals, then examine the situation and the given sentences to see they suggest a way to get started on one of the goals. Frequently, you will find that you can apply one or more of the given sentences to the situation and that doing so makes other given sentences more informative. It never hurts to start out a proof by making all the simple applies that seem obvious to you. Once you have done this, you should read through the given sentences again to see if the changes you made to the situation allow you to apply other sentences that you could not apply before. Let's look at an example that illustrates these points.
1. Open the file Apply Strategy. In this problem, you are asked to satisfy four goals. 2. The first thing you should do in this or any problem is to examine the goals one by one. The first goal asks you to locate one of the blocks. Click once on the goal icon to see which block it refers to. The second goal asks you to determine the size of that same block. The third goal requires that you determine which block is named e. The final goal asks you to prove a sentence. Click on the goal icon to see what the sentence is. 3. After examining the goals, you should always read through all the given sentences to see if any of them suggest a simple use of the Apply rule. In this example, the first given sentence says that b is the same shape as e but not the same size. This sentence cannot be applied to the given situation since there are many different extensions of the situation that would make it true. 4. The same is true of the second and third sentences. The second says that if b is in front of f then b is smaller than f. This is pretty uninformative at this point. The third sentence says that e adjoins and is to the left of f. Examining the situation, you will see that none of the located blocks adjoins any of the other located blocks. What this means is that the one block whose location is unspecified by the situation must be either e or f. We can't tell which, though, so we cannot apply this sentence either, or at least not yet.
84
The Apply Rule
5. The fourth sentence says that b is a medium dodecahedron. Looking at the situation, we see that there is only one block that could be b. At last we have an obvious use of the Apply rule. Use the rule to name the medium dodecahedron
b. 6. At this point, there is a very important lesson to be learned. Whenever you make a modification to the situation, as we have just done, you should go back and reassess the sentences you have passed over earlier, to see if anything new has come to light. Reassessing the first sentence, we see that it is much more informative in light of the change we have made. Indeed, we can now see that the large dodecahedron must be e. Add a step and use the Apply rule to make this change to the situation. Notice that we have now satisfied the third goal. 7. The second sentence, while a bit more informative than before, still leaves open several possibilities, and so cannot be applied. The third sentence, on the other hand, is now considerably more informative in light of the two changes you have made. We can now see that the unlocated block must be f and that it must be located in the right, rear corner of the grid. Add a step and make these two changes using Apply. Check the goals to see that you have now satisfied the first and the third goal. 8. We have now made some new changes to the situation, and again we should go back to see if any of the earlier sentences can now be applied. See if you can apply the second sentence to specify the size of f. When you have done this, three out of the four goals will be satisfied. 9. The final goal is to prove the sentence Larger(f, a). To satisfy this goal, we are going to have to determine which block is a. The final given sentence is the only one that mentions a. It says that a is between tetrahedra named c and d. Does this give us enough information to identify a? It turns out that it does, even though it does not give us enough information to identify c and d. See if you can apply the sentence to identify a. 10. Use the Observe rule to finish the proof. When you are done, save your proof
as Apply Strategy Solution.
Exercises Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Apply Sol ution 1, Apply Sol ution 2, Situation
Goals Solution, Apply and Observe Solution, and Apply Strategy Solution.
Some situationgoals 85 Exercise 2 Open File: Save As:
Proof 5.02 Proof 5.02 Solution
Prereq/Difficulty: Chaps 1-4/* Operators Used: None
See if you can determine which block is named b. Then try to determine the size of the tetrahedron. Exerciset 3 Open File: Save As:
Proof 5.03 Proof 5.03 Solution
PrereqiDifficulty: Chaps 1-4/* OperatorsUsed: None
Here you are asked to identify a, b, and c. Once you have done that, use Observe to prove that the sentence Larger(a, b) follows from the given information. Exercise 4 Open File: Save As:
Proof 5.04 Proof 5.04 Solution
Prereq/Difficulty: Chaps 1-4/* * OperatorsUsed: A
See if you can identify a, b, c, and d. Exercise 5 Open File: Save As:
Proof 5.05 Proof 5.05 Solution
PrereqiDifficulty: Chaps 1-4/* * OperatorsUsed: V
Is the given information consistent? Exercise 6 Open File: Save As:
Proof 5.06 Proof 5.06 Solution
PrereqiDifficulty: Chaps 1-4/* * * OperatorsUsed: V
Here you are asked to determine the shapes of three blocks and whether a particular sentence follows from the given. Exerciset 7 Open File: Save As:
Proof 5.07 Proof 5.07 Solution
Prereq/Difficulty: Chaps 1-4/*** Operators Used: A
Here you are asked to determine sizes and shapes of blocks, wherever these attributes are unknown. Exercise 8 (Biconditional blues) Open File: Save As:
Proof 5.08 Proof 5.08 Solution
PrereqiDifficulty: Chaps 1-4/* * * Operators Used:
-a, V, -,
In math classes, you may have seen people writing P Q +-+ R to mean that P. Q, and R are equivalent, that is, they have the same truth value. Is this what is expressed by P +-+(Q R)? 4-*
86
The Apply Rule
Exercise 9 (Bases loaded) Open File: Save As:
Proof 5.09 Proof 5.09 Solution
Prereq/Difficulty: Chaps 1-4/* * * Operators Used: 3,V
The Chicago Cubes are playing the New York Tets in the World Series. Bases are loaded, but who is at bat? Exerciset 10 Open File: Save As:
Proof 5.10 Proof 5.10 Solution
Prereq/Difficulty: Chaps 1-4/* * * OperatorsUsed: 3>n
Proof 5.11 Proof 5.11 Solution
Prereq/Difficulty: Chaps 1-4/* * * * Operators Used:
Exercise 11 Open File: Save As:
-,
v,
A, I
a,-
'
To solve this problem, you will probably have to cite more than two sentences in one of your applies. Once we have Cases Exhaustive, you will be able to give a more natural solution to this problem (see Exercise 14 in the next chapter). Exercise 12 Find a newspaper photo of a group of people, none of whom you recognize. See how many of the people in the photo you can identify by applying information from the caption. Label the photo accordingly.
Reasoning by Cases The previous chapter gave us our first taste of full-fledged diagrammatic reasoning. Before that chapter, we could use the information in the situation only in rather passive ways: none of the three rules that used the situation for information, Observe, CTA, and the semantic version of Close, allowed us to modify the situation in any way. Apply, by contrast, lets us use sentential information to change the situation. In this chapter we will learn a more powerful reasoning technique of this same sort. This technique uses several rules that, together, allow us to reason by considering a range of possible cases. For this reason, the technique is known as reasoning by cases. In Hyperproof, the linchpin of this technique is the rule known as Cases Exhaustive.
6.1
Cases Exhaustive
Often, information that we are given in sentential form places various constraints on how the current situation can be extended. We've already seen examples of this in our discussion of the Apply rule. When the sentences guarantee that there is a unique way the situation can be extended, the Apply rule lets us modify the situation in that way, citing the relevant sentences as support. More often, though, we will have sentential information that restricts the possible extensions, but not to a single case. We may find, for example, that our information only narrows the possibilities to two or three or ten different cases. But that may be all we need to solve the reasoning problem we are faced with. Suppose, for example, that you are given the information shown in Figure 15 and are asked to identify block a. As you can see, no names are assigned in the given situation. But in the first sentence you are told that b is a dodecahedron and that it is to the left of a. One way you might reason here is the following. Since you know b is a dodecahedron, there are only two possible extensions of the given situation: b could be the dodecahedron in the back, in which case a would have to be the unknown block on the right, or else b could be the dodecahedron in the front, in which case a would again have to be the unknown block on the right. In either case, a must be the unknown block on the right. Figure 15 shows how this reasoning might go in Hyperproof. We begin by specifying
87
88
Reasoning by Cases
E H-su..I
A
Ilp I
...... e.
aim
W
,
4
i4
/
61wn MLargel) Mie
WNA IL... A\ Exhaustive i Exhal
l
i
-
ssume 4
-~~~~~~
t:.A wneE~E0 00f/B 111 ,,-'I . fE~~~
.
Ex;-:Immt}Svad
_e.i.ii..
T =E} i}REE E ... ::::.I....
5
----
k
Fs
Figure 15: Breaking into exhaustive cases the two "cases:' that is, by starting two separate subproofs whose assumptions correspond to the two possible assignments of a and b. Next, immediately after the second subproof, we use the Cases Exhaustive rule to claim that our cases are exhaustive, citing the first sentence in support. We should say a few words about how the Cases Exhaustive declaration appears in the proof. Notice that there are really two parts to the declaration: first, the boldface word Exhaustive, which indicates that an exhaustiveness claim is being made, and second, the bold bracket that indicates which cases (subproofs) the claim is about. To enter such a claim, you first change the rule to Exhaust, click on the cases the claim is about, and then enter any support sentences. Note that the range of cases must be contiguous, and the Cases Exhaustive step must immediately follow them.
1. Open the file Exhaustive Exam ple 1, and recreate the proof shown in Figure 15. To do this you will first need to specify the two cases. First add a step, change the rule to Assume, and extend the situation by assigning the labels a and b
Cases Exhaustive 89
as shown in the first case. Then choose End Subproof (Command-E), change the rule for the new step to Assume, and modify the situation as shown in the second case. Finally, choose End Subproof to end your second subproof. 2. You now have your two cases and are ready to apply the Cases Exhaustive rule. At the step immediately following the second case, change the rule to Exhaust. This introduces the declaration Exhaustive into the proof. 3. To complete the declaration, you must specify what range of cases you are claiming to be exhaustive. You do this by clicking on the situation icon in the first Assume step. (Try clicking several times on both of the Assume steps, to see how the bracket works. But make sure you end up with the bracket enclosing both of your cases.) 4. Finally, go up to the first of the given sentences and click on it to cite it as support. 5. Check the proof to make sure the steps check out. Leave the proof open, since we will return to it in a moment.
The Cases Exhaustive rule is checked in much the same way as Apply. A range of cases is specified by the user and claimed to be exhaustive, perhaps with some sentences cited in support. The rule is correct if every alternative to those cases falsifies at least one of the sentences cited in support. Here, what we mean by an alternativeis an extension of the current situation that is incompatible with each of the extensions assumed by the user. Let's see how this works in our example. In that proof, we specified two cases, both of which assign the names a and b to certain objects. For an alternative situation to disagree with both of these cases, it would either have to assign b to a block other than the two dodecahedra, or assign a to a block other than the rightmost tetrahedron, or both. But any such alternative falsifies the sentence, Dodec(b) A LeftOf(b, a), that we cited in support. As with the Apply rule, Cases Exhaustive can fail in either of two ways. First, Hyperproof might find a definite counterexample: an alternative situation in which all of the support sentences are true. On the other hand, Hyperproof might only find a possible counterexample: an alternative situation in which the support sentences are either true or else have an unknown truth value. Hyperproof will not accept an application of Cases Exhaustive if it has either a definite or a possible counterexample.
1. Let's change the proof you have constructed so that the Cases Exhaustive step fails.
90
Reasoning by Cases 2. To do this, delete the second case, that is, focus on the second Assume step and type Command-D. Then move the focus back to the Exhaustive step and check the proof again. In the status line, Hyperproof will say that it has found a (definite) counterexample. (Note that you have to be focused on the Exhaustive step to see this message.) 3. Show the counterexample. Sure enough, it is the case you just deleted. 4. Here's a trick that you will find useful. Suppose you want to get back to the original, correct proof by adding the counterexample as one of your cases. While the counterexample window is still showing, choose Copy Situation (Command-C) from the Edit menu. You have now put a copy of this situation on the Macintosh clipboard. Now go back to the proof window. Focus on the assume step of the single, remaining case and choose Add Case (Command-E) from the Proof menu. Then choose Paste Situation (Command-V) from the Edit menu. The counterexample situation is now in the Assume step of the new case. 5. Now check the proof. If everything checks out, save your proof as Exhaustive Solution 1. If you can't get it to check out, close the proof without saving the changes and then reopen Exhaustive Example 1. Using this fresh copy, reconstruct the correct proof and save it as Exhaustive Solution 1.
In Figure 16 we show another example of a correct application of Cases Exhaustive, but this time one in which the cases specify more than just an assignment of names. Can you see why these cases are exhaustive, given the sentence cited? An alternative extension of the original situation would either have to assign the name c to one of the cubes or tetrahedra, or else it would have to assign c to the unknown block and make it neither a dodecahedron nor small. All such alternatives falsify the sentence, Dodec(c) V Small(c), cited in support.
1. Open the file Exhaustive Example 2. There are a lot of ways to break into exhaustive cases here besides the one shown in Figure 16. For example, you could break into just two cases (what would they be?), or you could break into many cases in which the unknown block has both a determinate size and shape. 2. Let's try one of these and, while we're at it, learn a quick way to break into cases. Start by adding a step and citing as support for the new step the single given sentence. Then choose Exhaustive Cases (Command-[) from the Proof
Cases Exhaustive 91
Figure 16: Another example of exhaustive cases menu. This command is a shortcut for getting a case, an Exhaustive step, and a bracket enclosing the case. The support you cited becomes support for the Exhaustive step. 3. For your first case, assign the label c to the dodecahedron. Once you have done this, you will want to specify other cases. There is an easy way to do this, too. While still focused on the first (and at present, only) case, choose Add Case (Command-E) from the Proof menu. This will give you a new case within the cases bracket. This time, label the unknown block c. 4. Finally, move the focus down to the Exhaustive step. As you can see, the sentence you cited at the start is already entered as support for this step. Check your proof. All of the steps should check out.
5. Save your proof as Exhaustive Solution 2. 6. At this point, try out some other ways of breaking into cases. Delete all of the steps you just added to the proof and break into cases again. This time, specify
92
Reasoning by Cases
I
C e.s ...... " IN"Wl III I
ten...l
I a.0
I
I~e .~.;... .
t-ff
...
L:~{{
{ 2{22H{ .. W e
..
I
/
iI
, TetMINVO
ap)/
|j- TetWO)
GIen
In1(~V Gwen / Asms
I - Small(b)
/
i 1. Happy(c)
ARuno2n Burn A
/
P I Exhaustive
Exhaut
Figure 17: Exhaustive sentential cases a different range of cases and see if you can get your exhaustiveness claim to check out. (Don't forget to cite the support sentence; otherwise, Hyperproof will surely be able to find a counterexample.) 7. When you are finished, do not save the changes you have made to the file.
There are two unusual applications of Cases Exhaustive that should be mentioned. The first concerns applications in which no support sentences are cited. Suppose the given situation has a single block of unknown shape. Due to the constraints built into the Hyperproof situations, there are only three possible shapes the block can have. Because of this, a perfectly permissible application of Cases Exhaustive would be to break into three cases in which the block is a cube, a tetrahedron, and a dodecahedron. The claim that these are exhaustive is correct, even though no sentence is cited in its support. The second unusual application is with a series of subproofs whose assumptions are sentences. The Cases Exhaustive rule will declare such a series exhaustive if the support sentence is a disjunction of the sentences assumed in the various subproofs. A simple example of this is shown in Figure 17.
Cases Exhaustive 93
1. Open the file Sentential Cases and construct the proof shown in Figure 17. Save this proof as Sentential Cases Solution. 2. After you have done this, delete the steps you added and try constructing a proof with two sentential cases: one assuming Tet(a) and the other assuming Small(b) V Happy(c). Cite the given sentence as support for the Exhaustive step and check your proof. 3. When you are finished, do not save the changes to the file.
Strategy and tactics Reasoning by cases is one of the most powerful problem-solving techniques. But if not used skillfully, it can quickly become unmanageable, both for the human mind and for the computer. Because of this, it is important to approach it with clear strategies in hand. The first maxim to follow when breaking into cases will be familiar from earlier advice we have given you. You should always start with the maximally informative sentence or sentences. In this way, you will be able to break into as few cases as possible. Thus, faced with one sentence that allows you to narrow the range of possibilities to two or three, and another that narrows them to ten or twelve, you should generally break into cases on the basis of the first. This makes it easier to keep track of your reasoning and tends to cut down on the overall length of your proofs. One consequence of this maxim is that it is generally a good idea to carry out simple Apply steps before you start breaking into cases. If one of your sentences narrows the possible extensions to a single case, then you should take advantage of this before breaking into cases on the basis of some less informative sentence.
1. Open the two files Slow Cases and Fast Cases. These files both contain an exhaustive case analysis of the given information, but only one follows the maxim described above. 2. Use the Window menu to bring Slow Cases Solution to the front. Carefully examine each step of this proof to convince yourself that the Cases Exhaustive step is correct. Then check the proof. As you see, the Exhau tive step takes a long time to check out. In fact, you may want to cancel the check before it is done.
94
Reasoning by Cases 3. Now bring Fast Cases Solution to the front. Again, examine each step to see what we have done. Notice that the reasoning in the proof is somewhat easier to understand than that in Slow Cases Solution. The reason for this is the first step applies the information that a is between b and c, and only after this is done have we broken into cases. Now check the proof to see how much faster it checks out. 4. When you are done, there is no need to save the checked proofs.
This example also illustrates our next maxim. You should avoid specifying too many attributes of the situation in a single range of cases. When you do this, it is hard for you and for Hyperproof to determine whether they are exhaustive, just as when you specify too many attributes in a single application of Apply. If an Exhaustive step takes too long to check out, see if you can break into a simpler range of cases. Within these cases, you may, as needed, do some applies or break into further cases to accomplish what you were trying to do in the former, unwieldy range of cases. In applying both our maxims, don't forget that once you have made some changes to the situation, you need to go back and reevaluate the informativeness of the sentential information. This may suggest additional applications of Apply or additional ways to break into cases. Our maxims enter into proofs not only in terms of good strategy and tactics, but also in terms of good style. A proof can be valid but still hard to understand. By following the two maxims, you will be more likely to come up with proofs that are easy to follow. This is illustrated in the next example.
1. Open the files Bad Style and Good Style. These files both contain an exhaustive case analysis of the given information, but again, only one follows the maxims described above. 2. First examine Bad Style Solution. Here we have broken into two cases on the basis of the three given sentences. Each case specifies the size, shape, and name of the unknown block. The proof is correct, but the reasoning is not as clear as it could be. 3. Next look carefully at Good Style Solution, to see how it follows our maxims. In this proof, we have first applied one of the given sentences to name the unknown block. Then we have broken into two cases, one for each possible shape of that block. Then inside these cases we have used Apply to specify the size of the block.
Cases Exhaustive 95
4. When you are done, there is no need to save the checked proofs.
Even though in the above example, Hyperproof accepted both proofs more or less instantaneously, the reasoning in the second was much more perspicuous. You should get in the habit of creating such perspicuous proofs, for two reasons. One reason is that in more complicated problems the less perspicuous proof will take much longer to check out. The other reason is, you are more likely to get confused or lost in constructing a proof that violates the maxims. Exercises Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Exhaustive Solution 1, Exhaustive Solution 2, and Sentential Cases Solution. Exercise 2 Open File: Save As:
Proof 6.02 Proof 6.02 Solution
PrereqiDifficulty: Chaps 1-51* Operators Used: None
In this file there is a situation and a single sentence. Construct all possible cases consistent with the given sentence. Show that these cases are exhaustive using the rule Cases Exhaustive. If Hyperproof comes up with any counterexamples, add them to your range of cases.
Exercise 3 Open File: Save As:
Proof 6.03 Proof 6.03 Solution
PrereqiDifficulty: Chaps 1-51* OperatorsUsed: A
Construct a single, exhaustive range of cases that specify the possible referents of a and b (i.e., cases in which the names a and b are labeling blocks). Show that these cases are indeed exhaustive using the rule Cases Exhaustive and citing both of the given sentences.
Exercise 4 Open File: Save As:
Proof 6.03 Proof 6.04 Solution
PrereqiDifficulty: Chaps 1-5/* * OperatorsUsed: A
Open the same file as in the previous exercise, but this time we want you to give a case analysis that follows our maxims. First construct an exhaustive range of cases based on the most informative sentence, Dodec(a). Within the three cases you get, use the other sentence to complete your case analysis.
96
Reasoning by Cases
Exercise 5 Open File: Save As:
Proof 6.05 Proof 6.05 Solution
PrereqiDifficulty: Chaps 1-5/** Operators Used: V, A
Construct a single, exhaustive range of cases that determine the referent of c (i.e., have the name c labeling one of the blocks) and the shape of the two unknown blocks. Use Cases Exhaustive to show that you have considered all possible cases. [Hint: You will only need two cases.] Exercise 6 Open File: Save As:
Proof 6.06 Proof 6.06 Solution
PrereqiDifficulty: Chaps 1-5/*** Operators Used: V, A
You are given the same information as in Exercise 5. This time, construct an exhaustive range of cases, each of which determines the referent of c, the shape of the two unknown blocks, and the size of the unknown blocks. In other words, each of your cases should fully determine the size and shape of the blocks, as well as the identity of c. When you are done, verify that you have gotten all of the cases by using Cases Exhaustive. This problem illustrates another reason to be parsimonious in assigning attributes in a range of cases. [Hint: You are going to need 18 cases this time. You should read Section A.5 in the appendix before trying this. The section on copying a range of steps, starting on page 235, could be particularly helpful if you approach things methodically!]
6.2 Merge and Inspect So far, we have seen how to break into cases and how to declare a range of cases exhaustive. You may be wondering how any of this allows us to prove anything. After all, cases are based on additional assumptions, and so don't themselves show that anything follows from the given information alone. They only show that things follow from the given information plus the new assumptions. What we need is a way to move information out of subproofs and into the main proof itself, when such a move is justified. And sometimes it clearly is. For example, look back at the proof shown in Figure 15 (page 88). In that proof, we saw that there were two possible assignments for the name b, but that in both of these cases the name a had to be assigned to the tetrahedron on the far right. Since we know these cases are exhaustive, we are justified in concluding that this tetrahedron is definitely a. Whenever a piece of information is common to an exhaustive range of cases, we can conclude that it must hold, regardless of which of the cases turns out to be actual. The Merge and Inspect rules let us extract such "common" information from the range of cases. Merge is used when the information extracted is part of the situation; Inspect is used when the information is sentential.
Merge and Inspect 97
.-
---I 11 ....-....... . . ...... ........... ..... VJ...11 ....... ....., I..... ....UNWOOMW . r ...
--
-- -11 - 11 I
...
,
I
IL"M ...
I
W
AN
I. / IGinam Given
,
~iR
iLto;
U
-- =
5:5i~~:
a on t
.
f :.
2:.
,
/Asnum
2,Hr
E 6d
.
cI
~Ei
Figure 18: Merging information from exhaustive cases In Figure 18, we show how we would continue our proof from Figure 15. After the declaration that the cases are exhaustive, we add a step whose rule is Merge. In this step, we modify the situation so that it contains any information common to the situations in our exhaustive cases. In this example, we have simply assigned the name a to the rightmost tetrahedron. To support our use of Merge, we cite the step declaring the cases to be exhaustive. (Note that the support for our merge is not shown in Figure 18, since the focus is on the first step of the proof. If the focus were on the Merge step, the Exhaustive step would be highlighted.)
1. Open the file named Exhaustive Solution 1 that you created earlier. This file should contain the proof shown in Figure 18, except for the final step. Let's complete the proof. 2. Focus on the Exhaustive step and add a new step following it. Change the rule for this step to Merge. Then edit the situation so the label a is assigned to
98
Reasoning by Cases
the rightmost block. Cite the Exhaustive step as support and hit the Enter key. Your new step should check out, since a is assigned to the rightmost block in the two possible cases. 3. Now choose Check Goals from the Goal menu. The first goal should check out, since you have now definitely determined which block is named a. This is no longer something you are assuming, but something that you have proven. 4. The second goal, to determine the size of the tetrahedron, is not yet satisfied. See if you can now satisfy this goal as well. A single application of Apply should do the trick. 5. When you are done, save your completed solution as Exhaustive Solution 3.
When you apply the Merge rule, you don't actually have to specify the situation changes that are common to the open cases. If you simply change the rule to Merge and cite the Exhaustive step, when you check the step, Hyperproof will figure out the common information for you and put it into the situation. We call this a "default" application of Merge. (To learn more about rule defaults, see page 230.) Our preceding example of Merge was not very typical. Usually when you break into cases, you do some reasoning within the subproofs headed by the assumed situations. For example, you might do some applies, some observes, and even close some of the cases. Let's look at such an example.
1. Open the file Merge Example. Notice that the goal of this problem is to determine the size of the tetrahedron named a. Let's walk through one of the many ways you could solve this problem. 2. Start by adding a step and citing the sentence Dodec(b). Type Command-[ to construct an exhaustive range of cases based on this sentence. For each of the three blocks of unknown shape, create a case in which that block is a dodecahedron named b. Move to the Exhaustive step and see if it checks out. If it does not, you either forgot to cite Dodec(b) or specified your cases incorrectly. 3. Now that you have your three cases, let's reason within each of the cases. In each of the two cases in which b is medium, add a step in which you apply the sentence Medium(b) - Medium(a) to make a medium. As you do this, make sure you check that your Apply steps check out.
Merge andInspect 99
4. Next go to the case in which b is large. Close this case by adding a step and invoking the Close rule. You can do this using semantic close, citing the single sentence -Large(b). 5. We now have only two "open" cases, that is, cases in which the Close rule has not been invoked. In both of these cases, tetrahedron a is medium. Consequently, since we know one or the other of these must be the case, we can be sure that a really is medium. 6. Add a new step after the Exhaustive step. Change the rule to Merge and cite the preceding Exhaustive step in support. Hit Enter to see what happens. Hyperproof will take the information common to the two open cases and move it to the Merge step. 7. Check the goal and save your proof as Merge Solution.
This is the way Merge works: when you specify changes to the situation using Merge, Hyperproof looks at the exhaustive cases you have cited in support. It checks to see whether the additional information you introduced into the situation is present in the final situations in force in each of the cases. But it ignores those cases that have been ruled out with the Close rule-in other words, it only looks at the open cases, those that may actually hold. If you do not specify changes in the situation at the Merge step, Hyperproof will by default supply all of the changes that are justified. The Inspect rule works just like the Merge rule, except that it is used for extracting sentential information from an exhaustive range of cases. To use the Inspect rule, you type in any sentence that holds in all of the open cases and cite the Cases Exhaustive step as support. Hyperproof will check each case to see whether the sentence you typed is either explicitly stated in one of the lines of the subproof or else evaluates as definitely true in the (final) situation in force in that case. Figure 19 shows an example of the Inspect rule being used. Here we have extended the proof shown in Figure 13, page 64, by adding two more cases, one in which the name b is assigned to the small cube on the left, and one in which b is assigned to the dodecahedron. The resulting three cases are exhaustive, since the first sentence tells us that b is to the left of c. Of course, since the first case has been ruled out, we can see that b must be one of the blocks in the same row as e. This is asserted in the final step of the proof, using the rule Inspect.
1. Open thefile Semantic Close Solution thatyoucreatedinChapter4. This file should contain the first part of the proof shown in Figure 19.
100
Reasoning by Cases
,a111m"I ..-
Ui
-AMC
'
LeftOf(b,
)
/
Cube(b)
Small(b)
J Gwven
-
Case Closed
-
fm
"'111; ................... Exhaustive * SeameRow(b, e)
5
4
oo .
.
g
/
Exhaust o spIect
Figure 19: An example of Inspect 2. Complete the proof by adding the remaining two cases, declare them exhaustive (you will have to bracket them by hand'), and then use the rule Inspect to derive the sentence SameRow(b, e). Remember to cite the Exhaustive step in support of your application of Inspect. 3. Save your proof as Inspect Solution.
In this example of Inspect, the sentence SameRow(b, e) evaluates as true in each of the situations appearing in the open cases. In other words, within those cases we could have used the rule Observe to derive the sentence explicitly. This is in fact where the name Inspect comes from: the rule is like Observe, only it is applied to a range of cases, much like a general inspecting his troops. Uses of Inspect won't always be like this, though. Sometimes, the target sentence will not evaluate as definitely true in some of the open cases, but instead will be explicitly present in those cases, having been derived on the basis of other information.
Merge and Inspect 101
Figure 20: Another example of Inspect Consider, for example, the proof shown in Figure 20. Here we have two cases with sentential assumptions. They are exhaustive thanks to the first given sentence: Tet(d) V Dodec(d). In the first case, we have derived the sentence Small(d) using Taut Con. In the second case, we have used the Apply rule to arrive at a situation in which the name d is assigned to a small dodecahedron. Our use of the rule Inspect to derive the sentence Small(d) is correct because this sentence is explicitly present in the first subproof and evaluates as definitely true in the second. Thus, the sentence Small(d) is guaranteed to hold, no matter which possibility turns out to be correct. Strategy and tactics Generally, when we break into cases, it is because the cited sentences narrow the range of possibilities to a reasonably small number. As we have said earlier, you want to cite the most informative sentences, that is, those that allow you to break into the least number of cases. Occasionally, though, other factors suggest which cases to break into, and indeed, you may not even need to cite any sentences at all. For example, solving a particular problem may require that you break into three cases corresponding to the possible sizes of a given block, and to do this, no sentences need be cited. Remember this tactic when the given sentences
102
Reasoning by Cases
don't suggest an obvious range of cases. Let's look at an example of this kind.
1. Open the file Cases Strategy. Here you are asked to prove the sentence Tet(a) V Happy(a) and to determine the shape of block b. Notice that neither the sentences nor the diagram tell us anything at all about which blocks are happy, so it seems likely that in order to prove Tet(a) V Happy(a) we will have to prove that a is a tetrahedron. The given sentences in this problem are rather confusing and do not suggest an obvious way to break into cases. Notice, however, that they both mention the name c, and would be much more informative if we knew which block was named c. Since there are only two blocks in the situation, this suggests that we break into cases based on which of the two is c. We can do this without citing either of the given sentences. 2. Break into two cases, corresponding to the two possible assignments of the name c. Then, within these cases, assess your given sentences to see what information they provide. In both cases, you should easily be able to determine the shapes of the two blocks. 3. Finish the proof on your own and save it as Cases Strategy Solution.
Exercises Exercise 7 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Exhaustive Solution 3, Merge Solution, Inspect Solution, and Cases Strategy Solution. Exercise 8 Open File: Save As:
Proof 6.08 Proof 6.08 Solution
PrereqiDifficulty: Chaps 1-5/* OperatorsUsed: V
Here you are asked to show that the sentence SameCol(d, a) V SameCol(d, c) follows from the given information. Exerciset 9 Open File: Save As:
Proof 6.09 Proof 6.09 Solution
PrereqiDifficulty: Chaps 1-5/** Operators Used: A
Here you are asked to determine the size of one of the blocks, and to determine which block is named b.
Merge and Inspect 103
Exercise 10 Open File: Save As:
Proof 6.10 Proof 6.10 Solution
PrereqiDifficulty: Chaps 1-5/** Operators Used: A, -*
In this exercise, you are to construct a proof that satisfies the indicated goals. But here is a special instruction: In constructing your proof, do not cite more than one sentence in support of any of your steps. Exercise 11 Open File: Save As:
Proof 6.11 Proof 6.11 Solution
Prereq/Difficulty: Chaps 1-51* * * Operators Used: V,A
Can you determine whether c is a medium cube? How about d? Exerciset 12 Open File: Save As:
Proof 6.12 Proof 6.12 Solution
Prereq/Difficulty: Chaps 1-5/* * * Operators Used: V, A
In this proof, you have three goals to satisfy. Exercise 13 Open File: Save As:
Proof 6.13
Proof 6.13 Solution
Prereq/Difficulty: Chaps 1-5/* * * OperatorsUsed: -, -
The trick here is to understand what the second given sentence says. Remember your truth tables. Exercise 14 Open File: Save As:
Proof 6.14
Proof 6.14 Solution
Prereq/Difficulty: Chaps 1-51*** Operators Used: -, V, A, -, 4-*
This problem has the same given information as the one in Exercise 11. There you were forced to use a fairly complex apply. Using Cases Exhaustive, give a proof where no step has more than two support sentences. Exercise 15 (Who's on first?) Open File: Save As:
Proof 6.15 Proof 6.15 Solution
Prereq/Difficulty: Chaps 1-5/*** Operators Used: 3,V
Here we have the same information as in Exercise 9, except one sentence has been removed. Can you figure out who is on first base?
104
Reasoning by Cases
Exercise 16 Open File: Save As:
Proof 6.16 Proof 6.16 Solution
P'rereqiDifficulty: Chaps 1-5/**** Operators Used: -', A, --*, 4-
If Hyperproof bogs down checking an Exhaustive step, you have tried to do too much in your initial cases. Try breaking into cases on the basis of just the location of c. Then do the rest of your reasoning within your cases. Exercise 17 Open File: Save As:
Proof 6.17 Proof 6.17 Solution
Prereq/Difficulty: Chaps 1-5/* * * * OperatorsUsed: ]>n
Exercise 18 (Essentially diagrammatic proof) Open File: Save As:
Proof 6.18 Proof 6.18 Solution
1'rereq/Dzfficulty: Operators Used:
Chaps 1-5/** * ** V
It's easy to satisfy the goal in this problem. So why did we give it five stars? Because the second part of the problem is harder: Show (on paper) that it would be impossible to prove this sentential consequence using only Observe and the sentential consequence rules. To show this, give a rigorous informal proof, if you're up to it. Otherwise, explain as clearly as possible why you can't prove it using these rules. Exercise 19 (Return of the Tets) Open File: Save As:
Proof 6.19 Proof 6.19 Solution
PrereqiDifficulty: Chaps 1-5/***** Operators Used: 3BV
Dinner with the Tets was such a success that the Dodecs have invited them back. But there is a new set of constraints on the seating arrangement.
6.3
Recursive Close
Now that we have the rule Cases Exhaustive, we can introduce a new version of the Close rule. Suppose that within a subproof you have broken into an exhaustive range of cases. This means that according to the assumption of that subproof one of these cases must hold. But suppose in addition to this, you have closed each and every one of the exhaustive range of cases! In that eventuality, you can conclude that your original subproof itself can be closed. After all, it led to the following inconsistent conclusions: that one of the cases must hold (since they are exhaustive), and that none of them can hold (since they are all closed). When we close a case in this way, we call it a recursive close. A simple example of recursive close is shown in Figure 21. If you think about the given information, you can see that b must be one of the tetrahedra on the back row and so of course cannot be a
Recursive Close 105
*AL,& A, B>4Letreer& AIMA,
4 4~lESLLE<<
FrontOf(a, b)
Gwn
A.
Dodec(b) Case Closed
/
LCase
Closed Liative
R
Case Closed
ClMeM
/Cls MM / ExhAust /
ClOse
Figure 21: An example of recursive close dodecahedron. Thus if we start a subproof with the assumption Dodec(b), we should be able to close the subproof by arriving at a contradiction. This is what we've done in the displayed proof. First, on the basis of our assumption Dodec(b), we have broken into two cases, assigning the name b to each of the dodecahedra. But each of these cases can be closed on the basis of the sentence FrontOf (a, b). Thus neither case is really possible, so our original assumption, Dodec(b), is not possible either. We close this subproof by citing the Exhaustive step. When an Exhaustive step is cited in support of the Close rule, Hyperproof looks to see whether each case in the bracketed range of cases has been closed. If so, the rule checks out.
1. Open the file Recursive Close Example. See if you can recreate the proof depicted in Figure 21. 2. Start by assuming the sentence Dodec(b). Then within the subproof, create a case in which b is the dodecahedron on the left. Close this case, citing the sentence FrontOf (a, b).
106
Reasoning by Cases
3. After ending the closed subproof, create the second case and close that as well. Assert that these two cases are exhaustive, citing the assumption Dodec(b). 4. At this point, pause for a moment to think about what you've shown. On the assumption that b is a dodecahedron, you have concluded that one or the other of the two cases must hold, i.e., b must either be the dodecahedron on the left or the one on the right. But you have also shown that b can't be either of these, since both cases are inconsistent with other things we know. Intuitively, this can only mean one thing: our assumption that b is a dodecahedron must have been wrong. 5. To indicate this, you will close the subproof that began with the assumption Dodec(b). Add a step after the Exhaustive declaration. Change its rule to Close and cite the Exhaustive step as support. If your proof checks out, save it as Recursive Close Solution. (In Chapter 8, we will see how to use this proof to conclude -Dodec(b).)
Strategy and tactics Recursive close is often particularly useful in giving proofs of inconsistency. If the given information allows us to break into an exhaustive range of cases, each of which can be closed, then recursive close allows us to conclude that the given information is inconsistent. The only difference here is that the Case Closed declaration ends up at the main proof level.
1. Open the file Inconsistency Example. This file contains the same problem we considered in Exercise 14, Chapter 4. In that exercise, we showed that the given information is inconsistent, but the proof was extremely unintuitive. Using Cases Exhaustive and the recursive version of Close, we can now give a much more natural proof of this inconsistency. 2. Use the first given sentence to break into two exhaustive cases, corresponding to the two possible assignments of b and c. It should be easy to close both of these cases using the remaining sentences and the Apply rule. Once you have done that, show that the given in-formation is inconsistent by means of recursive close. 3. Check the goal and save your proof as Inconsistency Solution.
Name
107
Exercises Exercise 20 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Recursive Close Solution and Inconsistency Solution. Exercise t 21 Open File: Proof 6.21 Save As: Proof 6.21 Solution
PrereqiDifficulty: Chaps 1-51* Operators Used: None
Show that the given information is inconsistent, using recursive close. Exercise 22 Open File: Save As:
Proof 6.22 Proof 6.22 Solution
Prereq/Difficulty: Chaps 1-51** OperatorsUsed: ,-
You will probably find recursive close useful in solving this problem. Exercise 23 Open File: Save As:
Proof 6.23 Proof 6.23 Solution
Exerciset 24 Open File: Proof 6.24 Proof 6.24 Solution Save As:
PrereqiDifficulty: Chaps 1-5/* * * 3, V OperatorsUsed:
Prereq/Difficulty: Chaps 1-5/* * * * Operators Used: 3>n
Exercise 25 (Three tets in a line.) Open File: Save As:
Proof 6.25 Proof 6.25 Solution
Prereq/Difficulty: Chaps 1-5/* * * * Operators Used: 3~>n
You may end up using recursive close several times in solving this problem.
6.4
Name
Often, when we are reasoning about an object, it is helpful to be able to call it by name. But sometimes the object does not have a name, or has a name but not one we know. In these cases, it is common to give it an interim name, just so we can refer to it. This is not unlike the inspectors of Scotland Yard dubbing the unknown murderer "Jack the Ripper" so they could easily refer to him (or her). It doesn't mean they know any more about the murderer than they did before-they just invented a name for the purpose. In Hyperproof we can do the same thing. We can temporarily introduce new names for blocks in the situation, as long as the names have not already been used, either in the proof or in the goals of the problem. We can then reason as if the blocks have those names, and any conclusions we draw that don't mention the temporary names are legitimate. Figure 22 shows an example in which this technique is used to prove that the sentence
108
Reasoning by Cases
I~fl Vx Vy (Likes(x,
u)
Given Given
e-Between(c, x, y))
! Likes(a, b)
-bserve
-,Setween(c, a, b) * Dodec(a) A Tet(b) 3x 3 y (Dodec(x) A Tet(y) A -,Between(c, x, y)) i
i* 3x 3y (Dodec(x) A Tet(y) A -,setween(c, x, y))
O LoegCan
observe Log Con
None
Figure 22: Introducing new names into the situation 3x By (Dodec(x) A Tet(y) A - Between (c, x, y)) follows from the given information. (This sentence says that there is a dodecahedron and a tetrahedron that c is not between.) Before trying to understand this proof, let's go through some intuitive reasoning that shows this to be the case. The given sentence says that c is not between any two blocks if one of the blocks likes the other. The given situation depicts five blocks, but only the cube has a name. In order to take advantage of the given sentence, we want to focus attention on the dodecahedron and the tetrahedron at the two ends of the likes arc. For the moment, let's call this dodecahedron a and the tetrahedron b. According to the given situation, a likes b. From this and our given sentence, we can conclude that c is not between a and b. Hence it follows that there is indeed a dodecahedron (the one we've been calling a) and a tetrahedron (the one we've been calling b) that c is not between, as desired. The proof shown in Figure 22 is Hyperproof's version of this reasoning. Notice that the proof begins with a subproof in which the names a and b are assigned to the two key blocks. This looks like an ordinary Assume step except for one very important detail: to the left of the assume step's situation icon there is a box containing the names a and b. This box is our way of telling Hyperproof that we are introducing these names simply for use in this subproof. The remainder of the subproof is just a derivation of the desired sentence, 3x 3y (Dodec(x) A Tet(y) A -,Between(c, x, y)). Finally, the Name rule
Name
109
is applied to promote this sentence out of the subproof into the main proof. When are we allowed to use the Name rule to move a sentence out of a subproof? Two conditions must be met: First, the assumption step of the subproof can only introduce new names into the situation: no other situation changes are allowed. Second, the last step of the subproof must be a sentence that does not contain the new names. When these two conditions are met, that last sentence can be promoted out of the subproof.
1. Open the file Name Example. Let's construct the proof shown in Figure 22. 2. The first thing you need to do is add a step and change its rule to Assume. Next, notify Hyperproof that you intend to use the names a and b as temporary names that will only appear in the subproof. To do this, click on the downward pointing triangle next to the question mark icon. A popup menu will appear, similar to the rule menu, from which you can choose a temporary name. Choose a from the menu. This will give you a box containing the name a. When you click down on this box, the popup menu will reappear. Do this to add the name b to the box. 3. Now go up to the situation and assign the names a and b to the appropriate blocks. Hit Enter to see if your Assume step checks out. It should. 4. Let's see what would happen if we had introduced a name that is already being used elsewhere in the proof. Add the name c to the box containing a and b, and hit Enter again. This time the step will not check out, and in the status bar you will see a message explaining why: you've tried to introduce c as a new name when in fact c already appears both in the given sentence and in the goal sentence. To fix this step, click on the box again and choose c from the popup menu. This will remove c from the box. 5. You should have no trouble with the next four steps of the proof. You will have to figure out what to cite in support of your Log Con steps, but other than that, the rest of the subproof is straightforward. (If you have not studied the quantifiers yet, still try to finish the proof. Just copy the sentences exactly as they appear in Figure 22.) 6. After you have finished the subproof, choose End Subproof to get a new step in the main proof. Type in the target sentence and change the rule to Name. 7. What should you cite in support of the step you have just created? Intuitively, the step is justified by the entire subproof you have just completed. This is just the kind of support Hyperproof is looking for. Click on any of the steps
110
Reasoning by Cases
contained in the subproof. The entire subproof will be highlighted. When you hit Enter, your application of the Name rule should check out. 8. Check your goal and then save the proof as Name Solution.
Strategy and tactics You might think that the Name rule would be particularly useful in solving name goals, those that ask you to determine which block is named, say, b. While the Name rule might be useful in such a proof, you could never introduce b as a boxed name, since b appears in the goal. The Name rule is not a way of concluding that a block has a particular name, but only a way of using temporary names to prove facts that don't depend on those names. In Chapter 9 we will encounter two other rules that use similar techniques, the rules of 3 Elim and V Intro. In fact, the Name rule is mainly useful when you want to show that an existential claim (one beginning with 3) follows from the given information. Here's a way to recognize when the Name rule could be useful. If you are tempted to break into a large number of cases which you would then inspect to get an existential claim, you may be able to circumvent this by using the Name rule. The example shown in Figure 22 is a case in point. There we needed to conclude that there was a dodecahedron and a tetrahedron with a certain property. We could have broken into a very large number of cases (corresponding to all the locations of the offstage cube and tetrahedron compatible with the given sentence) and then inspected these cases to derive our existential claim. We avoided that by using the Name rule along with some sentential inferences. Exercises Exercise 26 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Name Solution. Exerciset 27 Open File: Save As:
Proof 6.27 Proof 6.27 Solution
Prereq/Difficulty: Chaps 1-5/** Operators Used: 3
The Name rule will allow you to solve this problem without breaking into cases, using Log Con and Ana Con. Exercise 28 Open File: Save As:
Proof 6.28 Proof 6.28 Solution
Prereq/Difficulty: OperatorsUsed:
Chaps 1-5/** 3, V
Review exercises 111
Exercise 29 Open File: Save As:
Proof 6.29 Proof 6.29 Solution
Prereq/Difficulty: Chaps l-5/*** OperatorsUsed: 3, V
Proof 6.30 Proof 6.30 Solution
Prereq/Difficulty: Chaps 1-5/**** OperatorsUsed: 32n
Exerciset 30 Open File: Save As:
6.5
Review exercises
The exercises provided here review all of the rules we have covered so far. Before you tackle them, there is one final observation that we should make about how to construct proofs. Many students assume that a proof is constructed in the order in which it appears once completed. Nothing could be further from the truth. Constructing a proof is really a matter of systematic exploration. Without some strategy in mind, you will just get lost. But when you begin you will not have your complete proof mapped out. What this means is that a proof does not grow from beginning to end, but tends to expand outward from the middle. For example, suppose you break into three cases based on the possible shapes of a particular block, hoping to prove some sentence using the rule Inspect. You will begin by starting each of these cases and then declare them exhaustive. Once this is complete, you will go back and explore the three cases in turn. Within these three cases the reasoning may go very differently. You may discover that one case can be closed, that another allows you to establish the desired sentence quite easily, while the third requires you to break into further cases. If you tried to see through all of these possibilities in advance, before beginning on any of them, the task would be overwhelming. Sometimes you will start a proof in a particular way only to discover that you cannot carry it through to the end. For example, you might begin an open question problem hoping to prove that a sentence follows from the given, only to find that it does not follow. You should not think of this as wasted effort, but rather as part of the process of exploration that constitutes analytical reasoning. Exercises Exercise 31 Open File: Save As:
Proof 6.31 Proof 6.31 Solution
PrereqiDifficulty: Chaps 1-5/* * Operators Used: -I, A, V
112
Reasoning by Cases
Exercise 32 Open File: Save As:
Proof 6.32 Proof 6.32 Solution
Prereq/Difficulty: Chaps 1-5/* * Operators Used: -, A, V, -
Proof 6.33 Proof 6.33 Solution
Prereq/Difficulty: Chaps 1-5/* * Operators Used: 3, V
Proof 6.34 Proof 6.34 Solution
Prereq/Difficulty: Chaps 1-5/** OperatorsUsed: 3, V
Proof 6.35 Proof 6.35 Solution
.Prereq/Difficulty: Chaps 1-5/* * * Operators Used: A, -
Proof 6.36 Proof 6.36 Solution
PrereqiDifficulty: Chaps 1-5/* * * -- , V, A, -* OperatorsUsed:
Proof 6.37 Proof 6.37 Solution
Prereq/Difficulty: Chaps 1-5/* * * Operators Used: 3,V
Proof 6.38 Proof 6.38 Solution
PrereqiDifficulty: Chaps 1-5/* * * * OperatorsUsed: V
Exerciset 33 Open File: Save As:
Exercise 34 Open File: Save As:
Exercise 35 Open File: Save As:
Exerciset 36 Open File: Save As:
Exercise 37 Open File: Save As:
Exerciset 38 Open File: Save As:
Exercise 39 (Polyhedral marriage practices Open File: Save As:
Proof 6.39 Proof 6.39 Solution
PrereqiDifficulty: Chaps 1-5/* * * Operators Used: 3>n
Among the polyhedra shown, every block is married to (adjoins) some block. The society precludes cubes from marrying anything but tets, and from having more than one spouse. But does this entail that none of the tets shown are married to other tets?
Review exercises 113
Exercise 40 (Bigamy) Open File: Save As:
Proof 6.40 Proof 6.40 Solution
Prereq/Di~ficulty: Chaps 1-5/*** OperatorsUsed: 3 >n
Is it consistent with the above marriage practices for one of the blocks shown to have four marriage partners? Exercise 41 Open File: Save As:
Proof 6.41 Proof 6.41 Solution
Prereq/Difficulty: Chaps 1-5/* * * * OperatorsUsed: V
Exercise 42 See if you can solve the following problem using the rules you have learned from Hyperproof. You will want to introduce an appropriate kind of diagram for representing information stated in the problem. Explain clearly where in your reasoning you have used analogues of Cases Exhaustive, Merge, Observe and so forth. You are to seat four people, Amy, Bob, Carol and Dennis, in a row of five chairs. Amy and Carol are to flank the empty chair, with Amy on the left. Carol must be closer to the center than Dennis, who is to sit next to Bob. Show that the empty chair is not in the middle or on either end. Determine who must be seated in the center.
Independence Proofs In this chapter we introduce the important notion of an independence proof, a proof which shows that a particular question can not be answered on the basis of the given information. In Chapter 2 we saw an example of an independence proof, one that showed that the truth value of a particular sentence could not be determined. This is one sort of independence proof, but it only scratches the surface.
7.1
Consequence, nonconsequence and independence
Normally, our reasoning is guided by a desire to settle some issue, to answer a question, to figure out whether something is the case. The aim is seldom to prove a conclusion we already know. Thus, when Sherlock Holmes lakes on a murder case, he knows that a crime has been committed and his goal is to figure out who was responsible. He doesn't begin the case trying to indict the victim's butler, housekeeper or mother-in-law, though one of these indictments could well be the end result. Of course the end result might be no indictment at all: the evidence may not be sufficient to determine the perpetrator. Well, maybe not for Sherlock Holmes, but for a real-life detective. This means that it's important to be skilled at extracting a conclusion from the evidence, but it's just as important to know when an answer is not determined by the evidence at hand. How does Holmes know when he doesn' t yet have enough evidence to determine the guilty party? Elementary: when there is more than one person whose guilt is consistent with all the evidence he has gathered. If Holmes can construct a possible scenario in which the butler committed the murder, and another in which the mother-in-law did it, and if each of these is compatible with the evidence, then the perpetrator is simply not determined by the available evidence. It might be the butler, it might be the mother-in-law, or it might be somebody else entirely. This form of reasoning is important, since it shows Holmes that the evidence gathering must continue. What form would this type of reasoning take in Hyperproof? Suppose you were given a problem whose goal was to determine the size of a particular block, but try as you might, you could not come up with a proof. How could you prove that the problem was defective,
114
Consequence, nonconsequenceand independence 115
,.
d-... .......
..
pUem
-1W0
Given Given
SameSize(ab)-+LeftOf(e,b)
Assune CTA
Assumptions Verified *
~ ~
v
~+
<
.. ...
~
; EL::t=¢
2
W FL
;0::::t~::
g
EAssunt
Assumptions Verified
Goals:
.
gE
CTA
e
Figure 23: A simple independence proof that the goal could not possibly be satisfied from the given information? Like Holmes, you might construct one situation in which the block is medium and another in which the block is large, and show that each of these situations is compatible with the given information. If you can do this, you will have shown that the given information does not determine the size of the block in question. An example of such a proof is shown in Figure 23. The given sentence tells us that if a is the same size as b, it is to the left of b. Since a is left of b, the logically naive might conclude that a is the same size as b, and hence medium. The displayed proof shows that this reasoning is faulty, that the size of a is not determined by the given information. The first subproof shows that it is consistent with the given information for a to be medium, while the second shows that it is consistent for a to be large. Taken together, the two subproofs show that the specific size of a is not determined by the information provided in the problem. In such cases, we say that the size of a is "independent" of the given information. For this reason, such proofs are known as independenceproofs.
1. Let's construct the independence proof shown in Figure 23. Open the file
116
IndependenceProofs
Independence Example. In this file you will see a new goal icon. Click once on the icon to see which block it refers to, then double click to open the goal window. You will see that you are asked to show that the size of a is not determined by the given information. 2. To satisfy this goal, we need to construct two subproofs which, together, show that the size of a is not uniquely determined by the given information. In Figure 23 we did this by showing that it is consistent for a to be either medium or large. But there are other equally correct proofs of this. For example, the first subproof might show that a could be small. What is important is that a have different sizes in the two situations and that a use of CTA show each to be consistent with the given. Construct two such subproofs and check your goal. 3. Save your completed proof as Independence Solution.
You may notice a striking similarity between the nonconsequence proofs you have given in earlier chapters and this independence proof. Just what is the relation between these two kinds of proof? An independence proof is, in effect, a double nonconsequence proof. For example, in Figure 23, we can think of the first subproof as showing that it does not follow that a is small or that a is large. The second subproof shows that it does not follow that a is small or that a is medium. Taken together, these two subproofs show that the size of a simply isn't determined by the given information.
1. Open the file Independence Continued. Here you are given the same information as before, but now you are asked to satisfy four goals. The first three are nonconsequence goals: they ask you to show that the sentences SmalI(a), Medium(a), and Large(a) do not follow from the given. The last goal is the same one you satisfied before. 2. Construct any proof that satisfies the first three goals. It will automatically satisfy the fourth as well. In solving this problem, you may have used three subproofs, one for each of the nonconsequence goals. This is in fact not necessary, since any two of the nonconsequence goals can be satisfied with a single subproof. (You just need to do two Observe steps in one of your subproofs.) So your proof can be done with just two subproofs. Those two subproofs will also satisfy the fourth goal. 3. When you are finished, save your proof as Continued Solution.
Moreindependencegoals 117
7.2
More independence goals
Each of the situation goals that you have encountered so far has a corresponding independence goal. For example, you have constructed proofs in which the goal was to determine the location of a particular block. But in many cases, the given information is simply insufficient to determine a block's location. How would we show this? A proof that you can't determine a block's location is much like a proof that you can't determine its size. What we need to show is that there is more than one possible location compatible with the given information. To do this, we must construct two extensions of the given situation. In these, the block in question must be located in different places on the grid and all the given sentences must be true.
1. Open the file Location Exa m pie and look at the given information. It's tempting to conclude that the cube named d must lie between the two dodecahedra on the grid. But the goal of this problem, indicated by the icon in the goal strip, is to show that the location of d cannot be determined from this information. 2. See if you can satisfy this goal. You will need two subproofs in which CTA checks out, but which assume different locations for block d. 3. Save your proof as Location Solution.
Whenever we have a situation goal of the consequence variety, indicated by an exclamation point, there is a corresponding independence goal, indicated by an X. In each case these are solved by constructing a pair of situations that disagree about the attribute in question, but which are consistent with the given information. Once we have learned how to satisfy both consequence and independence goals for a particular attribute, we are in a position to take on reasoning tasks where we don't know in advance which type of proof will be called for. Thus for each consequence goal, we have not only an independence goal, but also an open question goal. For example, the open question goal for a block's location requires you to figure out whether the block's location can be determined from the given information. If it can, you must give a proof of this; if it can't, you must give an independence proof-but you don't know in advance which it will be. Summary of some situation goals Glance over this summary of goals. You should now understand how to satisfy all of them.
118
IndependenceProofs
Shape goals Determine the shape of the block. This goal asks you to determine the shape of a specified block. To see which block it refers to, click once on the goal icon. When you do this, the block in question will become highlighted. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified block has been assigned a definite shape.
p
Show you cannot determine the shape of the block. This goal asks you to show that the shape of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. When you do this, the block in question will become highlighted. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign different shapes to the specified block. W (D
Can you determine the shape of the block? This goal asks whether you can determine the shape of a specified block. To see which block it refers to, click once on the goal icon. When you do this, the block in question will become highlighted. To satisfy this goal, you must either determine the shape of the block (that is, satisfy the first "shape" goal above) or show that you cannot determine the shape (that is, satisfy the second "shape" goal). It's up to you to figure out which.
Size goals i
Determine the size of the block. Th is goal asks you to determine the size of a specified block. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified block has been assigned a definite size.
X
Show you cannot determine the size of the block. This goal asks you to show that the size of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign different sizes to the specified block.
la
19
Q
Isl
Can you determine the size of the block? This goal asks whether you can determine the size of a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either determine the size of the block (that is, satisfy the first "size" goal above) or show that you cannot determine the size (that is, satisfy the second "size" goal). It's up to you to figure out which.
More independence goals 119 Location goals *
Determine the location of the block. This goal asks you to determine the location of a specified block. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified block has been assigned a definite location on the grid.
Et
Show you cannot determine the location of the block. This goal asks you to show that the location of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign different locations to the specified block.
wr
Can you determine the location of the block? This goal asks whether you can determine the location of a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either determine the location of the block (that is, satisfy the first "location" goal above) or show that you cannot determine the location (that is, satisfy the second "location" goal). It's up to you to figure out which.
Name goals " v9
2s If
eb
a
Determine which block is named "n". This goal asks you to determine the referent of the name "n" (where "n" can be any of our names). The icon will show which name, a, b, c,..., is at issue. (The icon at the left, for example, asks you to determine which block is named "a.") The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified name has been assigned to some block. Show you cannot determine which block is named "n". This goal asks you to show that you cannot determine from the given information which block is named 'n". The icon will show which name, a, b, c,. . . , is at issue. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign the specified name to two different blocks. Can you determine which block is named 'n"? This goal asks whether you can determine which block is named "n". The icon will show which name, a, b, c,. . . , is at issue. To satisfy this goal, you must either determine the referent of the specified name (that is, satisfy the first "name" goal above) or show that you cannot determine the referent of the name (that is, satisfy the second "name" goal). It's up to you to figure out which.
120
Independence Proofs
Strategy and tactics In attacking independence problems, you will want to use many of the strategies learned in previous chapters. Suppose your goal is to prove that you cannot determine the shape of a given block. To demonstrate this, all you really need are two assumed situations that extend the given situation and make all the given sentences true, but that assign different shapes to the block. In theory, there is no need to use any rules except for Assume and CTA. But in practice it is helpful to approach the solution in a more systematic manner. Recall that in the chapter on consistency proofs, we told you to begin by assessing the relative informativeness of the given sentences in light of the given situation and to build your assumed situation by first introducing the changes required by the most informative sentences. This advice makes even more sense now, since you will be building two extensions of the given situation. What you should do is start by applying any sentence
or sentences that uniquely determine some feature of the situation. If you do this before you start your Assume steps, then those required changes in the situation will already be in place for both extensions. This is not just a matter of saving a few steps, but helps you sort out and clarify the given information, a process that makes building the assumed situations much easier. In the case of open question goals, where you are asked whether a particular feature of the situation is determined by the given, a good strategy is to first apply any information you can, then break into cases, again on the basis of the most informative sentences. Then explore each case in turn to see if you can close the case, determine the feature in question within that case, or perhaps extend the situation further to show the feature is independent.
Exercises Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Independence Solution, Continued Solution, and Location Solution. Exercise 2 Open File: Save As:
Proof 7.02 Proof 7.02 Solution
PrereqiDifficulty: Chaps 1-6/** OperatorsUsed: A
Here you are asked to determine the location of one of the blocks and to show that you cannot determine the location of another. Exercise 3 Open File: Save As:
Proof 7.03 Proof 7.03 Solution
PrereqiDifficulty: Chaps 1-6/** Operators Used: A
Here you are asked whether you can determine the location of a particular block.
More independence goals
Exerciset 4 Open File: Save As:
Proof 7.04 Proof 7.04 Solution
121
Prereq/Difficulty: Chaps 1-6/* * * OperatorsUsed: -, A
Here you are asked to determine the size of one of the blocks and to show that you cannot determine the size of another. For the latter, you need two subproofs, each assigning a different size to the block in question. Exercise 5 Open File: Save As:
Proof 7.05 Proof 7.05 Solution
Prereq/Difficulty: Chaps 1-6/* * * OperatorsUsed: A, -
Here you are asked whether you can determine the size of a particular block. You will solve this either by proving that the block must have one of the sizes or by showing that there is more than one size that it can have. Exerciset 6 Open File: Save As:
Proof 7.06 Proof 7.06 Solution
PrereqiDifficulty: Chaps 1-6/* * * Operators Used: -, A
Here you are asked to determine the shape of one of the blocks and to show that you cannot determine the shape of another. For the latter, you need two subproofs, each assigning a different shape to the block in question. Exercise 7 Open File: Save As:
Proof 7.07 Proof 7.07 Solution
PrereqiDifficulty: Chaps 1-6/* * * OperatorsUsed:
Here you are asked whether you can determine the shape of a particular block. You will solve this either by proving that the block must have one of the shapes or by showing that there is more than one shape that it can have. Exerciset 8 Open File: Save As:
Proof 7.08 Proof 7.08 Solution
Prereq/Difficulty: Chaps 1-6/* * * Operators Used: -, A
Here there are three name goals. You are asked to determine which block is named d and to show that you cannot determine which block is named b. To satisfy the second of these goals, you need to construct two situations in which the name b is assigned to two different blocks. Don't forget your CTA steps. Finally, the third goal asks you whether you can determine which block is named a. Exercise 9 Open File: Save As:
Proof 7.09 Proof 7.09 Solution
PrereqiDifficulty: Chaps 1-6/* * * OperatorsUsed: -, A,
Here you are asked whether you can determine which blocks are named a, b, and c.
122
Independence Proofs
7.3
Constrained independence and consequence
As Holmes tries to determine the murderer, it is common for him to successively narrow down the range of possibilities until there is only one left. As he puts it in The Sign of Four, "When you have eliminated the impossible, whatever remains, however improbable, must be the truth." This formula served Holmes well, and describes a technique that bridges the gap between independence and logical consequence. When Holmes takes on a case, before he has any evidence beyond the crime itself, the possibilities are unconstrained. As he gathers evidence and reasons about it, the range of possibilities narrows. But as long as there is more than one possibility consistent with the evidence, his task is incomplete. Only when he eliminates all but one of an exhaustive range of possibilities, has the case been solved. As long as there is more than one possibility consistent with the evidence, the identity of the murderer is, in our sense, independent of the evidence. But clearly, this kind of independence is a matter of degree. If Holmes has narrowed the suspects down to two, he has a lot more information than when he started. Though the identity may still not be a consequence of what he knows, many possibilities have been ruled out. Suppose you are trying to determine which of the blocks in a given situation is named d. The state of your evidence may fall at either of two extremes, or somewhere in between. It might be consistent with the given information for d to be any of the blocks in the situation. Here we would say that the identity of d is completely independent of the given information. At the opposite extreme from such unconstrained independence lies consequence: when all but one candidate for d has been eliminated. In between these two extremes we find constrained independence, where two or three or more possibilities remain, though some have been eliminated. Most of the problems in the last section were instances of constrained independence. In solving these problems, you no doubt found yourself first eliminating possibilities in order to narrow the search for possibilities that remain open. If you narrow the search to one, your proof becomes a consequence proof. But if the search leaves open even two possibilities, each compatible with the given, then your proof becomes an independence proof. The distance between unconstrained independence and consequence depends on the issue in question. If the issue is the location of a particular block, there are initially sixtyfour possibilities. As we take into account the given information, both from the situation and from the sentences, some of these possibilities may be ruled out. Here there is a considerable distance between full independence and consequence. On the other hand, if the issue is the shape of a particular block, the distance is much shorter, from three possibilities down to one. In this case, there is only one step between unconstrained independence and consequence, namely, when two shapes are possible and one has been ruled out. The gap between unconstrained independence and consequence disappears with issues that can only be resolved in one of two ways. An important example of this arises when the
Constrainedindependence and consequence 123
truth of a sentence is at issue. Since the sentence is either true or false, these are the only initial possibilities. If either of these can be ruled out, the other must be the case. Thus the truth value of a sentence is either a consequence of the given information or is completely independent of that information.
1. Open the file Holmes At Work and display the likes arcs in the situation. Imagine you are Sherlock Holmes trying to find a vicious serial killer, the Bristol Butcher, nicknamed "b." Your initial piece of evidence, the single given sentence, is not very helpful, as the proof in this file shows. Examine each step of the proof and enter it to see that it checks out. This proof shows that the identity of b is completely unconstrained by the initial evidence. 2. Now suppose that you are given an additional piece of information, namely the sentence 3x 3y Between(b, x, y). Enter this as a new given sentence by choosing Add Given from the Proof menu. On the basis of this sentence, rule out two of the suspects. Do this by changing the CTA steps in two of the cases to Close steps, citing the new given sentence. Check your proof. This proof is a proof of constrainedindependence. It still shows that we cannot determine the identity of b, but we have narrowed the possibilities. 3. Finally, add another given sentence: 3x (Large(x) A Adjoins(b, x)). Use this to rule out one more of the original possibilities. Then use Merge to conclude that the remaining open case, however implausible, must be true. 4. Save your proof as Elementary Solution.
Exercises Exercise 10 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Elementary Solution. Exerciset 11 Open File: Save As:
Proof 7.11 Proof 7.11 Solution
PrereqiDifficulty: Chaps 1-6/* OperatorsUsed: None
In this problem, you are asked whether you can determine which block is named a. You are to give more than an ordinary independence proof, however. We have started the proof for you by breaking into all the possible assignments of the name a. In each of these cases,
124
Independence Proofs
you should continue the reasoning until you can either close the case or demonstrate that it is consistent with the given information. You do the latter, of course, by using CTA, which may appear in the subproof or in a further embedded subproof. Exercise 12 Open File: Save As:
Proof 7.12 Proof 7.12 Solution
PrereqiDifficulty: Chaps 1-6/** OperatorsUsed: 3>`
Here again, we want you to give a proof of constrained independence, that is, a proof that shows the shape of the indicated block is neither fully independent nor determined by the given information. We have started the proof by breaking into cases corresponding to all possible shapes of the block in question. Finish it by showing, for each case, whether it is consistent or inconsistent with the given information. Exercise 13 Open File: Save As:
Proof 7.13
Proof 7.13 Solution
Prereq/Difficulty: Chaps 1-6/*** OperatorsUsed: -', A
This problem contains the same given information that you had in Exercise 8. This time we want you to give a proof of constrained independence for the name a. Since there are six blocks, you will need to split into six initial cases. For each of these cases, show whether it is consistent or inconsistent with the given information. Compare your resulting proof with the proof you gave in Exercise 8. The earlier proof was probably shorter. Exerciset 14 Open File: Save As:
Proof 7.14 Proof 7.14 Solution
PrereqiDifficulty: Chaps 1-6/*** Operators Used: V
The task in this problem is to determine whether or not you can identify b on the basis of the given information, and to do so using the techniques we have been using to show constrained independence. Start with five exhaustive cases and rule out as many as you can. Show that the remaining cases are consistent. If you narrow things down to one case, you should merge this case to the top level of your proof.
7.4
Some final situation goals
There are three sets of goals that we haven't talked about yet. As with our other goals, each set consists of a consequence goal, an independence goal, and an open question goal. The first set is similar to others you are familiar with, except that the issue in question is whether the indicated block is happy. The first of these goals, indicated by an exclamation mark, asks you to figure out whether or not the chosen block is happy, and to prove whichever is the case. In other words, you must show that the block is happy or unhappy, as the case may be. The second goal, indicated by an X, asks you to give an independence
Some final situation goals 125
proof showing that it is consistent with the given information for the block to be happy, but also consistent for it not to be happy. Thus you must show that the block's state of mind can't be determined from the information given. Finally, the open question goal requires you to give a consequence or independence proof, but does not indicate which it will be. The second set of new goals involves the likes relation. Again, the goals follow the familiar pattern, except now two blocks are indicated, the likee" and the "likee." (In fact, these can be the same block.) The goals ask you to determine whether the first block likes the second, to prove that you cannot determine this, or asks whether you can settle the issue.
1. Open the file Happy/Likes Example. Examine the three goals by opening all of the goal windows. Let's see if we can construct a proof that satisfies the goals. 2. To satisfy the first, you will have to determine whether the block on the right is happy. You do this by constructing a proof in which the block is definitely happy or definitely not happy at some situation at the main level of the proof. 3. To satisfy the second goal, you will show that it is consistent with the given information for the block on the left to be either happy or not happy. 4. Similarly, to satisfy the third goal, you show that it is consistent for the middle block to like or not like the leftmost block. 5. Save your completed proof as Happy/Likes Solution.
Notice that with both the happy and likes goals, there are only two possible outcomes. Given a single block, either it is happy or not; given a pair of blocks, the first either likes or doesn't like the second. As a result of this, there is no gap between full independence and consequence. That is, there is no constrained independence in these cases. Either the issue is settled completely or not settled at all. We call the final set of goals identify goals. These are, in effect, the reverse of name goals. With a name goal, you are given a name and asked to figure out which block the name refers to. Thus imagine you are at a party and are looking for Claire, a woman you've never met, though you have been given her description. In this situation, you have a name, "Claire,' plus some other information, and your goal is to find the person to whom the name refers. This is how the name goals operate. In contrast, imagine that at the same party you see a man whose face is familiar but whose name you can't recall. You might ask a friend who that person is, hoping that your friend knows his name. In Hyperproof we call this sort of task-finding a name for a given
126
IndependenceProofs
object-an identify goal. If your friend says "That's Max," your friend has identified the person in question. The first identify goal, indicated by an exclamation point, asks you to identify an indicated block-that is, to figure out its name. What you need to do in order to solve this kind of problem, is find which name from among those used in the given sentences refers to that block. You do this by arriving at a situation that does not depend on additional assumptions, and in which the block in question has been assigned one of the names used in the given sentences. There are a couple of things to note about this kind of goal. The first is that you cannot satisfy the goal by arbitrarily assigning a name using the Name rule. The Name rule lets you introduce, in a subproof, a brand new name for referring to an unnamed block. But it is of no use when it comes to identifying the block. To identify the block you need to find an existing name, one already in use in the given sentences, that refers to that block. Using the Name rule would be like your friend at the party saying "I don't know who he is-let's call him 'Jake'." We would hardly call this "identifying" the unknown person. The second thing to note is that blocks, like people, can have more than one name. But you only need to find one name to identify a given block. Even if it turns out that the block could be shown to have several names, one is enough to identify it. With the second identify goal, a block is indicated and you are asked to show that you cannot identify it. How would we satisfy this sort of goal? Well, we would need to show that it is consistent with the given information for each name appearing in the given sentences to refer to some other block. Thus this goal is satisfied in a proof if for each name used in those sentences, there is a situation in which that name labels some block other than the indicated block, and in which CTA checks out. This can sometimes be done in a single situation in which all the names are assigned to other blocks, but sometimes requires that you build several different situations. The final identify goal asks whether you can identify the indicated block. To satisfy this goal, you must either identify the block or show that you cannot identify the block based on the information given.
I. Open the file Identify Example and try to satisfy the two goals. For the first goal, you must show that one of the names used in the given sentences must refer to the indicated block. To satisfy the second goal, you must show that it is consistent for each of the names appearing in the given sentences to refer to some block other than the indicated block. In this case, you can do this using a single subproof. 2. When you are finished, save your proof as Identify Solution.
Some final situationgoals
127
The example proof you have just done illustrates a peculiarity of independence proofs for identification goals. We usually think of independence proofs as necessarily containing two or more possibilities, possibilities that disagree about the issue in question. In our example, we had an independence proof with only one possibility displayed. But it was a possibility of a very special sort: it showed that it was consistent with the given information for the specified block not to have any name at all. This kind of independence proof does not arise with the other issues we have considered. After all, a block must have some shape, size, location, and so on. Summary of goals Happy goals
mj Determine whether the block is happy. This goal asks you to determine whether a specified block is happy. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified block is either definitely happy or definitely not happy. Show you cannot determine whether the block is happy. This goal asks you to show that the state of mind of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situation at one of those steps has the block happy, while at the other the specified block is not happy. Can you determine whether the block is happy? This goal asks whether you can determine the state of mind of a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either determine whether the block is happy (that is, satisfy the first "happy" goal above) or show that you cannot determine whether the block is happy (that is, satisfy the second "happy" goal). It's up to you to figure out which. Likes goals
9
@
Determine whether one block likes another. This goal asks you to determine whether one specified block likes another specified block. To see which blocks it refers to, click once on the icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the first block either definitely likes or definitely does not like the second. Show you cannot determine whether one block likes another. This goal asks you to show that you cannot determine from the given information whether the first block
128
IndependenceProofs
likes the second. To see which blocks it refers to, click once on the icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situation at one of those steps has the first block liking the second, while at the other step the first block does not like the second. @
Can you determine whether one block likes another? This goal asks whether you can determine from the given information whether the first block likes the second. To see which blocks it refers to, click once on the icon. To satisfy this goal, you must either determine whether the first block likes the second (that is, satisfy the first "likes" goal above) or show that you cannot determine whether the first block likes the second (that is, satisfy the second "likes" goal). It's up to you to figure out which.
Identify goals
w
^
w
Identify the block. This goal asks you to identify a specified block. To see which block it refers to, click once on the goal icon. To identify the block, you must find a name from among those used in the given sentences that refers to that block. Thus, the goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which a name that appears in the given sentences has been assigned to the specified block. Show you cannot identify the block. This goal asks you to show that you cannot identify a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must show that, for each name used in the given sentences, it is consistent for that name to be assigned to some block other than the specified block. Thus the goal is satisfied if, for each name appearing in the given sentences, there is a use of CTA somewhere in the proof whose situation has that name assigned to a block other than the specified block. (Note that this does not require there to be a separate use of CTA for each name.) Can you identify the block? This goal asks whether you can identify a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either identify the block (that is, satisfy the first "identify" goal above) or show that you cannot identify the block (that is, satisfy the second "identify" goal). It's up to you to figure out which.
Exercises Exercise 15 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Happy/Likes Solution and Identify Solution.
Review exercises 129
Exercise 16 Open File: Save As:
Proof 7.16 Proof 7.16 Solution
PrereqiDifficulty: Chaps 1-6/* Operators Used:
Proof 7.17 Proof 7.17 Solution
PrereqiDifficulty: Chaps 1-6/* Operators Used:
C, -*
Exercise 17 Open File: Save As:
Exercise 18 (Why are these dodecs smiling?) Open File: Save As:
Proof 7.18 Proof 7.18 Solution
PrereqiDifficulty: Chaps 1-6/* * Operators Used: 3I>n
Proof 7.19 Proof 7.19 Solution
Prereq/Difficulty: Chaps 1-6/* * Operators Used:
Exerciset 19 Open File: Save As:
Exercise 20 (Self esteem) Open File: Save As:
Proof 7.20 Proof 7.20 Solution
Prereq/Difficulty: Chaps 1-6/* * * OperatorsUsed: A
Proof 7.21 Proof 7.21 Solution
PrereqiDifficulty: Chaps 1-6/* Operators Used: A
Exerciset 21 Open File: Save As:
In this proof, you can satisfy the independence goal using a single subproof. Exercise 22 Open File: Save As:
Proof 7.22 Proof 7.22 Solution
Prereq/Difficulty: Chaps 1-6/* Operators Used: None
Here you will give an independence proof that requires two subproofs.
7.5
Review exercises
The following set of problems provides a review of the last three chapters. They deploy the new situation goals in more intricate ways than the exercises you have encountered so far in this chapter.
130
IndependenceProofs
Exercise 23 Open File: Save As:
Proof 7.23 Proof 7.23 Solution
Prereq/Difficulty: Chaps 1-4/* Operators Used:
Proof 7.24 Proof 7.24 Solution
.PrereqiDifficulty: Chaps 1-4/* * Operators Used: A,-'
Proof 7.25 Proof 7.25 Solution
PrereqDi/fficulty:
Exercise 24 Open File: Save As: Exerciset 25 Open File: Save As:
Operators Used:
Chaps 1-4/* * * V
Exercise 26 Open File: Save As:
Proof 7.26 Proof 7.26 Solution
,Prereq/Difficulty:
Proof 7.27 Proof 7.27 Solution
Prereq/Difficulty: Chaps 1-6/* * * OperatorsUsed: 3, V
Proof 7.28 Proof 7.28 Solution
PrereqiDifficulty: Chaps 1-6/* * * Operators Used: 3, V
Proof 7.29 Proof 7.29 Solution
PrereqiDifficulty: Chaps 1-6/*** Operators Used: 3Žfn
Proof 7.30 Proof 7.30 Solution
PlrereqiDifficulty: Chaps 1-6/* * * Operators Used: 3>n
Proof 7.31 Proof 7.31 Solution
1'rereq/Difficulty: OperatorsUsed:
OperatorsUsed:
Chaps 1-6/* * * 3, V
Exercise 27 Open File: Save As: Exerciset 28 Open File: Save As: Exercise 29 Open File: Save As: Exercise 30 Open File: Save As: Exerciset 31 Open File: Save As:
Chaps 1-6/* * * 3>n
Review exercises 131
Exercise 32 Open File: Save As:
Proof 7.32 Proof 7.32 Solution
PrereqlDifficulty: Chaps 1-6/* * * * OperatorsUsed: 3, V
Exercise 33 (Don't get too close!) Open File: Save As:
Proof 7.33 Proof 7.33 Solution
Prereq/Difficulty: Chaps 1-6/* * * * OperatorsUsed: 3, V
Proof 7.34 Proof 7.34 Solution
PrereqiDifficulty: Chaps 1-6/* * * * 3>n OperatorsUsed:
Exercise 34 Open File: Save As:
Exercise 35 (A nine goal puzzle) Open File: Save As:
Proof 7.35 Proof 7.35 Solution
PrereqiDifficulty: Chaps 1-6/* * * * 3>n OperatorsUsed:
Proof 7.36 Proof 7.36 Solution
PrereqiDifficulty: Chaps 1-4/* * * * * OperatorsUsed: 3, V
Proof 7.37 Proof 7.37 Solution
PrereqiDifficulty: Chaps 1-6/***** Operators Used: 3>n
Exercise 36 Open File: Save As: Exercise 37 Open File: Save As:
Exercise 38 Using the same information given in Exercise 42 of Chapter 6 (page 113), show that Bob or Dennis must be on the right end, but that you cannot tell which. Point out where you are using analogues of the Hyperproof rules. This is an example of a constrained independence proof.
*A.It
011~
Sentential Reasoning
AS
I*
Sentence Connective Rules In Chapter 3, you learned about the notion of tautological consequence and Hyperproof's rule Taut Con. As we have seen this rule is very useful. But it sometimes obscures the basic structure of a piece of reasoning. In particular, there are certain distinctive types of reasoning associated with the propositional operators that are not kept distinct in proofs using Taut Con. Consider, for example, the following two instances of Taut Con: .
T
(Tet(a) A Cube(b)) v (Tet(a) A Dodec(b))
Taut Con
* Tet(a)
0
L-(Cube(c)
Given Given
Given
V Small(d))
Given
*-'Small(d)
Taut Con
Pause for a moment and convince yourself that both of these inferences are valid. As you do this, be careful to notice how you recognize their validity. Probably your reasoning is very different in the two cases. In the first case, you may have reasoned as follows: We are given that (Tet(a) A Cube(b)) V (Tet(a) A Dodec(b)). Hence either Tet(a) A Cube(b) is the case or Tet(a) A Dodec(b) is the case. But for either of these to be the case, Tet(a) must hold. Consequently, Tet(a) follows from the given sentence. By contrast, your reasoning in the second case probably went something like this: Suppose that the conclusion did not hold, that is, suppose Small(d) were true. Then Cube(c) V Small(d) would also be true. But we are given that this is 135
136
Sentence Connective Rules
not true. Consequently, if -i(Cube(c) V Small(d)) holds, then -'Small(d) must hold as well. These two pieces of reasoning have very different forms. The first is what is known as a "proof by cases." We consider what would happen in either of the two cases allowed by the given sentence and find that our conclusion holds in both. The second is known as a "proof by contradiction." We see that if the conclusion does not hold, then this would contradict our given information. These are importantly different methods of proof that get obscured by the Taut Con rule. To become proficient reasoners, you will need to master both of these methods and some others besides. In this chapter, we present a collection of rules, each of which is extremely simple, but which taken together allow you to prove everything that can be proven using Taut Con. The rules are different from Taut Con in that they are purely "syntactic." What we mean by this is that the question of whether or not they apply in a given instance depends only on the syntactic form of the sentences involved. You don't have to think about things like truth tables, situations, or worlds. For each of the logical connectives, we present two rules, an "introduction rule" and an "elimination rule." The introduction rule for a given connective allows you to prove sentences where that symbol is the main connective. By contrast, the elimination rule for the connective gives you a way to use sentences with that symbol as main connective in proving other sentences. Not all of the sentential rules that we look at in this chapter are very interesting. But some of them are both interesting and important. They correspond to methods of proof that you will encounter over and over again in daily life: in math classes, in courts of law, in debates with your friends. And, we hope, in your own reasoning. These methods of proof are distinctive in that they involve the use of auxiliary assumptions and subproofs. In this chapter, the key rules are the introduction rules for a, and +-A, and the elimination rule for V. While the remaining simpler rules are never really necessary if you have the rule Taut Con, you will often find yourself using these more complex methods of proof in contexts where Taut Con would not apply. -,
8.1
Conjunction rules
The conjunction rules are the simplest of the sentential rules. Conjunction elimination (A Elim) allows us to assert any sentence if it is a conjunct of a sentence that we have already obtained. In other words, if we already have a sentence of the form P A Q in the proof, then we can assert P (or Q) by citing this sentence and invoking the rule A Elim. This is clearly a valid rule. In fact it's so obvious that many students wonder why we bother to state it. If you know that both P and Q are true, then of course you know that P alone is true.
Conjunction rules
137
We will summarize the general form of this rule in the following way, indicating the step that invokes the rule by means of the focus slider, D>, and the support required for the step by means of a rectangle enclosing the support: Conjunction Elimination (A Elim): *| p,
D
*
A . .. A Pi :A: ***A Pn
Pi
A Elim
Since conjunctions can have more than two conjuncts, we emphasize that the rule allows you to assert any one of them, whether it's at the beginning, the end, or somewhere in the middle. In fact, Hyperproof is even more lenient than our general form might suggest. It allows us to use A Elim to pick out any collection ofthe conjuncts, and assert the conjunction of these (in any order). For example, the following would be an acceptable use of A Elim: * Tet(a) A Tet(b) A Tet(c) A Tet(d) D
* Tet(d)
A Tet(b)
A Elim
Since you can take any collection of the conjuncts in the cited sentence and assert their conjunction in any order, this rule allows us to prove that conjunction is "commutative." In other words, we can use it to take a conjunction and reorder its conjuncts however we please: * Tet(a) A Tet(b)| D
*Tet(b)
A Tet(a)
A Elim
1. Open the file Conj Elim Practice. This proof contains no situation information at all and only a single sentence. There are four goals, each of which asks you to prove a sentence. 2. Since there is no situation information to worry about, you might want to get rid of the situation pane and give yourself maximum room in the lower proof pane. To do this, choose Hide Situation (Command-U) from the Situation
138
Sentence Connective Rules
menu. Alternatively, you can move the line that divides the situation pane and the proof pane to the very top of the window. You do this by dragging the black rectangle that appears on the far right of the dividing line (in the scroll bar) to the top of the window. 3. You should be able to prove each of the four goal sentences by means of a single application of A Elim. When you have proven these four sentences, check your goals and save the proof as Conj Elim Solution. 4. Next try out other sentences to see whether they follow from the given sentence by A Elim. For example, does Tet(c) A Small(a) follow? Should it? 5. When you are satisfied you understand conjunction elimination, close the proof, but don't save the changes you have made.
Conjunction introduction (A Intro) is an equally simple rule. It allows us to cite any number of sentences that we have proven individually and assert the conjunction of those sentences. For example, if our proof contains the three sentences Cube(a), Large(a), and -Happy(a), conjunction introduction allows us to conclude Cube(a) A Large(a)A -Happy(a). We can state the general form of this rule as follows, indicating that there may be any number of support sentences by means of the symbol 4. Conjunction Introduction (A Intro): * P1
4 * pA t>
. PiA .. . A P
A Intro
Here again, our statement of the rule is somewhat more restrictive than the actual rule. It may seem as if the order in which the sentences appear in the proof is significant, but it is not. Neither is the order in which you cite the sentences. Finally, if you cite a sentence, then that sentence can appear more than once as a conjunct in the concluding sentence. For example, you could use this rule to conclude Cube(a) A Cube(a) from the sentence Cube(a), if you wanted to for some reason. One special use of A Intro that you might not think of is the "limiting" case in which there is a single support sentence. According to our general statement of A Intro, in this case we should be able to infer the "conjunction" that contains the support sentence as the
Conjunctionrules 139
sole conjunct. (Notice that any sentence, no matter what its form, can be thought of as a conjunction with only one conjunct!) In other words, Hyperproof allows us to repeat any sentence that we have already proven and justify it by means of the rule A Intro. For example, the following is a perfectly legitimate use of this rule: -.Tet(a) V Small(a) D> *
-Tet(a)
v Small(a)
A Intro
Some books, including The Language of First-OrderLogic, introduce a special rule for repeating a sentence that has already been proven, calling it the rule of reiteration. Hyperproof does not need such a rule, thanks to our very general interpretation of A Intro. Where you would have used reiteration, just use A Intro.
1. Open the file Conj Intro Practice and prove the two sentences requested in the goals. You will need to use both of the conjunction rules in each case. 2. Once the goals check out, save your proof as Conj Intro Solution.
Both of the conjunction rules have default applications that can save you some typing. If at a new step you cite a conjunction and change the rule to A Elim, then when you hit Enter (or choose Check Proof), Hyperproof will fill in the blank step with the leftmost conjunct in the cited sentence. If you cite several sentences and apply A Intro, Hyperproof will fill in the conjunction of those steps, ordering conjuncts in the same order as they were cited.
1. Open the file Conj Defaults. Move the focus to the first blank step, the one immediately following the given sentences. Notice that this step has a rule specified, as well as a support sentence cited. Hit the Enter key to see what default Hyperproof will generate. Then, focus on each successive step, try to predict what the default will be, and then hit Enter. (The last two steps give different results because we entered the support steps in different orders.) 2. Feel free to experiment with the rule defaults some more, to see when they are useful. When you are finished, there is no need to save your proof.
140
Sentence ConnectiveRules
8.2 Disjunction rules Disjunction introduction (V Intro) is also a simple rule, though people sometimes have trouble understanding why it is legitimate or why we would ever want to use it. The rule tells us that if we have proven a sentence P. then we can cite this sentence and infer any disjunction that has P as one of its disjuncts. For example, we can move from P to P V Q, orto Q V P, or even to Q V P V R. When you think about it, this is clearly a valid inference. If you know that the sentence P is true, then any disjunction containing P as one of its disjuncts must also be true. After all, the disjunction simply says that at least one of the disjuncts is true, and we already know P is true. Even though this rule is valid, it still strikes some people as odd. For one thing, it looks like we are simply pulling the other disjuncts out of a hat. For another, it looks like we are moving from a sentence that gives us more information, P. to a sentence that gives us less information, P V Q. Why would we want to throw away information in the course of our reasoning? The answer to both of these puzzles will become clear when we start to use all of our rules together. Here's an example of the kind of circumstance that can arise. Suppose that you have the conditional sentence: (Tet(a) V Cube(a))
-*
Small(a)
and you have managed to prove Tet(a). We should obviously be able to conclude Small(a), but as you will soon see, our rules for the conditional (-a) will only allow us to do this if we have proven the entire antecedent, Tet(a) v Cube(a), of the above conditional. What V Intro lets us do is assert this disjunction as soon as we have shown that one of its disjuncts is true. Our general statement of V Intro looks like this. Note that Hyperproof allows you to conclude with a disjunction of any length, so long as the sentence cited appears as one of the disjuncts. It can be the first, the last, or smack in the middle.
Disjunction Introduction (V Intro):
D *PIV...VPiV ... VP
VIntro
The rule of disjunction elimination (V Elim) is a complicated, but important, rule. It is a purely sentential analog of reasoning by cases, something you are already very familiar
Disjunctionrules 141
with if you have worked through Chapter 6. Suppose you have a disjunction, P V Q, and it turns out that on the assumption that P is the case, you can prove some sentence S, and on the assumption that Q is the case, you can also prove S. Then clearly, you should be able to conclude that S must hold, since you know that one of these two assumptions holds, though you do not know which one. Before we give the general statement of disjunction elimination, let's look at a simple example of a proof that uses it. We'll take as our example the piece of reasoning with which we started the chapter. Suppose you are given the sentence: (Tet(a) A Cube(b)) V (Tet(a) A Dodec(b)) and want to conclude by V Elim that, whichever disjunct is the case, a is a tetrahedron. Here is what your proof would look like. (To save some space, we have used single letters to abbreviate the various atomic sentences.)
0 E (A A B) V (A A C)
L.AAB |mA
|.AAC 11 mA
A
Given Given Assume A Elim Assume A Elimn V Elim
Notice that in citing the support for the disjunction elimination step, we have cited the disjunctive sentence, plus the two subproofs. Each of these pieces is required for the application of V Elim to be valid. In this example, the disjunctive sentence we cite has two disjuncts, and there are two corresponding subproofs. But in fact, we can use V Elim with a longer disjunction, say one with four disjuncts, though of course we then need additional subproofs for the additional disjuncts. We can state the general form of disjunction elimination as follows. Here we use the symbol 4Jto indicate that there must be a subproof concluding with the sentence S for each disjunct in the original sentence.
142
Sentence Connective Rules Disjunction Elimination (V Elim):
. PI V ... V Pn
4.'
D
IS
V Elim
Here again, there are a couple of ways in which Hyperproof is more lenient in checking the rule than the general form might imply. For one thing, the cited subproofs do not have to appear in any special order, and they do not have to be contiguous. Secondly, the sentence S need not be the last sentence in the subproof, though usually it will be. S simply has to appear on the "main level" of each subproof, not necessarily as the very last step. Finally, if you start with a disjunction containing more than two disjuncts, say P V Q V R, Hyperproof doesn't actually require three subproofs. If you have one subproof starting with P and one starting with Q V R, or one starting with Q and one starting with P V R, then Hyperproof will still be happy, so long as you've proven S in each of these cases.
1. Open the file Disjunction Practice. In this file, you are asked to prove Medium(c) V Large(c) from the sentence: (Happy(c) A Large(c)) V Medium(c) See if you can do this. You will want to use both of the disjunction rules to do this, as well as conjunction elimination. 2. Save your completed proof as Disjuncton Solution.
Disjunctionrules 143
Both disjunction rules have default applications, though they work rather differently. If you cite appropriate support for V Elim (i.e., a disjunction and subproofs for each disjunct) and then hit Enter without typing a sentence, Hyperproof will look at the subproofs cited and, if they all end with the same sentence, insert that sentence into the step. If you cite a sentence and apply V Intro without typing a sentence, Hyperproof will insert the cited sentence followed by V, leaving the insertion point after the V so you can type in the rest of the disjunction you had in mind.
1. Open the file Disj Defaults. Get rid of the situation pane so that you can see the entire proof, then click on the goal icon so you can see the sentence you are asked to prove. 2. The required proof is, in fact, almost complete. Focus on each empty step in succession, hitting the Enter key so that Hyperproof will fill in the default sentence. On the second empty step you will have to finish the sentence by typing in the second disjunct, (Cube(b) A Large(b)), of the goal sentence. (If the last step does not generate a default, it is because you have not typed the right thing in the V Intro step.) 3. When you are finished, see if the proof and goal check out. Do you understand the proof? Could you have come up with it on your own? There is no need to save the proof.
Disjunctive Close If you have worked through Chapter 6, you have probably noticed the similarity between V Elim and Cases Exhaustive. Actually, thanks to the sentential version of Cases Exhaustive, we can do everything with this rule that we can do with V Elim, and more. We have introduced the rule of V Elim only because it is a standard rule in Fitch style deductive systems. Besides that, it adds a certain uniformity to our treatment of the sentential connectives. The similarity between these two rules suggests the need for another version of the Close rule. Recall how the Cases Exhaustive rule figures into the recursive version of the Close rule. If you know that a range of cases is exhaustive (i.e., that at least one of them must hold), but you also know that each of the cases has been closed (and so none of them can possibly hold), then you have uncovered a contradiction. By citing the Exhaustive step, you can use the Close rule to "export" the Case Closed declaration out of the exhaustive cases.
144
Sentence Connective Rules
The same thing can happen with V Elim. That is, you might find yourself in a position where you have proven (or assumed) a disjunction, say P V Q. But when you assume P. you can prove a contradiction, and when you assume Q, you can prove a contradiction. Then you should be able to "export" the contradiction out of the subproofs. But to do this, we need a new version of the Close rule. We will call it the disjunctive version of the Close rule. Its general form looks like this: Disjunctive Close (Close):
* P1 V ... VPn
4
D>
Case Closed
Close
Note that the general form of disjunctive close is exactly the same as the form for disjunction elimination except that, instead of exporting a sentence S from the subproofs, we export the declaration Case Closed. We will look at an important example of disjunctive close in the next section, after we introduce the two negation rules.
Exercises In the following exercises, and in the remainder of this chapter, you should not use the rules Taut Con, Log Con, or Ana Con. Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Conj Elim Solution, Conj Intro Solution, and Disjunction Solution.
Negation rules
145
Exerciset 2 Open File: Save As:
Proof 8.02 Proof 8.02 Solution
Prereq/Difficulty: Chaps 1, 2/** Operators Used: A, V
Use the sentential rules we have discussed so far to prove the sentence requested. For this proof, you will need both of our disjunction rules, as well as A Intro. Exercise 3 Open File: Save As:
Proof 8.03 Proof 8.03 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: A,V
Use the sentential rules we have discussed so far to prove the two sentences requested. Remember that in the rule of disjunction elimination, the derived sentence need not be the last sentence of the subproofs. This should cut down on the number of subproofs needed in your proof.
8.3 Negation rules The rule of negation elimination (-a Elim) allows us to get rid of extraneous negation symbols two at a time. In other words, if we have proven the sentence L-,P, we can assert the equivalent sentence P. Negation Elimination (-a Elim):
D *P
'
Elim
Since we can obviously remove any even number of negation symbols by removing them two at a time, Hyperproof allows you to do this in a single application of -, Elim. In other words, you can move directly from, say, D--P to P with a single use of this rule. Negation elimination may well be the most trivial of all the sentential rules. In contrast, negation introduction (a Intro) is one of the most interesting. It corresponds to the method of reasoning known as proof by contradiction. The rule says that if you can prove a contradiction on the basis of an additional assumption P. then you are entitled to infer -,P from the original premises. It is traditional to require that the contradiction take the form of a proof of some sentence Q A -Q. But Hyperproof recognizes any of the various kinds of inconsistency that allow you to close a subproof by means of the Close rule. Schematically, the rule of negation introduction looks like this:
146
Sentence Connective Rules Negation Introduction (-a Intro):
Case Closed (orQnA-Q) M
~P-'
Intro
To apply Intro, the contradiction exhibited in your subproof can either take the form of a Case Closed declaration or any sentence of the form Q A -,Q. As an example of - Intro, let's look at a proof of -'Cube(b) from the given sentence -(Cube(c) V Small(d)). This, you will recall, was the second example we used at the beginning of this chapter. The intuitive reasoning we described there would turn into the following proof in Hyperproof. -
v
* -'(Cube(c) V Small(d)) - Small(d) * Cube(c) V Small(d) Case Closed . -Small(d)
Given Given Assume V Intro Close - Intro
Pause for a moment to compare this formal proof with the intuitive reasoning given on page 135. Can you see how the two correspond to one another? (You will have to figure out the support steps for the formal proof, since they are not displayed above.)
1. Open the file Negation Practice. Here you are asked to prove -'Small(d) from the given sentence -'(Cube(c) V Small d)). 2. Instead of doing it exactly like we have done above, see if you can come up with a subproof that ends with a sentence of the form Q A -,Q. Your proof will have the same number of steps as the proof above, but the Close step will be replaced by a A Intro step.
Negation rules 147
3. When you are finished, save your proof as Negation Solution.
Let's look at a more interesting use of Intro, one in which the subproof is closed using the disjunctive version of the Close rule. -
1. Open the file Disjunctive Close Practice. Here you are asked to prove that -'(Tet(a) V Tet(b)) follows from -'Tet(a) A -'Tet(b). 2. Since the sentence we want to prove starts with a negation, it is a good bet that we will prove it using - Intro. So assume Tet(a) V Tet(b), and then we'll see if we can find an inconsistency that will let us close the subproof. 3. Do you see how to demonstrate the inconsistency? According to our assumption, either a or b is a tetrahedron. But if you assume Tet(a) you can quickly derive a contradiction from the given sentence -'Tet(a) A -,Tet(b). Similarly, if you assume Tet(b). So you should be able to apply disjunctive close to show the inconsistency of our original assumption, Tet(a) v Tet(b). Then, - Intro will give you the desired conclusion. 4. When you have finished your proof, save it as Disjunctive Close Solution.
Both of the negation rules have default applications. In a default application of - Elim, Hyperproof will remove as many negation signs as possible from the front of the cited sentence (the number must be even, of course) and insert the resulting sentence at the -' Elim step. In a default application of - Intro, the inserted sentence will be the negation of the assumption of the cited subproof.
-M 1. Open the file Negation Defaults. First click on the goal icon to see what sentence we are trying to prove. Then focus on each step in succession and hit the Enter key. Before moving to the next step, make sure you understand why the step checks out and, more important, why we are doing what we are doing at that step. At the empty steps, try to predict which sentence Hyperproof will provide as a default before you hit Enter. 2. When you are done, make sure you understand the completed proof. There is no need to save it.
148
Sentence ConnectiveRules
Strategy and tactics Many of the exercises in this chapter require you to give entirely sentential proofs, proofs that use only the introduction and elimination rules for the various connectives. Since these rules are purely "syntactic" (that is, whether or not they apply depends only on the forms of the sentences involved), many students make a fundamental mistake in approaching such proofs: They ignore the meanings of the given and goal sentences, and pay attention only to their syntactic form. These students try constructing proofs by blindly piecing together a sequence of steps permitted by the introduction and elimination rules, a process no more related to reasoning than playing solitaire or working anagrams. This approach occasionally works, but more often than not it will fail-or at any rate, make it harder to find a proof. It is always best to keep firmly in mind what the sentences in your proof mean. We have found that students who pay attention to the meanings of the sentences avoid innumerable pitfalls that can beset the construction of a sentential proof. The first thing you should do in a sentential proof is convince yourself that the goal sentence really does follow from the given information. You do this not by comparing the forms of the sentences with the sentential rules you have learned, but by paying attention to what the sentences mean. After you've done this, see if you can give an informal proof that the desired conclusion follows from the given, the kind of proof you might use to convince a fellow classmate. Often your informal reasoning can be directly formalized using Hyperproof's rules, and so you'll be on your way to finding a proof. Most of the strategies you learned in previous chapters apply equally to the construction of sentential proofs. But there is an important new tactic that is particularly helpful with these proofs. This is the tactic known as "working backwards." What you do is look at your goal sentence and see what additional sentence or sentences would allow you to infer your goal. Then you simply insert these steps into your proof, not worrying exactly how they will be justified, and cite them in support of your goal sentence. You then take these intermediate steps as new goals and see if you can prove them. Once you do, your proof will be complete. Let's look at an example of how this tactic works.
1. Open the file Strategy Example and read over the given and goal sentences. The first thing to do in this or any sentential proof is to convince yourself that the goal sentence really follows from the given information. In this case, this is fairly easy to do. Since we are told that it is not the case that either A or B is true, it is easy to see that both A and B have to be false. 2. How are we going to prove this? Let's start by working backwards. Since our conclusion is a conjunction, -,A A -B, it is a good bet that we will prove it
Negation rules 149 by first proving both of its conjuncts, -A and -1B. Once we have these two sentences we can apply the rule A Intro and get our desired conclusion. Let's sketch in this much of the proof. Add two steps containing the sentences -,A and -,B, respectively. Don't specify rules for these steps, since we don't yet know how we will prove them. Then add a third step containing the goal sentence, -,A A -,B. Specify A Intro as the rule for this step, cite the two earlier steps in support, and check the proof. Hyperproof will of course put X's next to the two steps whose rules you did not specify. Think of these X's as indicating that these sentences are your new intermediate goals. If you can manage to prove them, your whole proof will check out. 3. Let's try proving the first sentence first. Focus on the step containing -A. Ask yourself whether this new goal follows from the given sentence. Clearly it does: if neither A nor B is true, then A must surely be false. But before trying to prove this from the given, let's see if we can work backwards some more. According to the rule of negation introduction, if we assume A and manage to find a contradiction, we can conclude -'A. To sketch this in, add a step immediately before -A, specify its rule as Assume, and enter the assumption A. Then right after your assumption add a step and specify its rule as Close. Finally, move back to the step containing -nA, change its rule to -' Intro, and cite the new subproof as support. 4. Check the proof. Notice that the X has moved from -A to the newly introduced Close step, indicating that your new goal is to find a contradiction in this subproof. Once again, you should check to see if this new goal seems reasonable. Should it be possible to close this subproof? Again, the answer is yes: according to the assumption, A is true, but according to the given, neither A nor B is true. This information is indeed inconsistent. How will we get the Close step to check out? At this point, the required steps are probably obvious: infer A V B from A by V Intro, then cite this step and the given sentence to do a syntactic close. 5. Complete your proof by proving -'B, the remaining goal. Practice working backwards to do this. When your entire proof checks out, save it as Strategy
Solution.
When you work backwards, you add intermediate steps that allow you to infer your desired conclusion by one of the syntactic rules - generally, though not always, one of the introduction rules. As you can see, the intermediate steps that you add are sometimes
150
Sentence Connective Rules
simply sentences, as when we introduced -A and -'B and used them to conclude --A A -'B. But sometimes what you add is a subproof, as when we sketched in the proof of -,A by assuming A and adding a close step to the resulting subproof. Working backwards can be a very useful technique, since it often allows you to replace a complex goal with simpler ones or to add new assumptions on which to reason. But you should not think that the technique can be applied mechanically, without giving it any thought. Each time you add new intermediate goals, it is essential that you stop and check whether the new goals are actually reasonable. If they don't seem plausible, you should try something else. Here's a simple example of why this constant checking is so important. Suppose you were asked to prove the sentence A V C from the given sentence (A A B) V (C A D). Working backwards you might notice that if you could prove A, you could infer the desired conclusion by the rule V Intro. Sketched in, your partial proof would look like this:
F
Given
.(AAB)V(CAD)
Given
*A *AVC
Rule? V Intro
The problem with this is that A does not follow from the given sentence, and no amount of work will allow you to prove that it does. If you did not notice this from the outset, you could spend a lot of time trying to construct an impossible proof! But if you notice it, you can try a more promising approach. (In this case, disjunction elimination looks quite promising.) Working backwards, though a valuable tactic, is no replacement for good honest thinking. Sometimes you will find that the goal sentence gives you no clue about how you might prove it from the given. For example, in Exercise 5 below you are asked to prove the atomic sentence Large(b) from the given sentence -(Cube(b) V -Large(b)). It clearly does follow, but how will you show it? In this case, the trick is to assume -Large(b) and prove a contradiction. This allows you to conclude -'-Large(b) by -' Intro, which in turn gives you Large(b) by -' Elim. How did we see what to do in this case? We started by giving ourselves an informal proof of the conclusion. We reasoned as follows: Suppose Large(b) were false. Then -Large(b) would be true, as would Cube(b) V -Large(b). But then the given sentence would be false, not true. This reasoning has the structure of a proof by contradiction, and thus will be formalized using - Intro, the formal counterpart of proof by contradiction. Once we notice this, our formal proof is easy to complete. This example brings us back to where we started this strategy section. Had we not paid attention to the meanings of our given and goal sentences, and carefully convinced ourselves that the latter followed from the former, we might never have been able to find this simple proof.
Negation rules 151
Exercises You may already have done some of these exercises using Taut Con in Chapter 3, but here you should do them without it. A good proof will display the structure of your intuitive reasoning. Exercise 4 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Negation Solution, Disjunctive Close Solution, and Strategy Solution. Exerciset 5 Open File: Save As:
Proof 8.05 Proof 8.05 Solution
PrereqiDifficulty: Chaps 1, 2/** Operators Used: -TV
Use the sentential rules we have discussed so far to prove the sentence requested. Here you will need to use negation introduction even though the conclusion does not begin with a negation sign. Your proof will be very similar to the one given for Negation Practice. Exercise 6 Open File: Save As:
Proof 8.06 Proof 8.06 Solution
PrereqiDifficulty: Chaps 1-4/* * OperatorsUsed:
-'
If the given information in a problem is inconsistent, then we can prove anything, as this problem illustrates. This doesn't mean that such a proof should convince us of the truth of the conclusion, though. For, as this problem also illustrates, these proofs have another defect: their givens can't possibly be true. Exercise 7 Open File: Save As:
Proof 8.07 Proof 8.07 Solution
Prereq/Difculty: Chaps 1-6/* * Operators Used: -
This problem has the same given information as Recursive Close Example from Chapter 6. Glance back at Figure 21 on page 105 to remind yourself of the proof you constructed. In this problem, you are asked to complete the proof by showing -Dodec(b). You now know how to do this. Exercise 8 Open File: Save As:
Proof 8.08 Proof 8.08 Solution
PrereqiDifficulty: Chaps 1, 2/* * * Operators Used:
Use the sentential rules we have discussed so far to prove the sentence requested. Again, you will use negation introduction even though the conclusion does not begin with a negation. This time you will close your subproof using disjunctive close.
152
Sentence Connective Rules
Exercise 9 Open File: Save As:
Proof 8.09 Proof 8.09 Solution
PrereqiDifficulty: Chaps 1-6/* * * OperatorsUsed: -, V, A
This problem is most easily done using a mixture of sentential and diagrammatic methods. This is a good example of how the sentential rules, particularly -' Intro, can be used in ways Taut Con can't be. Exercise 10 Open File: Save As:
Proof 8.10 Proof 8.10 Solution
Prereq/Difficulty: Chaps 1, 2/* * * -I,V OperatorsUsed:
Any sentence of the form P V -,P is a tautology, so we should be able to prove it. You could prove this using diagrammatic rules from Chapter 6, but it would be quite exhausting. Better to use the sentential rules we just introduced. Start by assuming the negation of the conclusion. Then, inside the subproof, prove both -'P and -,-Pusing -' Intro.
Exercise 11 Open File: Save As:
Proof 8.11 Proof 8.11 Solution
PrereqiDifficulty: Chaps 1, 2/* * * * Operators Used: -i, V, A
Use the sentential rules we have discussed so far to prove the sentence requested. It will help if you first think about what the sentences mean and convince yourself that the conclusion follows. Notice that there was a key interim step in your reasoning to the conclusion. Your formal proof will also proceed via this intermediate conclusion. Exercise 12 (DeMorgan 1) Open File: Save As:
Proof 8.12 Proof 8.12 Solution
Prereq/Difficulty: Chaps 1, 2/* * * OperatorsUsed: M1,A
The 19th century logician Augustus DeMorgan stated some important equivalences involving negation, conjunction, and disjunction. In this and the next four problems, we explore this relationship. Exercise 13 (DeMorgan 2) Open File: Save As:
Proof 8.13 Proof 8.13 Solution
PrereqiDifficulty: Chaps 1, 2/* * * Operators Used: -, V, A
Does the sentence -(P V Q) imply the sentence -P A -Q? Exercise 14 (DeMorgan 3) Open File: Save As:
Proof 8.14 Proof 8.14 Solution
PrereqlDiDficulty: Chaps 1, 2/* * * Operators Used: -, V, A
Does the sentence -P A -Q imply the sentence -(P V Q)?
Conditionalrules 153 Exerciset 15 (DeMorgan 4) Open File: Save As:
Proof 8.15 Proof 8.15 Solution
Prereq/Difficulty: Chaps 1, 2/* * * * Operators Used: I, V, A
Does the sentence -,(P A Q) imply the sentence -,P V -Q? Exercise 16 (DeMorgan 5) Open File: Save As:
Prereq/Difficulty: Chaps 1, 2/*** Operators Used:. , V, A
Proof 8.16 Proof 8.16 Solution
Does the sentence -'P V -Q imply the sentence -'(P A Q)?
8.4 Conditional rules The rule of conditional elimination (-- Elim) is often known by the latin name modus ponens. If you know that a conditional claim P -* Q is true, and know that its antecedent P is true, then of course you know that Q must be true as well. After all, that's what if ... then means. Modus ponens, or -* Elim, is the sentential rule that licenses this kind of inference. Schematically, we state the rule like this: Conditional Elimination (-
Elim):
* P-*Q
*E EQ
-4
Elim
Here, as with the earlier rules, the order of the supporting sentences is immaterial: the conditional P -E Q can appear before or after the antecedent P. How do we prove a conditional claim, a claim of the form P - Q? Not surprisingly, we prove such claims by means of a form of conditional reasoning, that is, reasoning based on an assumption. Imagine, for example, that you were told that all cubes are small and happy, and were asked to prove that if b is not happy, then it is not a cube. A natural proof of this would run something like this: Suppose b is not happy. Then clearly, b cannot be small and happy. But since all cubes are small and happy, b cannot be a cube. So if b is not happy, b is not a cube.
154
Sentence Connective Rules
What we have here is a subproof that begins with the assumption that b is not happy and then, on the basis of this assumption, shows that b is not a cube. Of course, since we don't really know whether the assumption is true, we can't legitimately conclude from this reasoning that b is not a cube. But we are justified in making the conditional claim that if b is not happy, then it is not a cube. The subproof shows that the conditionalclaim follows from the given sentence. This kind of reasoning is pervasive in the sciences as well as in everyday life. In mathematics, proofs that employ such reasoning are called conditional proofs, and since most mathematical theorems involve conditionals, most proofs end up being conditional proofs. More commonly, such reasoning is known as hypothetical reasoning, and is the keystone of planning, decision making, economic forecasting, and similar pursuits. We engage in hypothetical reasoning whenever we reason on the basis of an assumption in order to conclude that if the assumption were true, something else would be the case. Conditional introduction (-a Intro) is our formal analogue of hypothetical reasoning. If you can prove a sentence Q on the basis of some new assumption P, then you can cite this subproof and infer the conditional claim P Q. Thus the general form of -* Intro looks like this: Conditional Introduction (-- Intro):
C>
P
- Q
-
Intro
As we've indicated, the antecedent P of the conditional must appear as the assumption of the cited subproof. However the consequent Q may appear in any step of the subproof. Generally, it will be the final step, but Hyperproof will be satisfied if it appears anywhere at the top level of that subproof.
1. Open the proof Conditional Practice. Here you are asked to prove that the sentenceCube(a) - Happy(a)followsfromthetwopremisesCube(a) -* Small(a) and Small(a) -* Happy(a).
Conditionalrules 155 2. To do this, you will need both of our conditional rules. Start by assuming the antecedent of the conditional you want to prove, and see if you can derive the consequent. You'll find that this is easy, using -* Elim. Then, when you have gotten the consequent, finish the proof with an application of -+ Intro. 3. When you are done, save your proof as Conditional Solution.
The default applications of the conditional rules work exactly as you would expect. If you cite supports of the form indicated in the rule statements, Hyperproof will fill in the appropriate sentence for you.
1. Open the file Conditional Defaults. Click on the goal icon to see what sentence we are trying to prove. Then focus on each step in succession and hit the Enter key. On the empty steps, predict what default Hyperproof will supply. 2. When you are finished, make sure you understand the proof. There is no need to save it.
Let's conclude this section by illustrating an important point mentioned in the introduction to this chapter. There we remarked that the introduction and elimination rules requiring the introduction of subproofs are useful in contexts where Taut Con does not apply. Let's look at an example of a proof of this sort.
1. Open the file Conditional Illustration. Here you will find a completed proof of a conditional sentence. Go through the proof and make sure you know how it works. Note particularly the use of the rule -* Intro to derive the desired conclusion. Could you prove this same sentence without using -+ Intro, even if you were allowed to use Taut Con? How many cases would you have to break into? 2. When you are done, there is no need to save the file.
156
Sentence Connective Rules
Strategy and tactics The tactic of working backwards usually works extremely well in proofs that involve conditionals, particularly when the desired conclusion is itself a conditional. Thus if the goal of a proof is to show that a conditional sentence P -. Q is a consequence of the given, you should sketch in a subproof with P as an assumption and Q as the final step. Use this subproof as support for an application of - Intro. When you check your proof, Q will become your new intermediate goal, and in proving it you can rely on the assumption P. Notice that this tactic is by no means limited to purely sentential proofs. For example, in the proof we just looked at in the file Conditional Illustration, the tactic would help enormously, even though inside the proof you end up using the situation rules Cases
Exhaustive and Inspect. Exercises Exercise 17 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Conditional Solution. Exerciset 18 Open File: Save As:
Proof 8.18 Proof 8.18 Solution
Here you will use
-*
Prereq/Difficulty: Chaps 1-6/** Operators Used: - A, -U,,
Intro along with some situation rules to derive a conditional sentence.
Exercise 19 (Modus Tollens) Open File: Save As:
Proof 8.19 Proof 8.19 Solution
Prereq/Dif/iculty: Chaps 1, 2/** Operators Used: -', -*
Here you are asked to prove an inference whose form is often called modus tollens. As always, it is a good idea to see if you can figure out intuitively why the conclusion follows and then try to mirror your reasoning in the formal proof. Exerciset 20 (Contraposition) Open File: Save As:
Proof 8.20 Proof 8.20 Solution
Prereq/Difficulty: Chaps 1, 2/* * Operators Used: -i, -*
Here you are asked to prove that the contrapositive of a conditional follows from the conditional. This proof will be similar to the preceding proof, except that you will also need -* Intro.
Exercise 21 (Weakening the Antecedent) Open File: Save As:
Proof 8.21 Proof 8.21 Solution
Prereq/Difficulty: Chaps 1, 2/* * Operators Used: A, -*
Here you are asked whether a sentence of the form P
-*
Q implies a sentence (P V R)
Q.
Conditionalrules
157
Exercise 22 (Strengthening the Antecedent) Open File: Save As:
Proof 8.22 Proof 8.22 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: A, -a
Here you are asked whether a sentence of the form P
-+
Q implies a sentence (P A R)
-*
Q.
Exercise 23 (Weakening the Consequent) Open File: Save As:
Proof 8.23 Proof 8.23 Solution
Prereq/Diyficulty: Chaps 1, 2/* * OperatorsUsed: V, -*
Here you are asked whether a sentence of the form P
-*
Q implies a sentence P
-
(Q V R).
Exercise 24 (Strengthening the Consequent) Open File: Save As:
Proof 8.24 Proof 8.24 Solution
Prereq/Difficulty: Chaps 1, 2/* * OperatorsUsed: V, -
Here you are asked whether a sentence of the form P
-+
Q implies a sentence P
(Q A R).
Exercise 25 (Constructive Dilemma) Open File: Save As:
Proof 8.25 Proof 8.25 Solution
Prereq/Difficulty: Chaps 1, 2/* * * Operators Used: V, -*
Here you are asked to prove an inference sometimes called a constructive dilemma. Exerciset 26 Open File: Save As:
Proof 8.26 Proof 8.26 Solution
PrereqiDifficulty: Chaps 1-6/* * * OperatorsUsed: V,
Proof 8.27 Proof 8.27 Solution
Prereq/DifJiculty: Chaps 1-7/* * * OperatorsUsed:
Exercise 27 Open File: Save As:
-
Exercise 28 (Petty Cubes) Open File: Save As:
Proof 8.28 Proof 8.28 Solution
PrereqiDifficulty: Chaps 1-7/* * * OperatorsUsed: V,3
Jose Aaron, the left fielder for the Chicago Cubes, hates batting in the lineup behind Ernie
Canseco, the right fielder. Can you determine what base Hank Banks is on from the given information? You can solve this problem without using the sentential rules, but it is easier
if you use them.
158
Sentence ConnectiveRules
8.5
Biconditional rules
The two biconditional rules are very similar to the conditional rules, reflecting the fact that the biconditional is just a conditional that "points both ways." What this means is that biconditional elimination (+-a Elim) should let us move from the sentence on either side of the biconditional to the sentence on the other side. Thus if we have a biconditional Tet(a) +-+Small(a), plus the sentence Tet(a), then we should certainly be able to conclude Small(a). Equally, if we have this biconditional, plus the sentence Small(a), we should be able to conclude Tet(a). Either inference is allowed by the rule of +-* Elim. We can state the general form of this rule as follows. Do you see that this schema allows both of the inferences described above? Biconditional Elimination (a-+Elim):
*-
[
(or Q -P)
C> EQ
Elim
Biconditional introduction (a-+Intro) is just like conditional introduction, except that we need two subproofs, one that shows that Q follows if we assume P. and another that shows that P follows if we assume Q. Once we have these two subproofs, we can conclude P Q. Schematically: Biconditional Introduction (a-+Intro):
D>
. p - Q
Intro
Biconditionalrules
159
The order of the cited subproofs does not matter when applying this rule.
1. Open the file Biconditional Practice. To show that the desired sentence follows from the given, you will need to use both of the biconditional rules. In constructing your proof, see if you can use the rule defaults to save you some typing. (The defaults for the biconditional rules work just as you would expect.) 2. When you are finished, save your proof as Biconditional Solution.
Strategy and tactics When you are constructing a proof whose conclusion is a biconditional, it is particularly helpful to sketch in the proof ahead of time. Add the two required subproofs and the desired conclusion, citing the subproofs in support. Then worry about filling in the subproofs. This is a good idea because these proofs sometimes get quite long and involved. The sketch will help you remember what you were trying to do. Exercises Exercise 29 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Biconditional Solution. Exerciset 30 Open File: Save As:
Proof 8.30 Proof 8.30 Solution
Prereq/Difficulty: Chaps 1, 2/* OperatorsUsed:
HereyouareaskedtoproveasentenceoftheformP
+-+
A,
-,
Qfromthesentence(P
-
Q) A (Q
Exercise 31 (Negation and biconditionals) Open File: Save As:
Proof 8.31 Proof 8.31 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: -n'
Here you are asked to prove a sentence of the form -'P
*-*
4-
-iQ from the sentence P
i-*
Exercise 32 Open File: Save As:
Proof 8.32
Prereq/Difficulty: Chaps 1-6/* * OperatorsUsed:
Proof 8.32 Solution
Here you are asked whether Small(a)
4-+
Cube(a) follows from the given information.
Q.
-D
P).
160
Sentence Connective Rules
Exerciset 33 Open File: SaveAs:
Proof 8.33 Proof 8.33 Solution
Prereq/Difficulty: Chaps 1, 2/* * * OperatorsUsed: A, -, +-+
Here you have neither a given situation nor any given sentences. Yet you are asked to prove that a particular sentence is a consequence of the (nonexistent) given information! You will be able to do this because the sentence in question is a logical truth: it has to be true, no matter what. Since the sentence is a biconditional, start by assuming the left half and see if you can prove the right half. Then assume the right and try to prove the left. When you have done both of these, conclude by applying Intro. 4-*
Exercise 34 (The Tet twins) Open File: Save As:
Proof 8.34 Proof 8.34 Solution
PrereqiDifficulty: Chaps 1-6/*** OperatorsUsed: V, 3
The Dodecs have invited the Tets to dinner. Since Ed Dodec has trouble telling the Tet twins apart, he seats Allen next to the window and does not let Bertie sit next to him. Exerciset 35 Open File: Save As:
Proof 8.35 Proof 8.35 Solution
Prereq/Difficulty: Chaps 1, 2/* * * * Operators Used: -' A, -/ ,4-*
Here again you are asked to prove a logically true biconditional. It is pretty straightforward to prove the right-to-left direction of the biconditional, but the left-to-right direction is challenging. For that direction, you will have to prove both Cube(a) and - Medium(c) using -i Intro. In each case you will get a contradiction by proving Cube(a) -* Medium(c). Exercise 36 Open File: Save As:
8.6
Proof 8.36 Proof 8.36 Solution
PrereqiDifficulty: Chaps 1, 2/* * * * Operators Used: aV, ,+-
Matters of style
Proofs serve two purposes. On the one hand, they are a method of discovery; they allow us to extract new information from information already obtained. On the other hand, they are a method of communication; they allow us to convey our discoveries to others. As with all forms of communication, this can be done well or done poorly. When we learn to write, we learn certain basic rules of punctuation, capitalization, paragraph structure and so forth. But beyond the basic rules, there are also matters of style. Different writers have different styles. And it is a good thing, since we would get pretty tired of reading if everyone wrote with the very same style.
Matters of style
161
So too in giving proofs. If you go on to study mathematics, you will read lots of proofs, and you will find that every writer has his or her own style. You will even develop a style of your own. In this section, we are going to pass on to you the most basic elements of style in giving proofs. Your instructor may have additional, or even conflicting, opinions about matters of style in giving proofs. If the advice is conflicting, listen to your instructor, who is, after all, the person who is reading your proofs. Every step in a "good" proof, besides being correct, should have two properties. It should be easily understood and significant. By "easily understood" we mean that other people should be able to follow it without undue difficulty: they should be able to see that the step is valid without having to engage in a piece of complex reasoning of their own. By "significant" we mean that the step should be informative, not a waste of the reader's time. These two criteria pull in opposite directions. Typically, the more significant the step, the harder it is to follow. Good style requires a reasonable balance between the two. And that in turn requires some sense of who your audience is. For example, if you and your audience have been working with logic for a while, you will recognize a number of equivalences that you will want to use without further proof. For example, you will come to recognize that -(A B) is equivalent to (A A -'B) V (-,A A B). But if you or your audience are first starting, this does not qualify as an easily understandable step. From this point on, we encourage you to use Taut Con whenever you feel that a step is easily understandable. If it not easily understandable, you should break it down using the methods of proof presented earlier, especially the four methods that use subproofs: Elim, V Elim, -* Intro, and Intro. 4-+
-
4-+
1. It so happens that the sentences A +-*(B +-+C) and (A '-* B) +-+C are tautologically equivalent. This is not an obvious fact, since they are not equivalent to the sentence (A +-* B) A (B +-+ C). Still, it is a fact and one we can prove. We are going to have you examine three proofs that (A +-* B) C is a consequence of A (B +-+C), only one of which, in the authors' opinions, displays good proof style. 4-+
4-*
2. Open the files Too Long, Too Short, and Just Right. Examine each of these proofs and see if you can understand them. Notice that each of them is a valid proof of the desired result. Only one of them conforms to our dictates about style. The first proof is too long because it has lots of insignificant steps. They are there because the author, call him Papa Bear, did not use any applications of Taut Con. Instead, he took everything down to basics, using only introduction and elimination rules. This resulted in a 51 step proof. 3. The second proof is too short because the author, call her Mama Bear, has
162
Sentence Connective Rules
relied too much on Taut Con. Her two steps are significant but not easily understood. 4. The third proof, Baby Bear's, is just right. Each step is easily understood, but still reasonably significant. It is important to see how this happy medium is achieved. Run through all 19 steps of this proof, seeing whether you can understand them with no more than a moment's thought. As you do this, notice that the introduction and elimination rules that are explicitly used are those that involve subproofs. These frequently correspond to the major moves in a piece of reasoning, the ones that need to be explicitly pointed out when communicating the reasoning in a proof.
Here are some review problems that make use of all the rules presented so far. Try to create proofs that exhibit good style. In your proofs you may use Taut Con, as long as the resulting steps are easily understood. Exercise 37 Open File: Save As:
Proof 8.37 Proof 8.37 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed:
Proof 8.38 Proof 8.38 Solution
PrereqiDifficulty: Chaps 1-6/** OperatorsUsed: -, V,
Proof 8.39 Proof 8.39 Solution
PrereqiDifficulty: Chaps 1, 2/* * OperatorsUsed: 3
Proof 8.40 Proof 8.40 Solution
Prereq/Difficulty: Chaps 1, 2/* * * OperatorsUsed: -4V,
Proof 8.41 Proof 8.41 Solution
Prereq/Difficulty: Chaps 1, 2/* * * OperatorsUsed: -,V, A, -
Proof 8.42 Proof 8.42 Solution
PrereqiDifficulty: Chaps 1, 2/* * * OperatorsUsed: -,V, A, -+
Exercise 38 Open File: Save As: Exerciset 39 Open File: Save As: IExercise 40 Open File: Save As: IExercise 41 Open File: Save As: Exerciset 42 Open File: Save As:
Matters of style
163
Exercise 43 Open File: Save As:
Proof 8.43 Proof 8.43 Solution
Prereq/Difficulty: Chaps 1, 2/* * * Operators Used: -i,, VI A, -
Proof 8.44 Proof 8.44 Solution
Prereq/Difficulty: Chaps 1, 2/** * * -', A, -* OperatorsUsed:
Proof 8.45 Proof 8.45 Solution
Prereq/Difficulty: Chaps 1-7/* * * * OperatorsUsed: 3>n
Proof 8.46 Proof 8.46 Solution
Prereq/Difficulty: Chaps 1-6/***** Operators Used:
Exercise 44 Open File: Save As: Exerciset 45 Open File: Save As: Exercise 46 Open File: Save As:
-,
4-4
Exercise 47 Find three everyday examples of valid reasoning illustrating the following methods of proof: 1. Conditional proof (-- Intro) 2. Proof by cases (V Elim) 3. Proof by contradiction (-, Intro)
A
Quantifier and Identity Rules In Chapter 8 we broke the Taut Con rule down into more basic rules, two for each propositional operator. In this chapter, we will do the same thing for Log Con. This will require that we supplement the rules we already have with introduction and elimination rules for the quantifiers, plus a rule that licenses inferences involving the identity symbol (=).
Here again, some of the rules are more important than others. And once again, the rules that correspond to significant methods of proof involve the use of subproofs. In this chapter, the key rules are 3 Elim and V Intro. As you will see, these rules are useful even when you are allowed to use the Log Con rule. They are worth paying special attention to. We begin with a simple rule, one that allows us to deal with identity claims.
9.1
Identity rule
The Identity rule allows two, quite different sorts of inference. We will state these separately, even though they are invoked using the same rule in Hyperproof. The first sort of inference is based on a principle called the reflexivity of identity, which simply says that everything is identical to itself. Thanks to this obvious fact, we can be sure that any sentence of the form n = n, where n is a name, must be true. In Hyperproof, the Identity rule allows us to assert such a sentence at any point in our proof. Reflexivity of Identity (Ident): D.I *n = n
Ident
When you use this form of the Identity rule, no support sentences need to be cited. Simply type in the sentence, specify Identity as the rule, and the step will check out. You could think of this first form of the Identity rule as an introduction rule, since the identity claim appears in the conclusion of the rule. The second form, in contrast, has an identity claim among the support sentences, and so can be thought of as the elimination rule for identity. This second form is based on a principle known as the indiscernibilityof 164
Identity rule 165 identical. Roughly speaking, this principle says that the properties an object has remain the same regardless of how it is referred to. More precisely, if a sentence of the form P(n) is true and the names n and m refer to the same object (that is, n = m), then the sentence P(m) must be true as well. We will state this second form of Identity as follows:
Indiscernibility of Identicals (Ident): * (n)
*n=m
(or m= n)
*P(m)
Ident
As you see, this form of the Identity rule does require that sentences be cited as support: the identity claim and another sentence that is just like the conclusion except for the replacement of the name n by the name m. There are two important things to note about this rule. First of all, the sentence P(n) may be a complex sentence, and may contain more than one occurrence of the name n. Second, when we replace the name n with the name m in our conclusion, we can, but do not have to, replace every occurrence of the name n. For example, the rule allows us to move from the sentences Dodec(a) A -7Likes(a, b) and a =c to any of the following conclusions: Dodec(c) A -iLikes(a, b) Dodec(a) A -Likes(c, b) Dodec(c) A -Likes(c, b)
The Identity rule has a default application: if you cite two sentences as support, and one of them is an identity claim of the form n = m, then when you enter the step, Hyperproof will supply the result of replacing every occurrence of n in the other (non-identity) sentence with the name m. Thus, if you used the default in the above example, Hyperproof would give the last sentence as a result.
166
Quantifierand Identity Rules
1. Open the file Identity Practice. This proof has the two given sentences from the above example, and asks you to prove the three sentences that follow from these sentences. Check to see that Hyperproof accepts each of these applications of Identity. See which one is supplied as the default. 2. When you have finished your proof, save it as Identity Solution.
Exercises In doing the exercises in this chapter, feel free to use Taut Con, if you like. But don't use Log Con or Ana Con. Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Identity Solution. Exercise 2 Open File: Save As:
Proof 9.02 Proof 9.02 Solution
Prereq/Difficulty: Chaps 1-4, 8/* Operators Used:
a,
Here you are asked to prove that the given information is inconsistent. To do this, you will have to apply the Identity rule several times, ultimately deriving a sentential inconsistency. Exercise 3 (Transitivity of Identity) Open File: Save As:
Proof 9.03 Proof 9.03 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* Operators Used: None
Identity is a transitive relation, that is, if a = b and b = c, then a = c. In this problem, you are asked to prove this. Exercise 4 (Symmetry of Identity) Open File: Save As:
Proof 9.04 Proof 9.04 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* * Operators Used: None
Identity is also a symmetrical relation, that is, if a = b, then b = a. In this problem, you are asked to prove this. This turns out to be tricky, requiring that you use both forms of the Identity rule. (That's a hint, in case you missed it.) Exercise t 5 Open File: Save As:
Proof 9.05 Proof 9.05 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* * Operators Used:
In this problem, you are asked to prove the sentence b : c from the given sentences.
Existentialquantifierrules 167 Exercise 6 Open File: Save As:
Proof 9.06 Proof 9.06 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* * Operators Used: -', -+
*
In this problem, you are asked to prove the sentence -,a = b from the given information. This time, though, you will have to observe some information from the situation.
9.2 Existential quantifier rules The rule of Existential Introduction (3 Intro) is a very simple rule. Suppose you have proven a claim about a particular object, say that a is a tetrahedron that likes b: Tet(a) A Likes(a, b) Then you are certainly justified in concluding that the claim holds of something-in other words, that at least one tetrahedron likes b: 3x (Tet(x) A Likes(x, b)) This is the kind of inference that is licensed by the 3 Intro rule. The general form of the rule can be stated as follows: Existential Introduction (3 Intro): NP(n)] D>
3x P(x)
3 Intro
As with the Identity rule, we have used P(n) here to stand for any sentence (possibly complex), and n to stand for any name that may occur in P(n). In the conclusion, 3x P(x) stands for a sentence that results from replacing as many occurrences as we please of n in P(n) with the variable x and then attaching the existential quantifier to the front. As with most of our rules, Hyperproof is more lenient in interpreting the rule than the general statement might suggest. For one thing, it obviously does not matter whether the variable you use is x or y or some other variable. We have just used x as an example. Second, P(n) and P(x) might actually be the same sentence. For example, we can use the rule to go from Tet(a) to 3x Tet(a), if we wanted to for some reason. Of course, the quantifier in this conclusion is vacuous, but it nonetheless follows from the support sentence. Finally, Hyperproof will accept a conclusion that involves more than one use of 3 Intro. For instance, Hyperproof will accept a move from Between (a, b, c) to 3x By 3z Between (x, y, z) in a single step. There is one way in which Hyperproof is more strict in interpreting this rule than the statement suggests. Suppose you have established the claim that everything likes d:
168
Quantifierand Identity Rules Vx Likes(x, d)
and you want to apply 3 Intro to prove the claim that there is something that everything likes. You will be able to move from the above sentence to the following, using 3 Intro: By Vx Likes(x, y) But you will not be able to use 3 Intro to conclude: 3x Vx Likes(x, x) This should not surprise you if you think about what this last sentence says. In this sentence, the existential quantifier is vacuous (since there are no free variables in Vx Likes(x, x)), and consequently the sentence just says that everything likes itself. We are certainly not justified in drawing this conclusion from the fact that everything likes d. What has happened here is that the x that we inserted for d got "captured" by the quantifier that was already present in the sentence. In such cases, to apply 3 Intro you must choose some variable that will not be captured by lurking quantifiers.
1. Open the file Exist Intro Practice. Here you are asked to prove three different sentences from a single sentence that you are given. In each case you can do it with one application of 3 Intro. 2. Check your proof and save it as Exist Intro Solution. 3. Once you've saved your proof, see how many other different sentences you can prove from the same given sentence using this rule. When you are done, don't bother to save the changes.
While 3 Intro is a very simple rule, Existential Elimination (3 Elim) is quite subtle. The basic idea is this: If you know that an existential claim is true, say 3x (Cu be(x) A Ha ppy(x)), then you know that there is at least one thing that satisfies the claim-in this case, that there is at least one happy cube. But you can't conclude of any object whose name you know that it is a happy cube, at least not on the basis of this sentence alone. For example, if there is an unknown block named b in the situation, we would not be justified in concluding that b is a happy cube, unless b is the only block around. Still, it is sometimes necessary to reason about the specific object (or objects) that satisfy such an existential claim. In ordinary reasoning, what we often do is temporarily introduce a new name for the object (or one of them) that satisfies the claim. Thus, suppose the name d is not being used in our proof. We might say something like this:
Existential quantifier rules 169 LusiiPeES tii nCr %sctl5 5
at -1 .......... I.. 1 .. I.11-
....- ::
U
.
!C ........
E
-1 f-:::II00:
In
d ... 1,%RRE!
sIn
s
i -atO
Giena
a 3x Happy(x)
e
Hoppy(c)
/ Gives ,/ Msum V AEII
I i i I
/
iI
3
,/ -9 Em
I i a Happy(c)
a
'Ir .
3 Elm
ii Figure 24: An example of Existential Elimination We know that there is at least one happy cube. Let's temporarily call one of these d. What we have done here is simply dub one of the happy cubes with the new name d. Once so dubbed, we can reason about d just as we would about any other object. But the name is only temporary, and anything we ultimately conclude from this reasoning should not involve that name. In Hyperproof, we do this "dubbing" at a special kind of Assume step, one that both introduces the new name and assumes that the object named is a happy cube. Then, if we can prove something that does not involve the new name, we are allowed to export this claim from the subproof into the main proof using 3 Elim. Figure 24 shows an example of how this works in Hyperproof. Notice that the Assume step of our subproof starts with a box containing the name d. This is our way of announcing that we are introducing d as a temporary name that we will only use in the subproof. Following that we have entered an assumption about d, namely:
Cube(d) A Happy(d) Then, within the subproof, we have used various of our existing rules to conclude that c is happy. The final step of the proof exports this conclusion, which does not involve the temporary name d, to the main proof. This last step is justified by 3 Elim, with the subproof, plus the original existential claim, cited in support.
170
Quantifierand Identity Rules
1. Let's see if you can reconstruct the proof shown in Figure 24. Open the file Exist Elim Practice. This file contains the given information shown in the figure. 2. The first thing you will want to do is add a new step and specify the step's rule as Assume. Then, using the mouse, click on the downward-pointing triangle to the left of the question mark icon in the new Assume step. This will give you a popup menu from which you can choose the name you want to introduce. Choose d. Then enter the assumption Cube(d) A Happy(d). After setting up your Assume step, if you want to change the boxed name at the top of the subproof, click down on the boxed name to get the popup menu. You can then add a new name or remove one that is already there by choosing the name from the menu. 3. Now see if you can finish the rest of the proof on your own. The only new rule involved is 3 Elim, in the final step. You need to cite the subproof and the first given sentence as support for this claim. 4. When you finish the proof, save it as Exist Elim Solution 1. We'll come back to it in a moment.
Let us now state the general form of 3 Elim. In the statement, we use 3x P(x) to stand for an arbitrary existential claim, n to stand for a name that is not being used elsewhere in the proof, and Q to stand for any sentence that does not use the temporary name n. Existential Elimination (3 Elim): * BxP(x)
iFn1
P(n)
aQ EQ
3 Elim
Existential quantifierrules
171
There is one important way in which 3 Elim is more flexible than indicated by the above statement. Suppose you start a subproof just like we've indicated in the rule, but instead of concluding with a sentence Q, you end up with a modification of the situation. For example, suppose in Figure 24 we had concluded our subproof using the rule Apply to make the block c happy. Certainly we should be able to export this modified situation out of the subproof, just as we did with the sentence Happy(c). This is a sufficiently different form of the rule that it warrants a separate statement: Existential Elimination 2 (3 Elim): *xP
D:
02
3 Elim
Here all of the situation changes in the exported situation (the one indicated with a subscript 2) must be present in the situation at the end of the subproof. But the exported situation must not involve the temporary name n that was introduced at the top of the subproof.
1. Open the file Exist Elim Solution 1 that you created earlier. Delete the last step of this proof and then add a new step within the subproof. In this step, apply the sentence Happy(c) to make c happy in the situation. Then, end the subproof and make c happy in the situation outside the subproof, using 3 Elim. Cite the appropriate supports and see if it checks out. It should. 2. At this point your proof should check out, but the goal, which asks for a sentence, will not. Add a final step to your proof in which you observe Happy(c). The goal should now check out. 3. When you are finished, save the proof as Exist Elim Solution 2.
172
Quantifierand Identity Rules
Both of the existential quantifier rules have default applications. If you cite a sentence and apply 3 Intro without typing a sentence, Hyperproof will supply a sentence that existentially quantifies the alphabetically first name appearing in the cited sentence. (When replacing the name with a variable, Hyperproof will choose the first variable in the list x, y, z, u, v, . . . that does not already appear in the cited sentence.) In a default application of 3 Elim, Hyperproof will supply the last sentence in the cited subproof, provided that sentence does not contain the temporary name introduced at the beginning of the subproof.
1. Open the file Exist Defaults. Click on the goal icon to see the sentence we are trying to prove. Then focus on each step in succession and hit the Enter key. Before moving to the next step, make sure you understand why the step checks out and, more important, why we are doing what we are doing at that step. At the empty steps, try to predict which sentence Hyperproof will provide as a default before you hit Enter. 2. When you are done, make sure you understand the completed proof. There is no need to save it.
Existential Close When we introduced the rule of disjunction elimination, we also introduced a companion version of the close rule, which we called disjunctive close. The rule of existential elimination also comes with a companion version of the close rule, which we will call Existential Close. Existential close works like this. Suppose at some point in your proof you have an existential claim, say, 3x (Cube(x) A Small(x)), but when you introduce a name for one of the small cubes alleged to exist by this claim, you arrive at an inconsistency, allowing you to close the subproof where you introduced the name. Then you should be able to export the declaration Case Closed out of that subproof. For we now have an inconsistency outside the subproof: the closed subproof shows that there cannot be any small cubes-when we assumed it gave rise to an inconsistency-while the original existential claim asserts that there is at least one. We can state this new version of the Close rule as follows. Notice that it works just like 3 Elim, except that we are exporting the Case Closed declaration rather than a sentence.
Existential quantifierrules 173
Existential Close (Close):
*. x P(x)
|nE P(n) Case Closed D
Case Closed
Close
We will look at an example of the existential version of the Close rule in the next section, after we introduce the rule V Elim. Exercises Exercise 7 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Exist Elim Solution 1 and Exist Elim Solution 2. Exerciset 8 (Changing variables) Open File: Save As:
Proof 9.08 Proof 9.08 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* OperatorsUsed:
Here's a simple thing foryou to prove: Obviously, 3y Happy(y) follows from 3w Happy(w); the only difference between the two is the choice of variables. To prove this, you'll use both of the existential quantifier rules. Exercise 9 (Existentials and conjunction 1) Open File: Save As:
Proof 9.09 Proof 9.09 Solution
Prereq/Dgfficulty: Chaps 1, 2, 8/* * Operators Used: ]
The question here is whether 3x P(x) A 3x Q(x) follows from 3x (P(x) A Q(x)). If so, you should be able to prove it. If not, prove that it doesn't follow. Exercise 10 (Existentials and conjunction 2) Open File: Save As:
Proof 9.10 Proof 9.10 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * Operators Used: 3
Thequestionhereisjustthereverse: Does3x (P(x) A Q(x))followfrom3x P(x) A 3x Q(x)? If so, prove it; if not, prove that.
174
Quantifierand Identity Rules
Exercise 11 (Choir Practice 1) Open File: Save As:
Proof 9.11 Proof 9.11 Solution
Prereq/Difficulty: Chaps 1, 2, 8/*** Operators Used: 3
Mr. Elgin wonders how he got roped into conducting the children's choir. At least there is a soprano, according to the given sentence. You are asked whether you can prove that there is a happy soprano. It clearly follows from the given information, but how are you going to prove it? If you have worked through Chapter 6, you will see that you could prove it by breaking into a large number of boring cases. A better way, though, is to use existential elimination. After you have introduced a name in your subproof, try to observe a sentence using the name that will give you what you need. Exerciset 12 (Choir Practice 2) Open File: Save As:
Proof 9.12 Proof 9.12 Solution
I'rereq/Difficulty: OperatorsUsed:
Chaps 1-6, 8/* * * * * 3,V
According to the first sentence, Mr. Elgin will be happy if there is at least one soprano, alto, and bass in the choir. Can you tell whether he is happy?
9.3
Universal quantifier rules
The rule of Universal Elimination (V Elim) is another simple rule. It allows us to move from a universal claim, for example: Vx(Tet(x) -* Small(x)) to any "instance" of this general claim, say: Tet(d)
-*
Small(d)
We define an instance as any sentence that results from dropping the initial universal quantifier, and then substituting a name for all the free occurrences of the variable appearing in the body of the sentence. The general statement of V Elim looks like this, using Vx P (x) to stand for any universally quantified sentence and P(n) to stand for any instance of it:
Universal Elimination (VElim):
D '
P(n)
V Elim
Universal quantifierrules
175
As with Existential Introduction, Hyperproof will accept uses of V Elim that remove several universal quantifiers from the front of a sentence. For example, Hyperproof will let you move directly from Vx Vy Likes(x, y) to the sentence Likes(c, d) using this rule. (You could also move from this universal claim to Likes(a, a) if you want. Do you see that this is indeed a valid step?) Universal Elimination is a pretty intuitive rule. Let's look at a proof that uses both it and the existential version of the Close rule.
1. Open the file Existential Close Practice. Here you are given the sentence 3x Tet(x) and are asked to prove the sentence -'Vx -'Tet(x). 2. Since the sentence you want to prove is a negation, it's a good bet that your proof will use - Intro. So let's start the proof by assuming Vx -Tet(x) and try to find a contradiction. 3. It should be obvious that our assumption is inconsistent with the given sentence, but how will we prove it? Since the given sentence tells us that there is at least one tetrahedron, introduce a new name, say a, and assume that it refers to a tetrahedron. Then use V Elim to prove that, given our original assumption, a cannot be a tetrahedron. You can now close this subproof and export the declaration using existential close. 4. Finish your proof and save it as Existential Close Solution.
The rule of Universal Introduction (V Intro), like the rule of Existential Elimination, captures a subtle and important form of reasoning. Remember that in 3 Elim, we use a subproof that introduces a brand new name into the proof, a name that we assume refers to one of the objects that satisfies the existential claim. The rule of V Intro also uses a subproof that introduces a brand new name, but in this case, nothing at all is assumed about the object referred to by the new name. We say that the name refers to an arbitrary object, one that could, for all we are assuming, be any object in the domain. The idea behind V Intro is just this. Suppose we can prove something about an arbitrary object, one that we make no special assumptions about. Then certainly what we have proven must hold of any object in the domain. Consider a simple example. Suppose we are told two things about a blocks world-that all the blocks are cubes: Vx Cube(x) and that every cube is happy:
176
Quantifier and Identity Rules
Vx (Cube(x)
--*
Happy(x))
Clearly, we should be able to show that all of the blocks are happy. To show this, we could reason as follows. Let d be an arbitrary block. Then by the first sentence above, we know d must be a cube. But we also know by the second sentence that if d is a cube, then it is happy. So d is happy. Since we haven't made any special assumptions about d, this must hold of all of the blocks. So every block is happy. The last step in this reasoning is what we want to capture in the rule V Intro. Here is what this reasoning would look like in Hyperproof.
nVx Cube(x) - Vx(Cube(x)
-+
Happy(x))
Assume
id
V.Cube(d)
.Cube(d)
Given Given Given
-
Happy(d)
Happy(d) .Vx Happy(x)
V Elim VElim -' Elim V Intro
Notice that the Assume step does nothing more than introduce a new name. The fact that nothing else is assumed is our way of announcing that d is an arbitrary block. From there, we have used various other rules to derive the sentence Happy(d). Finally, since our subproof shows that we can prove this of an arbitrary block, we conclude, by V Intro, that it holds of every block. The general form of V Intro can be stated as follows. In this statement, we assume that n is a name that is new to the proof, in other words, one that does not appear in either the situation or the sentences that precede the subproof. If you use a name that is already being used, then the V Intro step will not check out. Universal Introduction (V Intro):
t>
*Vx P(x)
V Intro
Universal quantifier rules
177
When you form the concluding sentence, Vx P(x), you must replace all occurrences of n in P(n) with the variable x. Of course, x is just an example here: you can use any variable, so long as it does not already appear in P(n). Hyperproof will accept more complicated applications of V Intro, as well. You can start a subproof by introducing any number of new names. Then, if you can prove a statement containing these names, you can infer a sentence starting with several universal quantifiers, one for each of the names.
1. Open the file Universal Practice. See if you can reconstruct the proof above of Vx Happy(x). In your assume step, after introducing the temporary name d, you can type a space to get rid of the question mark icon. (You don't have to do this; it is fine if you leave the icon there.) Then continue the proof as shown above. You will have to figure out on your own what should be cited as support for your various steps. 2. When you finish, save your proof as Universal Solution.
Defaults for the universal quantifier rules work similarly to those for the existential quantifier. If you cite a universal sentence and apply V Elim without entering a sentence, Hyperproof will replace the universally quantified variable with the alphabetically first name that does not already appear in the sentence. If you apply V Intro without entering a sentence, Hyperproof will take the last sentence in the cited subproof and universally quantify the name introduced at the beginning of the subproof.
1. Open the file Univ Defaults. Examine the goal to see what sentence we are trying to prove. Then focus on each step in succession and hit the Enter key. Before moving to the next step, make sure you understand why the step checks out, and more important, why we are doing what we are doing at that step. At the empty steps, try to predict which sentence Hyperproof will provide as a default before you hit Enter. 2. When you are done, make sure you understand the completed proof. There is no need to save it.
178
Quantifierand Identity Rules
Strategy and tactics In the last set of exercises, you practiced some fairly simple applications of the first two quantifier rules, 3 Intro and 3 Elim. In the exercises that follow you will again be using these rules, along with the new rules for the universal quantifier. When you start juggling all four quantifier rules, the job of finding a proof can get pretty challenging. So a few words on how to approach these proofs will be helpful. In the previous chapter, we discussed two strategies for finding sentential proofs. The first and most important was to consider what the various sentences mean and to try to come up with an informal proof of the goal sentence from the given information. The informal proof often gives you a great deal of information about how your formal proof will proceed. This strategy is even more important in proofs involving quantifiers. The key skill in applying the strategy is the ability to identify the formal rules implicit in your informal reasoning. This takes a bit of practice. Let's work through an example, to see some of the things you should be looking out for. Suppose we are given that there is a small tetrahedron: 3x (Tet(x)
A
Small(x))
and that every small thing is happy: Vx (Small(x) -- Happy(x)) From these givens, suppose we are asked to prove that something is happy: 3x Happy(x) Obviously the conclusion follows from the given sentences. But ask yourself how you would prove it, say, to your stubborn roommate, the one who likes to play devil's advocate. You might argue as follows: Look, Bozo, we're told that there is a small tetrahedron. So we know that it is small, right? But we're also told that anything that's small is happy. So if it's small, it's got to be happy, too. So something's happy, namely the small tetrahedron. Now we don't recommend calling your roommate "Bozo," so ignore that bit. The important thing to notice here is the implicit use of three of our quantifier rules: 3 Elim, V Elim, and 3 Intro. Do you see them? What indicates the use of 3 Elim is the "it" appearing in the second sentence. What we are doing there is introducing a temporary name (in this case, the pronoun "it") and using it to refer to a small tetrahedron. That corresponds to the Assume step that starts an application of 3 Elim. So after the second sentence of our informal proof, we can already see the following steps in our reasoning (using "c" for "it"):
Universal quantifier rules 179
* * 3x (Tet(x) A Small(x)) -*Vx (Small(x) -+ Happy(x))
[F] Tet(c) A Small(c)
FSmall(c)
*?
Given Given Given
Assume A Elim
3 Elim
In general, the key to recognizing 3 Elim is to watch out for any reference to an object whose existence is guaranteed by an existential claim. The reference might use a pronoun (it, he, she), as in our example, or it might use a definite noun phrase (the small tetrahedron), or finally it might use an actual name (let n be a small tetrahedron). Any of these are signs that the reasoning is proceeding via existential elimination. The third and fourth sentences of our informal argument are where the implicit use of V Elim shows up. There we apply the claim about all small things to the small tetrahedron we are calling "it." This gives us a couple more steps in our formal proof: * * 3x (Tet(x) A Small(x)) *Vx (Small(x) -* Happy(x))
[Fc
Tet(c) A Small(c)
* Small(c)
uSmall(c) . Happy(c)
-*
Happy(c)
Given Given Given Assume A Elim VElim -*Elim
*? *?
3 Elim
The distinctive mark of Universal Elimination is just the application of a general claim to a specific individual. For example, we might also have said at this point: "So the small tetrahedron [there's the specific individual] must be happy'" The implicit use of 3 Intro appears in the last sentence of the informal reasoning, where we conclude that something is happy based on the fact that "it," the small tetrahedron, is happy. In our formal proof, this application of 3 Intro will be done within the subproof, giving us a sentence that we can export out of the subproof since it doesn't contain the temporary name c.
180
Quantifierand Identity Rules
47 - 3x (Tet(x) A Small(x)) *Vx (Small(x) -* Happy(x))
Given Given Given
[cTet(c) A Small(c)
Assume
. Small(c)
AElim
*Small(c) --
Happy(c)
. Happy(c) * 3x Happy(x) * 3x Happy(x)
VElim -*Elim 3 Intro 3 Elim
One thing that's a bit tricky is that in informal reasoning we often leave out simple steps like 3 Intro, since they are so obvious. Thus in our example, we might have left out the last sentence completely. After all, once we conclude that the small tetrahedron is happy, it hardly seems necessary to point out that something is happy. So you've got to watch out for these omitted steps. This completes our formal proof. To a trained eye, the proof matches the informal reasoning exactly. But you shouldn't feel discouraged if you would have missed it on your own. It takes a lot of practice to recognize the steps implicit in our own reasoning, but it is practice that in the end makes us more careful and able reasoners. The second strategy that we discussed in the last chapter was that of working backwards: starting from the goal sentence and inserting steps or subproofs that would enable us to infer that goal. It turns out that of the four new quantifier rules, only V Intro really lends itself to this technique. Suppose your goal sentence is of the form Vx P (x). After surveying your given sentences to see whether there is any immediate way to infer this conclusion, it is almost always a good idea to start a subproof in which you introduce an arbitrary name, say c. Then add a step to the subproof and enter the sentence P(c), leaving the rule unspecified. Next, end the subproof and infer Vx P(x) by V Intro, citing the subproof in support. When you check this partial proof, an X will appear next to the sentence P(c), indicating that your new goal is to prove this sentence.
Exercises Exercise 13 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Existential Close Solution and Universal Solution. Exerciset 14 (Changing variables) Open File: Save As:
Proof 9.14 Proof 9.14 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* Operators Used: V
Universalquantifierrules 181
In this file you are asked to prove that Vv Happy(v) follows from Vu Happy(u). To prove this, you'll use both of the universal quantifier rules. Exercise 15 (Universals and disjunction 1) Open File: Save As:
Proof 9.15 Proof 9.15 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* * OperatorsUsed: V
The question here is whetherVx P(x) V Vx Q(x) follows from Vx (P(x) V Q(x)). If so, you should be able to prove it. If not, prove that it doesn't follow. Exercise 16 (Universals and disjunction 2) Open File: Save As:
Proof 9.16 Proof 9.16 Solution
PrereqiDifficulty: Chaps 1, 2, 8/*** Operators Used: V
The question here is the reverse: Does Vx (P(x) V Q(x)) follow from Vx P(x) V Vx Q(x)? If so, prove it; if not, prove that. [Hint: If Hyperproof ends up evaluating something that takes an inordinate amount of time, you should try coming up with a different proof. Use the sentential rules instead of Cases Exhaustive.] Exerciset 17 (Universals and conjunction) Open File: Save As:
Proof 9.17 Proof 9.17 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * * Operators Used: V
Here you are asked to prove a sentence of the form Vx (P A Q) 4-+ (Vx P A Vx Q). Since you have no given information, your proof will show that such sentences are logically true. Exercise 18 Open File: Save As:
Proof 9.18 Proof 9.18 Solution
Prereq/Difficulty: Chaps 1, 2, 8/** * Operators Used: 3, V
Exercise 19 Open File: Save As:
Proof 9.19 Proof 9.19 Solution
Prereq/Difficulty: Chaps 1-8/* * * OperatorsUsed: V
Exerciset 20 Open File: Proof 9.20 Save As: Proof 9.20 Solution
PrereqiDifficulty: Chaps 1-6, 8/* * * * OperatorsUsed: 3,V
Exercise 21 (Quantifiers and negation 1) Open File: Save As:
Proof 9.21 Proof 9.21 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * * Operators Used: 3, V
This exercise and the next three have to do with the interaction between quantifiers and negation. They are arranged in approximate order of difficulty. Here you are asked to show that Vx -'Tet(x) follows from -3x Tet(x).
182
Quantifierand Identity Rules
Exercise 22 (Quantifiers and negation 2) Open File: Save As:
Proof 9.22 Proof 9.22 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * * Operators Used: 3,V
Here you are asked to show that -Ax Tet(x) follows from Vx -Tet(x). Exerciset 23 (Quantifiers and negation 3) Open File: Save As:
Proof 9.23 Proof 9.23 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * OperatorsUsed: _3,V
*
Here you are asked to show that NVx Tet(x) follows from 3x -Tet(x). Exercise 24 (Quantifiers and negation 4) Open File: Save As:
Proof 9.24 Proof 9.24 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* Operators Used: 3,V
***
Here you are asked to show that 3x -Tet(x) follows from -'Vx Tet(x). [Hint: This is tricky. You won't be able to show it by proving -Tet(c) for a specific name c. That means you'll need to prove it more indirectly.]
9.4
Multiple quantifiers
So far, you have practiced proving sentences that involve a single existential or universal quantifier. When you work with sentences involving more than one quantifier, proofs can get more challenging. Sometimes, the main thing you have to pay attention to is the order in which you apply the various quantifier rules. Here there are a couple rules of thumb that are useful to keep in mind. First of all, if your target sentence begins with one or more universal quantifiers, then you should probably start the proof by introducing that many new names. The whole proof will then involve reasoning about those arbitrary individuals, with the final step being an application of V Intro. Second, if you have universally quantified sentences among the givens, do not make the mistake of applying V Elim too soon. In particular, if there are also existential claims among the givens, you will usually want to introduce names for these objects before you instantiate (that is, use V Elim on) your universal claims. Often, the hardest proofs to find are those in which you need to introduce a logical truth into the proof. In two of the following exercises, you will need to introduce a sentence of the form P V -iP (using Taut Con), and then use V Elim to derive your conclusion. In other words, you show that your conclusion follows on the assumption of P and also on the assumption of -,P. The trick is finding the right instance of P V -'P.
Multiple quantifiers 183
Exercises Exerciset 25 (Switching quantifiers 1) Open File: Save As:
Proof 9.25 Proof 9.25 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* * OperatorsUsed: :, V
Does Vy 3x Likes(x, y) follow from 3x Vy Likes(x, y)? If so, you should be able to prove it. If not, prove that it doesn't follow. Exercise 26 (Switching quantifiers 2) Open File: Save As:
Proof 9.26 Proof 9.26 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* * Operators Used: 3, V
Does 3x Vy Likes(x, y) follow from Vy 3x Likes(x, y)? Exercise 27 (Switching quantifiers 3) Open File: Save As:
Proof 9.27 Proof 9.27 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * * Operators Used: 3, V
In general, Vx By Likes(x, y) does not follow from 3x Vy Likes(x, y). But how about in a world in which the likes relation is symmetric? Exercise 28 (Two things) Open File: Save As:
Proof 9.28 Proof 9.28 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * * * OperatorsUsed: 3, V
Here you are given the sentence 3x By x 0 y and are asked to prove Vx By x clearly follows from the given, but finding a proof is not an easy matter.
$ y.
This
Exercise 29 (Logically true?) Open File: Save As:
Proof 9.29 Proof 9.29 Solution
PrereqiDifficulty: Chaps 1, 2, 8/***** Operators Used: 3, V
Here you are asked whether 3x (Tet(x)
-
Vy Tet(y))
follows from the given. But there are no given sentences. If you think the sentence is logically true, construct a proof of the sentence. If you think it is not logically true, see if you can prove that it does not follow from the given. [Hint: This is remarkably tricky. If you have trouble, see if you can find an equivalent sentence that is easier to understand. This will both help you decide whether the original sentence is logically true and also help you find a proof demonstrating your conclusion.]
184
Quantifierand Identity Rules
9.5
Numerical quantifier rules
The only remaining symbols that we have not given rules for are the numerical quantifiers, those of the form 3>Ž . What would introduction and elimination rules for these quantifiers look like? There are various ways one could formulate an elimination rule for these quantifiers. We will take the simplest approach. To explain this, we need the notion of the "expanded form" of a sentence starting with a numerical quantifier. Recall that the sentence 3>4x Tet(x) is equivalent to the sentence 3x By 3z 3u (Tet(x) A Tet(y) A Tet(z) A Tet(u) A x 0 y Ax $ z Ax : u A y 0 z A y : u Az : u) We will call this the expandedform of the original sentence. The rule of 3> Elim allows you to assert the expanded form of any sentence that begins with a numerical quantifier. 3>!n Elimination (3>n Elim):
D*3xi ... 3xn - *
3>nElim
In this schema we have written
3xi ... 3:.n(
)
for the expanded form of the cited sentence. It begins with n existential quantifiers, followed by a large conjunction. The conjunction contains n conjuncts of the form P(x) and n(n - 1)/2 conjuncts expressing inequalities between each pair of variables. As with many of our rules, Hyperproof is more lenient than this description suggests. In fact, Hyperproof will accept applications where some of the conjuncts in the body of the conclusion have been omitted or rearranged. For example, if the rule were applied to
3>4 x Tet(x), you could infer the full expanded form:
3x By 3z 3u (Tet(x) A Tet(y) A Tet(z) A Tet(u) A x 0 y Ax 0 z Ax A u A y:A z A y # u Az:#u)
Numerical quantifierrules 185
or a sentence that drops some of the conjuncts: 3x By 3z 3u (Tet(x) A Tet(z) A Tet(u) A x i y Ax $ z Ax # u A y $ u Az $ u) or even the sentence that drops every mention of the variable y: 3x 3z 3u (Tet(x) A Tet(z) A Tet(u) A x z Ax $ u Az $ u) This last sentence is equivalent to the sentence "there are at least three tetrahedra," which of course is a legitimate inference from the claim that there are at least four. The default version of 3"n Elim is very useful, since it can save you a lot of typing. Choose the rule and then cite some earlier sentence that starts with a numerical quantifier. When you hit Enter, Hyperproof will expand this sentence, provided the expansion does not produce a sentence that is longer than 256 characters (Hyperproof's limit on the size of a sentence).
1. Openthefile Numerical Defaults. This file contains six given sentences starting with numerical quantifiers. Move the focus to the first empty step and hit Enter. This will give you the expanded form of the first given sentence. 2. Move down through the remaining empty steps, hitting Enter. Do you understand why the sentences grow so much longer at each step? When you get to the last one, Hyperproof will not be able to provide a default, since the sentence is too long. 3. Move the focus back up to the first expanded sentence. Change the support for this sentence from the first given to any of the other givens, and hit Enter. Does the rule still check out? Do you see why? 4. Save your file as Numerical Solution.
The rule of 3>n Intro allows you to assert a sentence of the form 3>nx P(x) if you have found n names, say cl, .... cn, proven P(c) for each of these names, and proven that the names all denote distinct objects. The last is accomplished by proving, for each pair i, j of distinct numbers between 1 and ni, that ci : cj.
186
Quantifierand Identity Rules
3 n Introduction (3 n Intro):
INE9 * i$
* 2Žflx P(x)
3>n Intro
It is important that all n(n - 1)/2 inequalities appear in the list of supports, but they do not actually have to be listed in order, or even on separate lines. You can cite as one support a conjunction of several inequalities, for example. However, each of the sentences P(c) has to appear on its own line.
1. Open the file At Least 3 Example. This file contains the skeleton of a proof that there are at least three large blocks, a proof using 32 n Intro. Your mission is to fill in the missing ingredients to complete this proof. You will have to fill in one sentence, supply a number of rule names, and indicate the required supports for each step. 2. When you are done, save your proof as At Least 3 Solution.
Exercises
Exercise 30 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Numerical Solution and At Least 3 Solution.
Exerciset 31 Open File: Save As:
Proof 9.31 Proof 9.31 Solution
PrereqIDifficulty: Chaps 1, 2, 8/* * * OperatorsUsed: 3>n
In Exercise 24, Chapter 3, you showed that 3x 3 2 y Adjoins(x, y) does not follow from 39 2 y 3x Adjoins(x, y). Does the latter follow from the former?
Numerical quantifierrules 187
Exercise 32 (A lovers' triangle) Open File: Save As:
Proof 9.32 Proof 9.32 Solution
Prereq/Difficulty: Chaps 1, 2/* * * OperatorsUsed: 3B`
As you know, you can switch the quantifiers in Vx Vy A(x, y) and in 3x By A(x, y). Do 2 3> 2y A(x, y)? This problem and the next have to do with this you think you can in 3 2x question. Exercise 33 (A happy couple) Open File: Save As:
Proof 9.33 Proof 9.33 Solution
Prereq/Difficulty: Chaps 1-6/* * OperatorsUsed: 3>2
Proof 9.34 Proof 9.34 Solution
PrereqiDifficulty: Chaps 1-6, 8/* * * Operators Used: 32`
Exerciset 34 Open File: Save As:
You will probably want to use the Name rule to solve this one, in addition to the numerical quantifier rules. Exercise 35 (Three masked blocks) Open File: Save As:
Proof 9.35 Proof 9.35 Solution
PrereqiDifficulty: Chaps 1-7/* * * * Operators Used: 3>n
Exercise 36 (Is d a dodec?) Open File: Save As:
Proof 9.36 Proof 9.36 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * * * OperatorsUsed: 3 2n
Exercise 37 (2 pigeons, 1 hole) Open File: Save As:
Proof 9.37 Proof 9.37 Solution
Prereq/Difficulty: Chaps 1, 2, 8/* * * * OperatorsUsed: 3Bn
The Pigeon Hole Principle says that if you have more than n pigeons in n holes, then you have to have at least two pigeons in one hole. This problem is a simple case of this principle. Think of the cubes as pigeons, the dodecs as pigeon holes. Exercise 38 (Addition in FOL) Open File: Save As:
Proof 9.38 Proof 9.38 Solution
PrereqiDifficulty: Chaps 1, 2, 8/* * * * * OperatorsUsed: 3n
Though it is often easy to use numerical quantifiers in diagrammatic proofs, it is not easy to use them in sentential proofs. For one thing, the expanded form of even rather simple
188
Quantifierand Identity Rules
sentences gets very long. But another reason is that first-order logic does not allow you to use even simple numerical facts directly. For example, it is obvious that the goal of this problem is a consequence of the given sentences, but the first-order proof is extremely long. You will want to think of a good strategy for constructing this proof, one that allows efficient use of copying and pasting a range of steps.
9.6
Review Exercises
Here we present review problems that cover material from this and earlier chapters. Unless otherwise indicated in the instructions for the particular problem, you should not use either Log Con or Ana Con in working the problems in this section. You may use Taut Con, though. Make sure your solutions display good proof style. Exercise 39 Open File: Save As:
Proof 9.39 Proof 9.39 Solution
PrereqiDifficulty: Chaps 1-6/* * Operators Used:
You will need to break into cases to solve this problem. One solution would require you to break into 32 cases. See if you can solve it by breaking into just eight cases. Exercise 40 Open File: Save As:
Proof 9.40 Proof 9.40 Solution
Prereq/Difficulty: Chaps 1, 2/* * * Operators Used: 3
Proof 9.41 Proof 9.41 Solution
PrereqiDifficulty: Chaps 1-6/* * * Operators Used: V, 3
Exerciset 41 Open File: Save As:
In working this problem, feel free to use Log Con and Ana Con. Exercise 42 Open File: Save As:
Proof 9.42 Proof 9.42 Solution
Prereq/Difficulty: Chaps 1-6/* * Operators Used: 3Žn
In working this problem, feel free to use Log Con and Ana Con. Exercise 43 Open File: Save As:
Proof 9.43 Proof 9.43 Solution
PrereqlDi~ffculty: Chaps 1-6/* * * Operators Used: V, 3
Review Exercises 189
Exerciset 44 Open File: Save As:
Proof 9.44 Proof 9.44 Solution
PrereqIDifficulty: Chaps 1, 2/* * * OperatorsUsed: V, 3
Proof 9.45 Proof 9.45 Solution
Prereq/Difficulty: Chaps 1-8/* * * OperatorsUsed: V, 3
Exercise 45 Open File: Save As:
In working this problem, feel free to use any of the rules. Exercise 46 Open File: Save As:
Proof 9.46 Proof 9.46 Solution
Prereq/Difficulty: Chaps 1-8/* * * Operators Used: 3>n
In working this problem, feel free to use any of the rules. Exerciset 47 Open File: Save As:
Proof 9.47 Proof 9.47 Solution
PrereqiDifficulty: Chaps 1-6/* * * * Operators Used: V
Proof 9.48 Proof 9.48 Solution
PrereqiDifficulty: Chaps 1-8/* * * * * OperatorsUsed: 3, V
Exercise 48 Open File: Save As:
Exercise 49 (The Barber Paradox) Open File: Save As:
Proof 9.49 Proof 9.49 Solution
Prereq/Difficulty: Chaps 1-6/* * * * OperatorsUsed: V
This problem and the next two explore the so-called Barber Paradox. In a certain village in England, there was a barber who claimed to shave all and only those men who did not shave themselves. Is this possible? A puzzle seems to arise if you ask whether the barber shaves the barber. We can turn this into a blocks world problem by using dodecs to represent the men, tets to represent the women, and Likes(x, y) to represent Shaves(x, y). Let's call the barber b. Now look at the village and see if you can solve the problem. The first goal asks whether the story of the barber is consistent. If it is, go on and try to solve the other two goals. Exercise 50 Open File: Save As:
Proof 9.50 Proof 9.50 Solution
Prereq/Di~ffculty: Chaps 1-6/* * * OperatorsUsed: V
The given information in this problem is similar to that given in Exercise 49, with one minor difference. Here the barber shaves all and only those men who do shave themselves. The goals are the same.
190
Quantifierand Identity Rules
Exercise 51 Open File: Save As:
Proof 9.51 Proof 9.51 Solution
Prereq/Difficulty: Chaps 1-6/* * * OperatorsUsed: V
Again, the given information in this problem is similar to that given in Exercise 49, with one difference. But this time the difference is major. Here the barber who claims to shave the men who don't shave themselves is a man. Can he be telling the truth? Exercise 52 Open File: Save As:
Proof 9.52 Proof 9.52 Solution
Prereq/Difficulty: Chaps 1-6/* * * * * Operators Used: zl>n
The second given sentence is a theorem that can be proven using Ana Con. We have stated it as a given so that you can avoid using that rule in this problem.
Axioms and Analytic Consequence In Chapter 3, we introduced three consequence relations between sentences: tautological consequence, logical consequence, and analytic consequence. As you recall, these are increasingly strong notions, in that they capture more and more of our intuitive notion of consequence among the sentences of our language. Tautological consequence pays attention to the meanings of the propositional operators, but ignores the meanings of the predicates and the quantifiers. The notion of logical consequence is stronger in that it also takes into account the meanings of the identity predicate and the quantifiers. Analytic consequence is stronger still since it takes heed of the meanings of the other atomic predicates as well. In Chapters 8 and 9, we introduced methods of proof corresponding to tautological and logical consequence, respectively. In this chapter we turn our attention to analytic consequence. The chapter proceeds in a rather different manner, however. Rather than introduce specific methods of proof for the various predicates, as we did for the propositional operators and the quantifiers, we instead try to capture the basic features of the predicates by means of "axioms," sentences that express important properties of and relations between the predicates of our language.
10.1
The axiomatic method
You have probably heard about axioms in connection with Euclidean geometry. In studying the properties of points, lines, and circles, the ancient Greeks discovered the notion of proof which lies at the heart of mathematics. This came about as follows. By the time of the Greeks, an enormous number of interesting and important discoveries about geometrical objects had already been made, some dating back to the time of the ancient Babylonians. For example, ancient clay tablets show that the Babylonians knew what is now called the Pythagorean Theorem. But for the Babylonians, geometry was an empirical science, one whose facts were discovered by observation. Somewhere lost in the prehistory of mathematics, someone had a brilliant idea. They realized that there are logical relationships among the known facts of geometry. Some follow from others, by logic alone. Might it not be possible to choose a few, relatively clear observations as basic, and derive all the others by logic? The starting truths are accepted as
191
192
Axioms and Analytic Consequence
"axioms," while their consequences are called "theorems." Since the axioms are supposed to be obviously true, and since the rules of proof are logically valid, we can be sure the theorems are true as well. This general procedure for systematizing a body of knowledge is known as "the axiomatic method." A set of axioms is chosen, statements which we are sure hold of the domain or "world" under consideration. We can be sure that anything that follows from them by valid rules of inference is on just as firm a footing as the axioms from which we start. You could think of the givens of a Hyperproof problem as a set of axioms. When you establish some sentence or situation using the rules available to you, you are showing that this piece of information is a consequence of the "axioms." When you show that something does not follow, you are showing that it is not a consequence of the "axioms." There are two ways in which Hyperproof goes beyond the traditional axiomatic method. One has to do with the use of diagrams. In speaking of the axiomatic method, one usually assumes that the reasoning deals exclusively with sentences. Diagrammatic axioms are not allowed, nor are diagrams allowed in proofs of theorems. The assumption has usually been made, implicitly, that any information present in a diagram and needed for the reasoning, could be expressed by a sentence. In such a case, the diagram could be relegated to a piece of evidence for the sentences that finally come to serve as the premises of our reasoning. We will return to this issue in the next chapter. The other difference between Hyperproof and the axiomatic method has to do with the difference between Ana Con and Log Con. When speaking of the axiomatic method, it is usually assumed that the rules of proof deal only with the propositional operators, quantifiers, and identity. Anything needed from the meanings of the predicates (other than identity) must be explicitly expressed in axioms involving these predicates. For example, you may think it is obvious that two distinct straight lines can meet at only one point, that this is somehow part of the meanings of "straight line" and "point." But in axiomatizing geometry, this natural and obvious truth is either taken as an axiom or proven from other axioms. These two differences between Hyperproof and the axiomatic method serve as the focus of this chapter and the next. In this chapter we will investigate the extent to which the meanings of the basic predicates of our language can be captured by axioms. In the next we will investigate the extent to which diagrammatic reasoning can be reduced to sentential reasoning plus sentences that can be observed to hold in a given situation.
Choice of axioms Based on the previous chapters, you might have expected that we would analyze Ana Con by presenting introduction and elimination rules for the predicates of our language. The introduction rules would be used for proving sentences involving the predicate, while the elimination rules would allow us to make use of sentences involving the predicate.
The axiomaticmethod
193
Consider, as an example, the predicate SameShape. A natural introduction rule would be SameShape Introduction: *FCube(a)|
i
SameShape Intro
*SameShape(a,b)
There would also be versions of this rule for the other shape predicates, Dodec and Tet. Similarly, we might take the following as an elimination rule: SameShape Elimination: * SameShape(ab)
*.Cube(a) * Cube(b)
SameShape Elim
Again there would be versions of this rule for the shape predicates Dodec and Tet. We will not proceed in this way for two reasons. In the first place, we don't need to, because we can replace these rules by axioms and then take advantage of our earlier rules. For example, rather than use the rule of SameShape Intro, we can take as axioms the sentences of the form
VxVy ((P(x) A P(y))
-
SameShape(x,y))
where P is one of our three shape predicates. Any use of SameShape Intro could be replaced by appeal to one of these three axioms and the rules for V, A and -A. Similarly, any use of SameShape Elim could be replaced by an axiom of the form VxVy ((SameShape(x,y) A P(x))
-*
P(y))
A second reason for introducing axioms rather than rules of inference is that some of the predicates do not have very neat introduction rules. Take for example the predicate LeftOf. If our language allowed us to refer to positions, and to the coordinates of positions, we could state a good introduction rule: if you prove that the first coordinate of a's position is less than the first coordinate of b's position, then you can infer LeftOf(a, b). However, our language does not allow us to talk explicitly about positions and their coordinates. As
194
Axioms andAnalytic Consequence
a result, there are no natural introduction rules for LeftOf. Similarly, there are no good introduction rules for the basic shapes Cube, Dodec, and Tet, since we cannot talk explicitly about the number of sides of a block. The advantage of the axiomatic method is that we are not constrained to the use of introduction and elimination rules. We can instead express any conditions that stem from the meanings of our predicates, regardless of the form those conditions may take. For example, we can state as an axiom the condition that every block has one and only one of our three shapes. This obvious fact does not fit neatly into the form of introduction or elimination rules. There is always a matter of choice about which sentences should be taken as axioms. The main consideration is "correctness": the axioms must be true, no matter what the world is like, simply in virtue of the meanings of the predicates involved. This will be our main consideration in coming up with axioms for the language of Hyperproof. Note that we only require that the axioms be true in all worlds, that is, total situations. They will typically evaluate as unknown in situations where the relevant block attributes are not completely specified. (See Exercise 2.) Of second importance, just behind correctness, is "completeness." By completeness we mean that every sentence true in virtue of the meanings of its predicates should be provable from the axioms. Completeness guarantees that we have fully captured the inferential consequences of the predicates of our language. However, completeness is not always possible, for both practical and theoretical reasons. For example, if the language contained predicates that allowed us to talk about the addition and multiplication of natural numbers, a complete axiomatization would not be possible. This is a consequence of a famous result known as the Godel Incompleteness Theorem. As for the language of Hyperproof, we will be able to give complete axiomatizations for various parts of the language, but not for the whole language. We will discuss the reasons for this later. A third consideration in giving a set of axioms is that of usefulness. We want to choose axioms that are easy to use in giving proofs. We will pay a lot of attention to this consideration in choosing our axioms.
10.2 Axiomatizing shape We will approach the process of axiomatizing our language by dividing the predicates into four groups: shape, size, location, and emotion (Likes and Happy). If you think about it, you will notice that there is no interaction between predicates from different groups. For example, from information about the size of a block, nothing about its shape, location, or emotional state follows. This is because we can change the attributes relevant to any one of these groups without affecting the attributes relevant to any other. Thus in axiomatizing our language, our axioms need only involve predicates from within one of these groups. The first thing we can observe about these groups is that the group containing Likes
Axiomatizing shape 195 and Happy is the easiest to axiomatize. Indeed, we don't need any axioms at all for these predicates! After all, anything that follows from a sentence involving the predicate Happy would follow equally if Happy were replaced by some meaningless predicate like Slithy. Consequently, any valid inferences involving this predicate are already captured by the rules from Chapters 8 and 9. Similar considerations apply to the predicate Likes. One group down, three to go. The shape group is the simplest of the remaining three, so let's turn to it first. We begin by taking four basic shape axioms as a starting point. These axioms express the fact that every block has only one shape. Basic Shape Axioms: 1. Vx (Cube(x) V Dodec(x) V Tet(x)) 2. -3x (Cube(x) A Tet(x)) 3. -'Ax (Tet(x) A Dodec(x)) 4. -3x (Dodec(x) A Cube(x)) Every analytic truth that involves only the three basic shape predicates follows from the above axioms using the rules for the quantifiers and connectives. Let's look at an example where we can replace some instances of Ana Con by these axioms and the weaker Log Con rule.
1. Open the file Axiom Practice 1. The givens in this file are just the four shape axioms listed above. Below the Fitch bar are four sentences. Each is justified by a use of the rule Ana Con, without any sentences cited in support. Verify that each of the steps checks out. 2. Now change each of the justifications from Ana Con to Log Con. Verify that none of the steps now checks out. See if you can make each of them check out by finding a single shape axiom to cite in its support. 3. When you are finished, save your proof as Axiom Solution 1.
Our axiomatization of the shape predicates gets more interesting when we bring in the two-place predicate SameShape. There are many facts about the same shape relation whose expression we might take as axioms. How should we choose among them? We can take a lead from our earlier discussion of introduction and elimination rules, which immediately suggests the following six axioms.
196
Axioms and Analytic Consequence SameShape Introduction Axioms:
5. VxVy ((Cube(x) A Cube(y))
-V
6. VxVy ((Dodec(x) A Dodec(y)) 7. VxVy ((Tet(x) A Tet(y))
-V
SameShape(x,y)) -v
SameShape(x, y))
SameShape(x,y))
SameShape Elimination Axioms: 8. VxVy ((SameShape(x,y) A Cube(x)) -* Cube(y)) 9. VxVy ((SameShape(x, y) A Dodec(x))
-e
Dodec(y))
10. VxVy ((SameShape(x,y) A Tet(x)) --+ Tet(y))
These axioms are quite intuitive and easy to remember. But we could have gotten by with fewer. In fact, there is a single sentence that completely captures the meaning of SameShape, given the first four axioms. This is the sentence that says that two things are the same shape if and only if they are both cubes, both tetrahedra, or both dodecahedra: VxVy (SameShape(x, y) (
((Cube(x) A Cube(y)) V(Tet(x) A Tet(y)) V(Dodec(x) A Dodec(y)))
Let's prove this biconditional from our ten axioms, to show that the introduction and elimination axioms capture the meaning of SameShape.
1. Open the file Axiom Practice 2. This file contains a proof of the above biconditional from the ten shape axioms. The proof does not check out because we have not cited all of the support sentences for the steps using Log Con. Focus on each of these steps in turn and cite the axioms needed for the step. Don't cite more axioms than are required for the step. 2. When you are finished, check the proof and save it as Axiom Solution 2.
Axiomatizing shape 197
Reflexivity, Symmetry, and Transitivity There are some very important properties of the same shape relation, properties we will be encountering repeatedly as we look at other relations, so it behooves us to understand these once and for all. Notice that the following three sentences are analytically true: * Vx SameShape(x, x)
* VxVy (SameShape(x, y)
-V
* VxVyVz ((SameShape(x, y)
SameShape(y, x)) A
SameShape(y, z))
-V
SameShape(x, z))
The first of these expresses the fact that every block is the same shape as itself. The second says that if a block is the same shape as another, then the second is the same shape as the first. Finally, the third says that if one block is the same shape as a second block, and the second is the same shape as the third, then the first is the same shape as the third. These are all obviously true of the same shape relation. We will ask you to prove them from the axioms in the exercises that follow. These three properties of the same shape relation also hold of many other relations. For example, if you replace SameShape with SameColor in the above sentences, the results will still hold. Because of the recurrence of these properties, logicians have given them special names. Reflexivity A binary relation L on some domain is said to be reflexive if for every object b in the domain, b is related by L to itself. Expressed as a first-order sentence: Vx L(x, x) Hyperproof examples of reflexive relations are the identity relation and the relations of same shape, same size, same row, and same column. The other relations in Hyperproof are typically not reflexive. In particular, the adjoins relation, the left of relation, and the larger relation are not reflexive. In fact, these relations are said to be irreflexive, since nothing ever bears the relation to itself. The likes relation is reflexive in some worlds, but not in others, since there are some worlds in which each block likes itself, but others in which that is not the case. Symmetry A binary relation L is said to be symmetric if for all objects b and c in the domain, if b bears L to c, then c bears L to b. Expressed as a first-order sentence, this says: VxVy (L(x,y)
-
L(y,x))
Examples of symmetric relations in Hyperproof are the identity relation, same shape, same size, same row, same column and adjoins. Examples of relations that are not in general symmetric include likes, left of and back of.
198
Axioms and Analytic Consequence
Transitivity A binary relation L is said to be transitive if for all objects b, c and d in the domain, if b bears L to c and c bears L to d, then b bears L to d. Expressed as a first-order sentence, this says: VxVyVz ((L(x, y) A L(y, z))
-
L(x, z))
Examples of transitive relations are the identity relation, same shape, same size, same row, same column, larger, and left of. Examples of relations that are not in general transitive include likes and adjoins. The relation same shape has all three of these relations. But as you can see, relations sometimes have only some of the properties. Thus, adjoins is symmetric but neither reflexive nor transitive. When a relation has all three of the properties, it is call an equivalence relation. Equivalence relations A binary relation L is said to be an equivalence relation if it has all three of the above properties: reflexivity, symmetry, and transitivity. The only Hyperproof examples of equivalence relations are the identity relation, same size, same shape, same row, and same column. Strategy and tactics A good strategy for proving some consequence of the axioms is to "work backwards" until you get down to atomic sentences and then use the axioms that give one information about the predicate involved. Thus, for example, suppose you are attempting to prove the symmetry of same shape, that is: VxVy (SameShape(x, y)
--
SameShape(y, x))
You will work backwards until you get yourself in the position of having to prove a sentence of the form SameShape(b, a) from the sentence SameShape(a, b). At this point the axioms for SameShape come into play. Exercises In doing the problems in this chapter, you should not use the rule Ana Con, but should feel free to use the rule Taut Con, so long as the resulting proof remains easily understandable. Your instructor will tell you whether you are allowed to use Log Con. Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Axiom Solution 1 and Axiom Solution 2. Exercise 2 Open File: Save As:
Proof 10.02 Proof 10.02 Solution
PrereqiDifficulty: Chaps 1, 2/* Operators Used: V,3
Axiomatizing shape 199
Here you are given a situation containing two blocks and steps containing all of the shape axioms. If you check the proof, you will see that none of the steps check out. This is because the axioms evaluate as unknown in the situation. Modify the given situation by specifying as many of the blocks' attributes as possible without making any of the axioms true. Can you fix all the attributes? That is, can you extend the situation into a world without making the axioms true? Exercise 3 Open File: Save As:
Proof 10.03 Proof 10.03 Solution
Prereq/Difficulty: Chaps 1-3, 8, 9/* * OperatorsUsed: V, 3
In this exercise you are asked to prove a simple fact about shapes from the four basic axioms. You may use the rules of Taut Con and Log Con, but not the rule of Ana Con, of course. How many of the axioms do you actually need in your proof? Exerciset 4 (Reflexivity of same shape) Open File: Save As:
Proof 10.04 Proof 10.04 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * Operators Used: V, 3
In this exercise you are asked to use the shape axioms to show that same shapeis reflexive. Do not use Ana Con. Exercise 5 (Missing SameShape Axiom?) Open File: Save As:
Proof 10.05 Proof 10.05 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * * Operators Used: V
In the axioms for same shape we state that if x and y are the same shape and x is, say, a tet, then so is y. What about the other way around? If y is a tet, then so is x. This problem asks you to prove this from the other axioms, showing we do not need to assert it as a new axiom. (Notice how much easier this would be to prove if we could use the fact that same shape is symmetric. But that has to be proven from the axioms, as you will do in Exercise 6.) Exercise 6 (Symmetry of same shape) Open File: Save As:
Proof 10.06 Proof 10.06 Solution
Prereq/Digficulty: Chaps 1-3, 8, 9/ * * Operators Used: V,23
In this exercise you are asked to show that same shape is symmetric. Do not use Ana Con. Exerciset 7 (Transitivity of same shape) Open File: Save As:
Proof 10.07 Proof 10.07 Solution
Prereq/Difficulty: Chaps 1-3, 8, 9/* * * * OperatorsUsed: V, 3
In this exercise you are asked to show that same shape is transitive. Do not use Ana Con.
200
Axioms and Analytic Consequence
Exercise 8 (Properties of Likes) Open File: SaveAs:
Proof 10.08 Proof 10.08 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * OperatorsUsed: V
In this exercise you are asked to show that likes need not be reflexive, symmetric, or transitive. Exercise 9 (Properties of Adjoins) Open File: Save As:
Proof 10.09 Proof 10.09 Solution
Prereq/Difficulty: Chaps 1-3, 8, 9/* * Operators Used: V
In this exercise you are asked to show that Adjoins is not reflexive or transitive. Exercise 10 We said above that the only Hyperproof examples of equivalence relations are the identity relation, same size, same shape, same row, and same column. Explain why each of adjoins, smallerthan, and left of are not equivalence relations. Exercise 11 Fill in the blanks in the following table with yes or no in each place. To simplify things, let's assume that if people under discussion have one parent in common, then they have both in common. sibling of brotherof father of ancestorof aunt of same mother as
Reflexive? no
Symmetric?
Transitive?
Equivalence?
yes no no
Exercise 12 Let us imagine adding a new binary predicate, MoreSides. Assume that MoreSides(b, c) holds if block b has more sides that block c. See if you can come up with axioms which completely capture the meaning of this predicate. Save your axioms as givens in a file called More Sides Axioms. Exercise 13 Let us imagine redesigning Hyperproof so that it has four shapes, not just three, the fourth shape being a sphere. Which of our axioms about shapes are still valid (true in all the new worlds)? If there are any invalid axioms, how would you modify them to make them valid? What additional axioms, if any, would you need to add? Don't forget the effect of this new shape on the axioms involving the same shape relation.
Axiomatizing size
10.3
201
Axiomatizing size
There is a great deal of similarity between the axioms for shape and those for size. But there is an additional complexity having to do with the ordering of sizes: some sizes are larger than others, and Larger is a predicate of our language. But let's start by noting the analogues of the earlier axioms. Basic Size Axioms: 1. Vx (Small(x) V Medium(x) V Large(x)) 2. -,3x (Small(x) A Large(x)) 3. -3x (Large(x) A Medium(x)) 4. -3x (Medium(x) A Small(x)) SameSize Introduction Axioms: 5. VxVy ((Small(x) A Small(y))
-*
SameSize(x,y))
6. VxVy ((Medium(x) A Medium(y)) 7. VxVy ((Large(x) A Large(y))
-
--
SameSize(x, y))
SameSize(x,y))
SameSize Elimination Axioms: 8. VxVy ((SameSize(x,y) A Small(x))
-*
9. VxVy ((SameSize(x,y) A Medium(x)) 10. VxVy ((SameSize(x,y) A Large(x))
Small(y)) -*
Medium(y))
-*Large(y))
Notice that these are exactly like the axioms for shape, with Cube, Dodec, Tet, and SameShape replaced by Small, Medium, Large, and SameSize, respectively. We can exploit this fact. Recall the proofs you gave in the exercises that same shape is reflexive, symmetric, and transitive. These proofs used only the rules for the quantifiers and connectives, plus the axioms. If we make this same substitution in these proofs, then we get proofs of the corresponding facts about SameSize from the corresponding axioms about size. Thus we see, just because of the similarity of the axioms, that the same size relation is reflexive, symmetric, and transitive.
202
Axioms and Analytic Consequence
Axiomatizing Largerand Smaller In addition to the same size relation, we also need to axiomatize the relations of largerand smaller. But since these are so closely related, we really only need to think about one, and then we can add the additional axiom stating that these relations are "converses" of one another: VxVy (Larger(x, y) - Smaller(y, x)) More generally, whenever we have two relations L and R satisfying the sentence VxVy (L(x, y'
-
R(y, x))
we say that L are R are converses of one another. The right of and left of relations are converses, as are back of and front of. In Exercise 15 ask you to determine the converses of some other familiar relations. Since largerand smaller are converses, we can concentrate all our attention on one of the two relations. Let us decide to axiomatize larger. We could equally well have axiomatized smaller. Or we could axiomatize both, and then prove as a consequence the above biconditional expressing the fact that they are converses of one another. (See Exercise 19.) There are many equivalent ways of axiomatizing the larger relation. We base ours on the idea of splitting the axiomatization into introduction and elimination axioms.
Introduction axioms for Larger 11. VxVy ((Large(x) A -Large(y)) 12. VxVy ((-Small(x) A Small(y))
Larger(x,y)) -
Larger(x,y))
Elimination axioms for Larger 13. VxVy (Larger(x, y)
--
(-Small(x) A -Large(y)))
14. VxVy ((Larger(x,y) A Medium(y)) 15. VxVy((Larger(x,y) A Medium(x))
L.arge(x)) -
Small(y))
Notice that the first two axioms allow us to prove statements of the form Larger(a, b), while the last three allow us to use such statements to prove other things. You should have no trouble convincing yourself that these five axioms are true in all Hyperproof worlds. We can also verify this using Hyperproof.
Axiomatizing size 203
1. Open the file Size Practice 1. This file contains a list of all the size axioms. Verify that none of them check out using Log Con, but that if you change the rule to Ana Con, all the axioms do check out. 2. When you are done, save your proof as Size Solution 1.
How do we know our size axioms are sufficient to capture the meaning of Larger? There is a single sentence that, together with the first ten size axioms, completely captures the meaning of the predicate Larger in Hyperproof. The sentence simply lists the conditions under which one block can be larger than another: VxVy (Larger(x,y) ((Large(x) A (Medium(y) V Small(y))) V (Medium(x) A Small(y)))) If we can show how to prove this biconditional from our five simpler axioms, we can be sure we have completely captured the meaning of our predicate with our axioms. This is not too difficult; see Exercise 18.
1. Open the file Size Practice 2. This file contains a proof of the sentence VxVy (Larger(x,y) -X -iSameSize(x,y)), except we have not cited the supports. Go through the proof step by step, entering the appropriate supports. If you choose them optimally, citing no more support steps than necessary, the proof will check out more or less instantaneously. Make sure you understand the proof. 2. When the proof checks out, save it as Size Solution 2.
Exercises The complete list of size axioms is contained in the file Size Axioms. Some of the problems have as givens all the axioms in this file, and ask you to prove claims from them. In other problems, we make the task a bit easier by just giving you the axioms you are likely to need. In doing the problems, you are again free to use Taut Con, but not Ana Con. Your instructor will tell you the extent to which you can use Log Con.
204
Axioms and Analytic Consequence
Exercise 14 If you have skipped any of the You Try It sections, go back and do them now. Turn in the files that you were asked to save: Size Solution 1 and Size Solution 2. Exercise 15 Fill in the blanks in the second column of the following table with the name of the converse of the relation listed in the first column. Again, to simplify things, assume that if people have one parent in common, then they have both in common. Not every relation will have a nice neat English name. Relation left of nephew or niece of father of ancestorof sibling of olderthan likes
Converse Relation
uncle or auntof descendantof
Exercise 16 Open File: Save As:
Proof 10.16 Proof 10.16 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * * Operators Used: V,3
This proof asks you to show that you can't have four objects in Hyperproof, each larger than the next.
Exercise 17 Open File: Save As:
Proof 10.17 Proof 10.17 Solution
Prereq/Difficulty: Chaps 1-3, 8, 9/* * * Operators Used: V, 3
In this problem you are asked to prove, using some of the axioms for size, the sentence
VxVy (Larger(x, y) V SameSize(x, y) V Smaller(x,y)). The proof is notdifficult, but itdoes require you to break into a number of cases. Clever use of cut and paste can be a time-saver here. Exercise 18 (The biconditional for Larger) Open File: Save As:
Proof 10.18 Proof 10.18 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * * * OperatorsUsed: V,3
In this file we list the axioms for Larger and ask you to prove the biconditional that expresses exactly when one block is larger than another
Location axioms 205
Exercise 19 (Larger and Smaller are converses) Open File: Save As:
Proof 10.19 Proof 10.19 Solution
Prereq/Difficulty: Chaps 1-3,8, 9/*** Operators Used: V, 3
In this file we list as givens the introduction axioms for Larger and what we would have taken as elimination axioms for Smaller, had we axiomatized this predicate directly. We then ask you to prove half of the biconditional that says these relations are converses of one another. If we had given you both introduction and elimination axioms for the two relations, you could have proven the full biconditional. Exercise 20 Let us imagine redesigning Hyperproof so that it has four sizes, not just three, the fourth size being tiny. Which of our axioms about sizes are still valid (true in all the new worlds)? If there are any invalid axioms, how would you modify them to make them valid? What additional axioms, if any, would you need to add? Don't forget the effect of this new shape on the axioms involving the same size, smaller, and largerrelations.
10.4
Location axioms
In this section we turn to the task of axiomatizing the fourth group of predicates, those having to do with location. In the previous sections we were able to give complete axiomatizations of the shape and size predicates, including the relational predicates SameShape, SameSize and Larger. The reason we could manage this was that these relational predicates can all be defined in terms of the unary (one-place) shape and size predicates. The situation is quite different when we move to the location predicates. Notice that the location predicates all have at least two argument places. Consequently, there is no way for us to explicitly spell out when one block is to the left of another in terms of simpler notions. Nonetheless, there remain a host of analytic truths involving these predicates and their interactions. We will take some of the more important of these as axioms. This will not give us a complete axiomatization of the location predicates, but it will give us enough to work with. We begin with some axioms describing the predicates LeftOf, RightOf, and SameCol. Axioms for LeftOf, RightOf, and SameCol We have already seen earlier that same column is an equivalence relation, that is, it is reflexive, symmetric, and transitive. We take these to be our first three position axioms: Reflexivity of SameCol 1. VxSameCol(x,x) Symmetry of SameCol
206
Axioms and Analytic Consequence
2. VxVy (SameCol(x,y)
SameCol(y,x))
-*
Transitivity of SameCol 3. VxVyVz ((SameCol(x,y) A SameCol(y,z))
-+
SameCol(x,z))
The LeftOf predicate is transitive, as we have seen, but it is not reflexive or symmetric. However, thinking about these latter two properties suggests a couple of additional axioms for the predicate. Transitivity of LeftOf 4. VxVyVz ((LeftOf(x, y) A LeftOf(y, z))
-+
LeftOf(x, z))
Irreflexivity of Left Of 5. Vx -LeftOf(x,x) Asymmetry of LeftOf 6. VxVy (LeftOf(x,y) -- -iLeftOf(y,x)) We discussed what it means for a relation to be irreflexive in the first section of this chapter, but we did not give a precise description of this. For the record, here is what it means in general for a relation L to be irreflexive. Irreflexivity A relation L is said to be irreflexive if for all objects b in the domain, it is not that case that b bears L to itself. Expressed as a first-order sentence: Vx - L(x, x) The property expressed in Axiom 6 is also important enough to have earned a name. In fact, it is a property that all ordering relations (greaterthan, largerthan, older than, heavier than) have. Asymmetry In general, a binary relation L is asymmetric if for all objects b and c in the domain, if L(b, c) then it is false that L(c, b). Expressed as a first-order sentence:
VxVy (L(x, y) - -L(y, x)) Both the left of and right of relations are asymmetric, as are largerand smaller. We could also state counterparts of these axioms for RightOf, but there is no need. Instead, we just note that RightOf is the converse of LeftOf:
RightOf is the converse of LeftOf 7. VxVy (LeftOf(x,y)
÷-+
RightOf(y,x))
Location axioms 207
Finally, we need some axioms telling us how LeftOf and SameCol interact. The following axioms express the most obvious facts about this interaction. Read them and see if you understand what they say. 8. VxVyVz ((LeftOf(x, y) A SameCol(x, z))
LeftOf(z, y))
9. VxVyVz ((LeftOf(x, y) A SameCol(y, z))
LeftOf(x, z))
10. VxVy (LeftOf(x,y) V SameCol(x,y) V LeftOf(y,x)) Are these ten axioms complete? That is, do they capture all of the facts involving LeftOf, RightOf and SameCol that hold in every Hyperproof world? The answer, unfortunately, is no. There are a number of others that arise due to the fact that blocks in Hyperproof are limited to positions on an 8 x 8 grid. For example, Hyperproof cannot have more than 8 objects arranged in left-to-right order, but our ten axioms do not preclude this. Still, these ten axioms do allow us to prove most of the natural analytic truths involving these three predicates. Axioms for FrontOf, BackOf, and SameRow There is an obvious similarity between these three predicates and the predicates LeftOf, RightOf and SameCol. Indeed, it is more than a similarity. After all, if we take any world and rotate it ninety degrees counterclockwise, then blocks that were left of one another are now front of one another, blocks that were right of one another are now behind one another, and blocks that were in the same column are now in the same row. As a result, for every analytic truth about, say, left of there is a corresponding analytical truth about front of, and similarly with our other two relations. Thus, if we take our axioms from the previous section and simply replace LeftOf, RightOf, and SameCol by FrontOf, BackOf and SameRow, respectively, we get a good set of axioms for these relations. We list them here for the record; you can also find them in the file Front/Back Axioms. Reflexivity of SameRow 1. VxSameRow(x,x) Symmetry of SameRow 2. VxVy (SameRow(x,y)
--
SameRow(y,x))
Transitivity of SameRow 3. VxVyVz ((SameRow(x,y) A SameRow(y,z))
-*
SameRow(x,z))
Transitivity of FrontOf 4. VxVyVz ((FrontOf(x,y) A FrontOf(y,z))
-*
FrontOf(x,z))
208
Axioms and Analytic Consequence
Irreflexivity of FrontOf 5. Vx -FrontOf(x, x) Asymmetry of FrontOf 6. VxVy (FrontOf(x,y) -* -FrontOf(y,x)) BackOf is the converse of FrontOf
7. VxVy (FrontOf(x,y) *-+BackOf(y,x)) Interaction between FrontOf and SameRow 8. VxVyVz ((FrontOf(x,y) A SameRow(x. z)) 9. VxVyVz ((FrontOf(x, y) A SameRow(y. z))
FrontOf(z,y)) -
FrontOf(x, z))
10. VxVy (FrontOf(x,y) V SameRow(x,y) V FrontOf(y,x)) There is also one additional axiom that we need to express the interaction between SameCol and SameRow. You can't have two objects in Hyperproof that are both in the same column and the same row. This is what our final axiom says. 11. VxVy((SameCol(x,y) A SameRow(x,y')
-*
x = y)
Axioms for Adjoins and Between Adjoins and Between, simple as they are to understand, give rise to some remarkably complex analytic consequences. A good deal of this complexity arises not strictly from the meanings of these predicates, but rather from their interaction with the other location predicates and from the constraints on how blocks can be arranged on the 8 x 8 grid. It is these complexities that led to our decision not to include these predicates in our implementation of the Ana Con rule. Similarly, we will not attempt to give anything like a complete axiomatization of these predicates here. We noted earlier that adjoins is irreflexive and symmetric. It is natural to take these as our starting point: Irreflexivity of Adjoins 1. Vx -iAdjoins(x,x) Symmetry of Adjoins 2. VxVy (Adjoins(x,y)
-*
Adjoins(y,x))
What about transitivity? Not only is Adjoins not transitive, it is intransitive. That is, if b adjoins c and c adjoins d, then b cannot adjoin d. We take this as our third axiom:
Location axioms 209
Intransitivity of Adjoins 3. VxVyVz ((Adjoins(x, y) A Adjoins(y, z))
-V
-iAdjoins(x, z))
Another useful observation is that blocks that adjoin one another must either be in the same column or the same row. We state this as a fourth axiom: 4. VxVy (Adjoins(x, y)
-*
(SameCol(x, y) V SameRow(x, y)))
There are a number of other odd little facts about adjoins that do not follow from the above four axioms. For example, note that no block can adjoin more than four blocks. This can easily be expressed using the numerical quantifier 3'5: 5. Vy -i3> 5 x Adjoins(x, y) We could go on all day listing obscure facts about the Adjoins predicate. For example, if there are five blocks in the same row or column, then at least two of them adjoin each other. This can be expressed, if a little awkwardly, in our language. But rather than spend more time on Adjoins, let us turn to the predicate Between. The properties of irreflexivity, symmetry and transitivity are properties of two-place relations, whereas Between is a three-place relation. Still, there are properties of the Between predicate that are analogous to each of these. For example, an analogue of irreflexivity is the fact that no block can be between itself and itself, that is: Vx -Between(x, x, x) We can actually say something even stronger than this, since whenever b is between c and d, all three blocks must be distinct. We will take this strong form of irreflexivity as our first axiom for Between. Strong irreflexivity of Between -(x 54 y A y :0 z A x i4 z))
1. VxVyVz (Between(x, y, z)
There is a fairly obvious analogue of symmetry governing the Between predicate, or at any rate, its last two arguments. If b is between c and d, then b is between d and c. We will call this the bidirectionality of Between. Bidirectionality of Between 2. VxVyVz (Between(x, y, z)
-*
Between(x, z,y))
Finally, the Between relation displays an interesting analogue of transitivity, which we will take as our next axiom.
210
Axioms andAnalytic Consequence
"Transitivity"of Between 3. VwVxVyVz ((Between(x, w, y) A Between(y, x, z)) (Between(x, w, z) A Between(y, w, z))) The easiest way to understand this is to draw a picture. We might depict the antecedent by means of the sequences w - x - y and x - y - z. Putting these together gives us the sequence w - x - y - z, from which we can observe that both x and y are between mu and z. Between interacts in a bewildering multiplicity of ways with our other location predicates. For example, if b is between c and d, then c and d do not adjoin one another. Similarly, if any two of the three blocks is in the same row or column, then all three must be in the same row or column. If b is between c and d, and c is left of (front of, etc.) b, then b is left of (front of, etc.) d. We list first-order expressions of some of these in the file Between Axioms, but with no pretence of completeness. Exercises Exerciset 21 Open File: Save As:
Proof 10.21 Proof 10.21 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * Operators Used: V,3
In this problem you are asked to prove a simple consequence of our axioms for LeftOf, RightOf, and SameCol. You will only need to use a few of the axioms, but we have listed them all as givens. Exercise 22 Open File: Save As:
Proof 10.22 Proof 10.22 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * * Operators Used: V, 3
In this problem you are asked to prove -i3x3y (RightOf(x,y) A SameCol(x,y)) from our axioms for LeftOf, RightOf, and SameCol. Exercise 23 Open File: Save As:
Proof 10.23 Proof 10.23 Solution
Prereq/DiJficulty: Chaps 1-3, 8, 9/* * * * OperatorsUsed: V,3
Proof 10.24 Proof 10.24 Solution
PrereqiDifficulty: Chaps 1-9/* * * * OperatorsUsed: V,3
Exerciset 24 Open File: Save As:
Use any rules you want to use, except Ana Con, in doing this proof. The first two givens are substantive claims about the world; the remaining givens are location axioms.
Location axioms 211
Exercise 25 Open File: Save As:
Proof 10.25 Proof 10.25 Solution
PrereqiDifficulty: Chaps 1-3, 8, 9/* * Operators Used: V,3
Exercise 26 (Rotation) For any sentence A, let AR be the result of replacing the predicates on the left with those on the right in the table below. Other predicates are not altered. LeftOf FrontOf RighttOf BackOf SameRow SameCol
FrontOf RightOf BackOf LeftOf SameCol SameRow
Show that if A is true in some world, then AR is true when you rotate the world counterclockwise a quarter of a turn. Conclude that if A is true in all worlds then so is AR. What happens if you apply this operation to our axioms? Find an axiom A whose rotation AR is not an axiom. Exercise 27 How would we need to change the Adjoins axioms if the positions on which blocks sat were hexagonal rather than square?
Al
S
Logic and Observation An interesting question arises in connection with the use of diagrams in reasoning: to what extent are the diagrams really necessary in the reasoning process? In the course of this book, we have seen examples of problems that are more easily solved using the diagrammatic techniques introduced in Chapters 5 and 6. Still, as we remarked in Chapter 10, it is often assumed that the use of diagrammatic information is not essential to proofs, aside from certain information that can be extracted from the diagram and expressed in sentential form. Since Hyperproof's Observe rule allows exactly this sort of extraction of sententially expressible information, we can frame our question quite precisely. Suppose we disabled all of Hyperproof's rules, with the exception of the sentential rules and the Observe rule. This would give us an extension of standard sentential logic where diagrams could be used only for observation. Call this logic observationallyaugmented sentential logic or OASL for short. Thus, in observationally augmented sentential logic we can use the given situation only to observe sentences. We may not use the rules like Apply or Cases Exhaustive that add information to the situation. We will end this book by exploring the relation between the full logic of Hyperproof and the more restricted system of OASL. We will be looking at a number of problems in which you first give a diagrammatic proof and then try to find a proof of the same conclusion in OASL. These problems make clear the efficiency of diagrammatic proofs. Often, an OASL version of a proof is much longer and less intuitive than the original diagrammatic proof. Indeed, the most sensible way to come up with an OASL proof is frequently to first create a diagrammatic proof, and then go back and eliminate the diagrammatic steps by introducing the key observations and methods of sentential proof. Let's try a simple example.
1. Open the file Observe Only Example 1. This file contains a very simple diagrammatic proof of the sentence SameShape(b, c) from given information consisting of two sentences and a diagram. Examine this proof. Notice the use 212
213
of the diagrammatic rules Cases Exhausted and Merge. Try to think how you would eliminate these steps to give an OASL proof of the same result. 2. Now open the file Observe Only Example 2. This file contains an OASL version of the same proof. To give the proof, we needed to use Ana Con several times. And of course we needed to use Observe to obtain the sentences Cube(a) and Dodec(c), which express crucial information for the proof. 3. Compare these two proofs, to see that the second mirrors the first in overall structure. When you are finished, there is no need to save the proofs.
The general question we want to consider in this chapter is the difference between OASL and the full Hyperproof system. The first thing to notice is that only proofs of consequence can be given in OASL, since all of the other types of proof require that changes be made to the situation. The various kinds of situation conclusions will thus not be derivable in OASL, nor will we be able to satisfy consistency or independence goals. So the question boils down to determining the extent to which OASL suffices for proofs of consequence. There are really two questions here, one theoretical, one practical. The theoretical issue is whether any proof of a sentence can, at least in theory, be replaced by a proof in OASL. The practical question is just how much mileage we gain by rules like Apply and Cases Exhaustive, rules that fall outside of OASL. Are there problems that can be solved both ways, but whose solutions are significantly easier, shorter or more understandable one way rather than the other? The answer to the practical question is that each form of reasoning has its place. Some inferences are much easier to establish using diagrams. Others follow more easily using sentential techniques. Still others require a mixture of the two. You will gain practice in recognizing which is which in the exercises in this chapter. To answer the theoretical question, we will show examples of sentences that follow from some given information using the full set of rules, but which do not follow using OASL alone. To aid in the recognition of examples of this sort, let us say that two situations si and s2 are observationallyequivalent if the same sentences can be observed in each. Here is the crucial observation. If you have two problems with the same sentences as givens, and observationally equivalent situations sl and 52, then in OASL you will be able to prove exactly the same sentences on the basis of the two sets of givens. Why? Because if we take any proof in OASL using sI and replace it by S2, we will still have a valid proof, since each of the steps in the proof will still check out. This means that anything we could prove in OASL from s, could be proven from S2. Reasoning the other way around, anything provable in OASL from s2 could be proven from s . The import of this is that it gives us a way of showing that certain theorems in Hyperproof cannot be proven in OASL alone. Suppose you can find two proofs with the same sentences as givens and with distinct but observationally equivalent situations. Suppose further that
214
Logic and Observation
some sentence S is shown to be a consequence in the first proof and a nonconsequence in the second proof. In this case, there can be no OASL proof of S from the givens of the first proof. We illustrate this with a simple example.
1. Open the file Impossible OASL 1. This is an extremely simple, two-step proof of the fact that there are two blocks adjoining one another, with the leftmost block being a tetrahedron. But there is no way to give a proof of this result in OASL.
2. To see why, open Im possi ble OAS L 2. Notice that the givens are just the same as before, except that in the situation the dodecahedron has been moved one square to the right. It turns out that the original diagram and the modified diagram are observationally equivalent. To convince yourself of this, notice that every atomic sentence expressible in the Hyperproof language will evaluate the same (true, false, or unknown) in both situations. (You can actually check this, if you want.) Because of this, all more complex sentences will also evaluate the same in the two situations. Notice, however, that the sentence proven in Impossible OASL 1 does not follow from the modified set of givens. 3. Show this by satisfying the nonconsequence goal in Impossible OAS L 2. Save your proof as Impossible OASL 2 Solution.
Strategy and tactics The problems in this chapter come in pairs. In the first you will be asked to give an ordinary proof using the entire resources of the Hyperproof system. In the second you will typically be asked to give an OASL version of the proof. In one case you will be asked to show that no such proof is possible. The best strategy for finding an OASL proof is to mimic the diagrammatic proof as closely as possible. If the original proof involves breaking into cases, try to prove a disjunctive sentence that will allow an analogous breaking into (sentential) cases with V Elim. Exercises Exercise 1 If you have skipped any of the You Try It sections, go back and do them now. Turn in the file that you were asked to save: Impossible OASL 2 Solution.
215
Exerciset 2 Open File: Save As:
Proof 11.02 Proof 11.02 Solution
Prereq/Difculty: Chaps 1-9/* * * Operators Used: V
In this problem you are asked whether you can prove that there are at least two tets. Use any of the rules you find convenient, including the situation rules.
Exerciset 3 Open File: Save As:
Proof 11.03 Proof 11.03 Solution
Prereq/Difficulty: Chaps 1-9/* * * * OperatorsUsed: V
This file is exactly the same as in the previous exercise. This time, give a proof in OASL of the conclusion. Thus you are not to use any of the diagrammatic rules with the exception of Observe.
Exercise 4 Open File: Save As:
Proof 11.04 Proof 11.04 Solution
PrereqiDifficulty: Chaps 1-9/** Operators Used: 3I>n
Use any of the diagrammatic principles you find convenient in solving this problem.
Exercise 5 Open File: Save As:
Proof 11.05 Proof 11.05 Solution
Prereq/Difficulty: Chaps 1-9/* * Ž3>n Operators Used:
Again, this is the same file as in the last problem. This time, give a proof in OASL of the desired conclusion.
Exercise 6 Open File: Save As:
Proof 11.06 Proof 11.06 Solution
PrereqiDifficulty: Chaps 1-6/* * Operators Used: 1, 3
Here you are asked to prove that there is a tet left of a dodec. You may use any situation rule you want.
Exercise 7 Open File: Save As: Give an
OASL
Proof 11.07 Proof 11.07 Solution
PrereqiDifficulty: Chaps 1-9/* * * OperatorsUsed: V/ 3
version of the proof from the previous exercise.
Exercise 8 Open File: Save As:
Proof 11.08 Proof 11.08 Solution
PrereqiDifficulty: Chaps 1-9/* * * OperatorsUsed: V,3
Here you are asked to prove that every dodec adjoins some cube or other. You may use any situation rule you want.
216
Logic and Observation
Exercise 9 Open File: Save As:
Proof 11.09 Proof 11.09 Solution
Prereq/Thfficulty: Chaps 1-9/* * Operators Used: V,3
Our aim here is to show that there is no OASL proof of the conclusion from the previous problem. Notice that the situation in this file is similar to the one from the previous file. Indeed it is observationally equivalent to it. But you are asked to show that the conclusion of the previous proof does not follow from the givens. Exercise 10 OpenFile: Save As:
Proof 11.10 Proof 11.10 Solution
Prereq/Difficulty: Chaps 1-9/** Operators Used: V, 3
You may use any situation rule you want. Exercise 11 Open File: Save As:
Proof 11.11 Proof 11.11 Solution
Prereq/Difficulty: Chaps 1-9/* * * * OperatorsUsed: V, 3
Give a proof in OASL of the result from the previous problem. We have included enough Between axioms among the givens to make this possible. Exercise 12 Open File: Save As:
Proof 11.12 Proof 11.12 Solution
PrereqiDifficulty: Chaps 1-9/* * * * 3>n Operators Used:
Here you are asked to prove that there are two adjacent dodecs. You could give a diagrammatic proof, by breaking into a very large number of cases. In this case a proof in OASL is actually more efficient than a diagrammatic proof. Notice that the last two given sentences are taken from the analytic truths about Adjoins, as discussed in the last chapter. Exercise 13 Open File: Save As:
Proof 11.13 Proof 11.13 Solution
PrereqlDifficulty: Chaps 1-9/**** Operators Used: V, 3
Give a diagrammatic proof of the goal sentence. Then decide whether you think it is possible to give a proof of the same result in OASL. If you think it is not, find an observationally equivalent modification of the situation that allows you to prove the required nonconsequence result. If you think an OASL proof is possible, then either give it or, if it is too difficult, write a short paragraph explaining why you think it should be possible. t
Exerciset 14 Open File: Save As:
Proof 11.14 Proof 11.14 Solution
PrereqfDifficulty: Chaps 1-9/* * * * OperatorsUsed: V,3
Here you are asked to prove that there is a medium tetrahedron that is in front of d and has a to its left. You may use any situation rule you want.
217
Exercise 15 Open File: Save As:
Proof 11.15 Proof 11.15 Solution
Prereq/Difficulty: Chaps 1-9/* * * * * Operators Used: V,3
See if you can give an OASL version of the proof from the previous problem. (The authors offer a free copy of our book and program Turing's World 3.0, or a free (cold) pizza, to the first person who sends us a disk with a completed solution to this problem.)
Using Hyperproof This appendix explains the mechanics of operating Hyperproof. Readers who are working through the book from beginning to end will riot need to read the appendix all at once to use the program. However, many features that make it easy to use Hyperproof are explained here, so it is a good idea to skim the appendix at some point. Readers who are skipping chapters will need to read this appendix with more care.
A.1
Launching the program
You launch Hyperproof in the standard way, by double-clicking on its icon from the Finder. Launching Hyperproof brings up two windows. The large, main window is called the proof window and the smaller window is called the palette window. The proof window The proof window is divided into three main areas, or "panes." The situation is displayed in the top pane, the middle pane is where proof steps appear, and the bottom pane is where the problem's goals appear. If you have just started up Hyperproof, the bottom (goals) pane will not be visible. To see it, choose Show Goal Strip (Command-T) from the Goal menu. To hide it, and give yourself more room in the proof pane, choose Hide Goal Strip (Command-T) from the Goal menu. You can adjust the relative sizes of the situation and proof panes by moving the line between them up or down. To move the line, drag on the black rectangle that appears at the very right end of the line (in the scroll bar). You can hide the situation pane entirely, thus giving yourself maximum room in the proof pane, by dragging the rectangle to the very top of the window. A faster way to do this is to choose Hide Situation (Command-U) from the Situation menu. To show the situation again, choose Show Situation (Command-U) from the Situation menu. If you are working on a purely sentential proof, you will probably want to hide the situation. At the extreme bottom of the proof window, under the goal strip, is the status bar, where comments and error messages are displayed. The status bar is initially blank, but it is used to present a lot of useful information, especially when proof steps don't check out. 218
Launchingthe program 219
f
....
-
.
................
mol~ilCQ [New block
WED OiE a=i
MMS
ret
Small0-
|Cube ||Medium Dodec e Larw ] | awJsameSize |Likes lLw rr [SaColl LeftOf amSfov~ FrontOf |d Cdins 9.Bete n
Figure 25: Hyperproof's palettes The palette window The palette window is used for editing proofs. There are actually two distinct palettes that can appear in the window-one for editing the situation and the other for editing sentences. Figure 25 shows what these palettes look like in their normal size. Only one palette is visible, or "active," at a given time; initially the situation palette is active. It is the one shown on the left in Figure 25. To switch between palettes, you can either click on the icon at the very top of the palette or choose Switch Palette (Command-;) from the Window menu. Minipalettes If you are running Hyperproof on a small-screen Macintosh, or if you have chosen Minipalette from the Window menu, your palettes will appear in the compact form shown in Figure 26. The main difference is that the minipalettes use popup menus in place of some of the buttons on the maxipalettes. For example to enter the predicate Larger from the minipalette, you must click down on the rectangle titled Pred and then select Larger from the menu that pops up. To switch between the situation minipalette and the sentence minipalette, click on the folded corner at the bottom left of the palette. To switch to the large palette, choose Maxipalette from the Window menu.
220
Using Hyperproof
....S..
MRM1-113Q1-1-1
iEiL EWLI Fe-
I am.
as1Var -
Figure 26: Hyperproof's minipalettes Opening and saving files You open and save files in Hyperproof in the usual way. To open a file saved on your disk, choose Open... (Command-O) from the File menu. You will then use the open file dialog box to find the file you want. To start a new file, choose New (Command-N) from the File menu. To save a file, you either choose Save (Command-S) or Save As... from the File menu. The difference between these is that the second command allows you to save the file under a new name. If you open a file named File One, make changes, and then save it as File Two, you will end up with two files on your disk: File One, which will be untouched, and File Two, which will contain your changes. Most of the problem files on the Hyperproof disk are saved as "templates" or "stationery pads." If your Macintosh is running System 7, then when you open a stationery pad named Problem 17, the window will be titled Problem 17 Solution. The first time you save it, you will be given a chance to change this name and put the file in another folder, should you so desire. In saving solutions to problems assigned from this book, you usually won't need to change the name, but you may want to put your solutions into another folder to be turned in. In System 6, stationery pads act like ordinary Macintosh files, so you will have to use Save As... to change the name from Problem 17 to Problem 17 Solution; Hyperproof won't do it for you automatically. There are two check boxes at the bottom of the Save As... dialog box: Save as Stationery Pad and Save Problem Only. Normally, you will not click on either of these check boxes when saving your files. They are mainly for the use of the instructor in making up problems, as described in Section A.8. Quitting the program To quit the Hyperproof application, choose Quit (Command-Q) from the File menu.
Editing the situation 221
A.2
Editing the situation
There are three situation editing modes: edit (or normal), happy, and likes. You can tell which mode you are in by which of these buttons is highlighted on the situation palette. Normal edit mode allows you to add blocks and edit their locations, sizes, shapes, and names. Happy mode allows you to specify which blocks are happy, and likes mode allows you to specify which blocks like which blocks. To change between modes, you click on the appropriate button at the top of the situation palette. When you can and can't edit the situation You can only edit the situation at appropriate points in the proof. All of the editing functions described below are allowed when you are editing the given situation, that is, when the focus slider (the small triangle on the far left of the proof) is pointing at the top situation icon. When you start up Hyperproof or open an existing file, the focus slider always points at the top situation icon. (To find out more about the focus slider and how to move it, see Section A.3.) To edit the initially given situation, Hyperproof must be in authoring mode, which can be turned on or off by choosing Authoring Mode from the Edit menu. Hyperproof is in authoring mode whenever you start a new file; it will not be in authoring mode when you are working on an exercise whose basic setup you are not supposed to change. If the focus slider is not pointing at a step that contains a situation or question mark icon, then it is not possible to edit the situation at all. For example, if you are at a step in the proof that contains a sentence, then introducing situation changes at that point is not allowed, and so the editing buttons on the situation palette will be dimmed. At other points in the proof, you will only be able to perform the editing functions that make sense at that point in the proof. For example, at a proof step that allows you to extend the current situation, you will be able to specify new information-say, by specifying the shape of an unknown block-but you will not be able to change or take away any of the definite information that is already present in the current situation. For example, at such a step you will not be able to add or delete blocks, or turn a tetrahedron into a dodecahedron. If you find yourself unable to edit some attribute of the displayed situation using the instructions given below, you should check to see whether the focus slider is pointing at the right step.' Normal editing mode To add a block, click on the New Block button on the maxipalette or choose New Block from the Situation menu. (There is no New block button on the minipalette.) The block 'If you are trying to edit the given situation but can't make any changes, you should check on the Edit menu to make sure Authoring Mode has a check next to it. In general, of course, you should not change any of the given information inan existing problem.
222
Using Hyperproof
will appear in the blank area to the right of the grid. To edit a block, it must first be selected. After adding a new block, it is automatically selected, so it can immediately be edited. To select an unselected block, you simply click on it. You can select multiple blocks just as you select multiple icons in the Finder: either by dragging a box around a group of blocks (click anywhere in the situation area and drag) or by shift-clicking a number of blocks (click on the blocks while holding down the shift key). When you have selected multiple blocks, editing affects them all. Location: To move a block, simply click on it and drag it to its new location. If you first select several blocks and drag one of them to a new location, all of the selected blocks will move by approximately the same amount. Shape: To change the shape of a selected block, click on one of the shape buttons (indicated with a triangle, square, and pentagon) in the palette. To make the shape of the block unknown, click on the question mark button at the end of the line of shape buttons. If several blocks are selected, the change will apply to all of them. Size: To change the size of a selected block, click on one of the size buttons (indicated with three variously sized circles). To make the size of the block unknown, click on the question mark at the end of the line of size buttons. Names: A block may have any number of names, from among a through f and n 1 through n9, but each name can belong to at most one block. To name a block, select it and click the appropriate name button. Buttons corresponding to names already assigned to other blocks will be dimmed. If you select more than one block, all name buttons will dim, since you cannot assign the same name to more than one block. To remove a name from a block, select the block and click the button of the name to be removed. Name buttons for n1, ... , n9 do not appear on the minipalette. Instead, the palette has a popup menu titled Names. To name a block nl, say, select the block and then click down on the word Names on the palette. A menu will appear from which you can choose the name n1. Perform the same operation to remove an existing name from a block. To delete a block, you must select it and then choose Delete Blocks from the Situation menu, or hit the Delete key on the keyboard. Several blocks can be deleted at once by first selecting them and choosing Delete Blocks or hitting Delete on the keyboard. Blocks can only be deleted when you are in authoring mode and focused on the given situation. Displaying Happy and Likes A situation's happy and likes information is not displayed unless you explicitly request it. To display this information, choose Show Likes & Happy (Command-L) from the
Editing the situation 223
Situation menu. To hide the information, choose the command again. The display will toggle off. When you have the display on, blocks that are happy are indicated by a hollow red happy face. Blocks that are not happy get a filled blue sad face. If a block's happiness is unknown it gets no icon. Note that a block's face may be obscured by a block in front of it. Switching the display to 2-D (on the Situation menu) will prevent this overlap. Information about which blocks like which is shown by arcs. If block a likes block b, an arc appears from a to b, labeled with a red heart and an arrow pointing toward b. If a does not like b, then the arc is labeled with a green broken heart. If it is unknown whether a likes b, no arc appears. When there are a lot of likes arcs in the situation, it is sometimes hard to see what is going on. This can be solved by viewing the likes arcs originating at individual blocks, one at a time. To do this, turn off Show Likes & Happy and select the heart button at the top of the situation palette. Then you can select a single block to display any likes arcs that originate at that block. Happy mode To change a block's emotional state, you need to be in happy mode: click on the Happy button (indicated by a puzzled looking face) at the top of the situation palette. Then select the block and click on one of the three new palette buttons to make it happy, not happy, or unknown. As before, you may select multiple blocks and change them all simultaneously. To get back to normal edit mode, click on the Edit button (indicated by an X) on the situation palette. Likes mode To change the likes relation, you must be in likes mode: click the Likes button (indicated by a heart) at the top of the situation palette. Unlike happy mode, likes mode does not automatically display the extension of the likes relation. To see whether one block, say a, likes another block, say b, you must either choose Show Likes & Happy from the Situation menu or else select block a. When you are in likes mode, arcs originating at any selected blocks will appear, whether or not you are currently displaying this information. If you want to add the fact that one block likes another, check that you are in likes mode, then click down on the first block and drag to the second. An arc will follow as you drag and affix itself to the block where you release the mouse button. (Note that the source and destination block may be the very same block.) The arc will, by default, display the red heart. If you want to add the fact that one block doesn't like another, follow the exact same procedure. But when you have finished dragging the arc, go back to the situation palette
224
Using Hyperproof
and click on the button showing the broken heart. This will replace the heart label with a broken heart. Alternatively, if you hold the Option key down as you drag a likes arc from one block to another, the arc will immediately be labeled with a broken heart. To change an existing arc, first display the arc by selecting the block of origin. Then click on the arc's label. Once the label is selected you can click on the broken heart button (on the palette) to make the label a broken heart, click on the heart button to make the label a heart, or click on the question mark to eliminate the arc entirely. (If the heart buttons on the palette are greyed out, it's because you haven't selected the label you want to change. If the heart buttons don't appear at all, it's because you are not in likes mode.) You cannot edit more than one arc label at a time. To get back to normal edit mode, click on the Edit button on the situation palette. Other situation manipulations To toggle between 2-D and 3-D views of the situation, choose 2-D View or 3-D View from the Situation menu or type Command-Y. When you are viewing the situation in 2-D, you may want to expand the situation pane, particularly if the situation contains happy information. All of the editing functions work in either view. You can change the situation display from color to black and white, or vice versa, by choosing Color Situation from the Situation menu. To display the situation in a different range of colors, choose Edit Colors... from the Situation menu. A dialog box will appear allowing you to choose custom colors for various items in the situation. To choose colors, click on the Custom Colors button and then click on the color you want to change. Your changes will be saved in your copy of Hyperproof. If you want to change back to the Hyperproof's original colors, click on Default Colors in the color dialog box. The menu items Color Situation and Edit Colors... are dimmed if you are running Hyperproof on a Macintosh with fewer than 256 colors.
A.3 The body of the proof The body of the proof appears below the situation display. In this section, we explain how to modify and navigate around a proof. Before doing this, we present a list of some of the graphical elements you will encounter in the proof pane: Focus Slider. The focus slider appears just to the left of the proof and points to the currently focused step. Proof line and Fitch bar. Proofs and subproofs are demarcated by a vertical dotted line. Attached to the line is a horizontal bar called the Fitch bar. The Fitch bar separates the assumptions of the proof from the steps that follow from those assumptions.
The body of the proof 225
r0
$
@
Y ---
I!
New Step Icon. This icon appears when you first create a new step. It indicates that you can either add a sentence or make situation changes at the step. Empty Situation Icon. This icon appears at the top of the proof pane if there are no blocks in the given situation. If it appears at the top of a problem file that you open up, it indicates that there is no situation information, so a purely sentential proof is required. Normal Situation Icon. This icon appears at every step containing new situation information. You should think of it as a placeholder for a situation. CurrentSituation Icon. This is the highlighted version of the normal situation icon. It indicates which situation is currently in force at the focused step (see below). It is also the situation that is currently being displayed in the situation pane. Constant Box. The constant box appears at the top of subproofs in which a new constant or constants have been introduced. The constant box depicted here indicates that a is a newly introduced constant. Collapsed Subproof Icon. This icon appears when you collapse a subproof to save space in the proof pane.
The current focus As you work on a proof, there is always one step that is "in focus." This step is indicated by a small triangle on the far left of the proof, called the Focus Slider. The focused step is the step affected when you perform any of the editing functions. Moving the focus There are several ways to change the focus from one step to another. First, you can drag the focus slider up and down, or simply click in the focus slider area next to the step you want to focus on. Alternatively, you can use the arrow keys on the keyboard to move the focus up and down. Clicking on a step other than the currently focused step won't move the focus, unless you click in the focus slider area to the left. This is because clicking on steps is the way we enter supports for the currently focused step. (See page 229.) But on the sentence palette, there is a special tool (the "I-beam" tool, next to the finger tool) which, when selected, allows you to move the focus by clicking directly on the step. To select the I-beam tool, click on the palette button. When the finger tool is selected, holding down the option key will temporarily change to the I-beam tool. Thus you can also move the focus by holding down the option key and
226
Using Hyperproof
clicking directly on the desired step. Conversely, when the I-beam tool is selected, holding down the option key temporarily changes to the finger tool. So you can enter supports with the I-beam tool by holding down the option key and clicking on the support steps. (If you prefer moving the focus by clicking in the body of the proof, you can choose the I-beam tool as soon as you launch Hyperproof, and then option click whenever you want to enter supports.) The current situation As you move the focus around a proof, the situation display will change. What is shown in the display is the current situation at the step in focus. The current situation is the one "in force" at that point in the proof. It is, for example, the situation in which a sentence would be evaluated if you were to use the Observe rule at that step. When you change the situation in the course of a proof, the new situation becomes the current situation. It remains current until you either change the situation again, resulting in a new current situation, or else end the subproof in which that situation occurs. When you end a subproof, the current situation reverts back to the one in force outside of the subproof. (Subproofs are explained in the discussion of the Assume rule in Chapter 2, and below on page 230.) In the body of the proof, the situation icon corresponding to the current situation is always highlighted. Adding new steps To add a new step to a proof, choose Add Step from the Proof menu. There are two keyboard equivalents for the Add Step command. You can either type Command-A or Shift-Return (that is, type a return while holding down the shift key). Add Step will give you a new proof step immediately after the step you were focused on, unless you were focused on a Given step, in which case the new step will be the first step following the givens. (To find out how to add new Given steps, see Section A.8.) To add a step at the end of the proof, focus on the last step of the proof and choose Add Step. To insert a step in the middle of a proof, focus on the step you want the new step to follow and choose Add Step. New steps added within a subproof will appear in the same subproof. Starting and ending subproofs require slightly different commands. These are described on page 230.
Entering sentences into steps When you add a new step, the new step icon will appear. At this point you can either modify the situation or enter a sentence. To enter a sentence, either use the palette or type directly from the keyboard. To type the logical symbols from the keyboard, refer to the list of keyboard equivalents found in Table 2.
The body of the proof 227
Symbol
Equiv
Symbol
Equiv
A
&
V
I
-
$
3-%
V
@3
?
Table 2: Keyboard equivalents for typing symbols. Deleting steps To delete a step, focus on the step and choose Delete Step from the Proof menu (or type Command-D). If you delete an Assume step, the entire subproof containing that Assume step will be deleted. If you accidentally delete a step or subproof, you should immediately choose Undo Delete Step (Command-Z) from the Edit menu. This will undo the deletion, but will not work if you have done anything else in the meantime. You can quickly delete a range of steps by using the selection rectangle on the sentence palette. This is explained below on page 236. Specifying a step's rule When you add a new step, the word "Rule?" appears to the right of the step. To specify a rule for the step, click down on the word "Rule?" A popup menu will appear to the right. You can then select the rule you want by dragging the cursor over the appropriate rule name and letting go of the mouse button. There are three special items on this popup menu, labeled Con, Elim, and Intro. Dragging the cursor over these menu items will cause a second menu to appear with a list of further options. To specify the rule of, say, Negation Elimination, first move the cursor over the item Elim. Then, when the second menu appears, drag the cursor to the item -, and release the mouse button. This operation is illustrated in Figure 27. Similarly, to specify the rule of Taut Con, first move the cursor over the item Con and then choose Taut from the second menu. The rule determines the type of information (sentence, situation change, or declaration) that you can introduce at the step. When you specify a rule that requires a situation change, you will not be able to enter a sentence. Similarly, when you specify a rule requiring a sentence, you will not be able to modify the situation. When you choose an enabling rule, boldface text will appear stating the rule's declaration. For example, in Figure 7 on page 18, the ninth step is an application of the rule Cases Exhaustive, and so that step contains the declaration Exhaustive.
228
Using Hyperproof -
Rpply
lipply Assume
Assume Close Con
Close Con
CTR
CTR Exhaust Identltv Inspect
Intro > Merge Name Observe Trust Me
A
Exhaust
A
V
-M
V
o
+ V 3 31n
Identity Inspect Intro
Merge Name Obserue Trust Me
e e
V 3 32n
Figure 27: Using hierarchical menus to specify rules. Specifying that a step's rule is Assume indents the step and begins a subproof. At this point you may specify either a situation change or a sentence, but not both. If you begin to type a sentence, the new step icon is replaced by the sentence you type. If you instead make a change to the situation, the new step icon turns into a situation icon. You can also specify a rule from the keyboard, by typing the appropriate keystroke equivalent. A list of these appears in Table 3. Note that in using these keyboard equivalents, you should not hold down the shift key unless it is explicitly mentioned in the table. For example, to specify the rule V Elim, you will actually type Option-2; holding down the shift key will change the rule to V Intro instead. We have listed the shifted ("uppercase") characters because they are easier to remember. For example, it is easier to remember that A Elim is Option-& than to think of it as Option-7. Changing a step's rule To change the rule of an existing step, you must first move the focus to that step. Then, specify the new rule using either the popup menu or the keystroke equivalents. If there are situation changes at the step, you will not be able to specify a rule that does not permit situation changes (for example Observe or Inspect). To change to such a rule, you must first choose Clear Situation from the Edit menu. This will remove all the modifications that were made to the situation at that step and allow you to change to any of the rules. Similarly, if there is a sentence at the step, you must first delete the entire sentence before you can change to a rule that does not permit sentences (for example Apply or Merge). You can only change the rule of an Assume step when it is the only step in its subproof. If there are steps below the Assume step that depend on the assumption, then you will not be able to change the Assume step's rule until those steps are deleted.
The body of the proof 229 Rule
Equiv
Rule
Equiv
Ana Con Assume Apply Close CTA Exhaust Identity
Option-V Option-A Option-P Option-C Option-T Option-X Option-D
Inspect Log Con Merge Name Observe Taut Con Trust Me
Option-S Option-F Option-M Option-L Option-O Option-R Option-Z
Elim V Elim A Elim - Elim Elim V Elim 3 Elim 3>n Elim
Option-! Option- | Option-& Option-$ Option-% Option-@ Option-? Option-Q
Intro V Intro A Intro -+ Intro +-*Intro V Intro 3 Intro 1>n Intro
Shift-Option-! Shift-Option-| Shift-Option-& Shift-Option-$ Shift-Option-% Shift-Option-@ Shift-Option-? Shift-Option-Q
-
-
Table 3: Keystroke equivalents for specifying rules. Specifying a step's supports Most rules require that you cite other steps as justification or "support." To specify the supports for a step, focus on that step and click on the steps to be cited. The steps you click on will highlight. If your support is a subproof, clicking anywhere in the subproof will highlight the whole subproof. If you click on a step or subproof already cited, it will be uncited. The rule of Cases Exhausted (not needed for purely sentential proofs) is a bit more complex. This rule has both support sentences and, in addition, one or more cases (i.e., subproofs) that are claimed to be exhaustive. So you need to specify both the cases that the declaration is about and the sentence or sentences that support the declaration. When you click on the cases, a bracket will appear to mark the cases. (See, for example, the bracket enclosing steps seven and eight in Figure 7, page 18.) When you click on the sentence(s) supporting your claim, these will be highlighted. To see a step's supports, you must focus on that step. The supporting steps will then become highlighted. To change a step's supports, focus on the step and click on the steps you wish to add or delete from the step's supports.
230
Using Hyperproof
Checking Steps To check to see whether a step is correct, focus on the step and then either press the Enter key (on the numeric keypad) or click with the mouse on the status line (at the very bottom of the proof window). You can check all of the steps in your proof by choosing Check Proof (Command-P) from the Proof menu. After you check a step, one of four symbols will appear to the left of the rule name. A check mark means that the step is logically correct. An X means that the step is logically incorrect. An asterisk means that the sentence at that step is not syntactically well-formed. Finally, a question mark, which appears only on a Cases Exhaustive or Apply step, means a possible (rather than a definite) counterexample was found. If you do not get a check mark for one of your steps, focus on the step and look at the message in the status line. It may provide you with some helpful information about why your step is incorrect.
Rule Defaults Many rules have defaults that can save you considerable time when constructing a proof. For example, when you apply the Merge rule, you generally want to extract all of the situation information that is common to an exhaustive range of cases. Rather than re-enter this information at the Merge step, Hyperproof allows you to choose the Merge rule from the popup menu, specify the required support step (an Exhaustive step), and hit Enter to check the step. When you do this, Hyperproof will automatically make all situation changes allowed by the rule. To give a sentential example, if you choose the rule -- Elim, cite two sentences of the form P -* Q and P, and then hit Enter, Hyperproof will automatically fill in the step with the sentence Q. Some rules do not have defaults. When you invoke the Observe rule, for example, there is no way for Hyperproof to know which sentence you have in mind and so your sentence must be typed in by hand. The rules that do not have defaults are Ana Con, Apply, Assume, Inspect, Log Con, Observe, Taut Con, and Trust Me. Defaults for the other rules are described in the body of the book. To get Hyperproof to provide a default for a step, the step must be empty. In other words, there must be no situation or sentential information that you have put in yourself. If the step is empty, then when it is checked-whether by hitting Enter, clicking in the status bar, or choosing Check Proof-Hyperproof will try to provide a default for that step.
Starting and ending subproofs A subproof is started by changing a step's rule to Assume. Once you are within a subproof, any new steps you add will also be in that subproof. So to add a step after a subproof, you need to know how to end the subproof.
The body of the proof 231 To end the subproof, focus on the last step and choose End Subproof (Command-E) from the Proof menu. This will end the subproof and give you a new step following that subproof. If, when you do this, the last step of the subproof is a new (empty) step, then that step will just be moved out of the subproof. This means you can end two embedded subproofs by choosing End Subproof twice. The first time, you will end the innermost subproof and get a new step in the outer subproof. The second time, the new step will be shifted out of that subproof as well. There are two keyboard equivalents for End Subproof: you can either type Command-E or type Option-Return (that is, type return while holding down the Option key). When you are in a subproof that is enclosed by a Cases Exhaustive bracket, you cannot end the subproof. You can, however, add a new case (a new subproof) to the bracketed range of cases. In this circumstance, the End Subproof command is replaced on the Proof menu by the command Add Case. The keyboard equivalent for Add Case is also Command-E.
Boxed constants in subproofs When you start a subproof by changing a step's rule to Assume, a downward-pointing triangle appears to the left of the new step icon. This triangle indicates the existence of a popup menu. If you click down on it, the menu will appear. In this case, the menu presents you with a list of all the names available in Hyperproof. Choosing one of these names causes it to be added as a boxed constant-unless it is already boxed, in which case it is removed from the box. Boxed constants are used in the rules Name, V Intro, and 3 Elim.
Exhaustive cases A exhaustive range of cases (not needed in purely sentential proofs) can be constructed quickly by means of the Exhaustive Cases and Add Case commands on the Proof menu. Exhaustive Cases (Command-[) gives you a single subproof, already enclosed in a bracket and followed by an Exhaustive step. It leaves the focus on the Assume step of the subproof so that, once you finish this subproof, Add Case will create another subproof, also enclosed in the Cases Exhaustive bracket. If you enter support steps before choosing Exhaustive Cases, then these supports will be taken as the supports for the Exhaustive step following the cases. Thus the fastest way to break into cases is to add a step, specify the supports you will be using for the Exhaustive step, choose Exhaustive Cases, and then specify your cases one by one. If you forget to cite support sentences before choosing Exhaustive Cases, then after you finish specifying your cases you will have to move down to the Exhaustive step to cite its supports. To do this, move the focus to the Exhaustive step and then click on the sentences that support this claim.
232
Using Hyperproof
Collapsing subproofs Long subproofs can be collapsed so that they take up less room on your screen. To collapse a subproof, choose Collapse Subproof (Command-'-') from the Proof menu while focused on any step in the subproof. The subproof will be replaced by a single "subproof" icon. If you are focused on a step of a subproof within a subproof, Collapse Subproof will first collapse the innermost subproof. Then if you choose the command again, it will collapse the outer subproof as well. To expand a subproof, focus on it and choose Expand Subproof (Command-=) from the Proof menu. When a subproof is collapsed, it does not display a rule name, but rather the words Open or Closed. This indicates whether the Close rule has been invoked within that subproof. A checkmark to the right of a collapsed subproof means that every step in the subproof checks out; an X means that at least one step does not. Deleting subproofs To delete a subproof, focus on the Assume step that begins the subproof and choose Delete Step from the Proof menu (or type Command-D). When you delete a subproof, you can get it back if you immediately choose Undo Delete Step from the Edit menu. Once you move the focus or add a step, you can no longer undo the deletion.
A.4
Goals
The goals for a problem are represented by icons that appear in the goal strip at the bottom of the proof window. If the goal strip is not visible and you would like it to be, choose Show Goal Strip from the Goal menu (or type Command-T). If the goal strip is visible but you would like more room for the proof, choose Hide Goal Strip from the Goal menu (or type Command-T). Different icons represent different types of goals. To get a detailed explanation of a goal, open it by double clicking on its icon. Then, if you want an explanation or reminder of how to satisfy the goal, click on the Help button. If you have a large enough screen, you can move the goal windows off to the side where they can remain visible while you work on your proof. If a goal window (or any other window) is obscured by others, you can move it to the top by choosing its name from the Window menu. You can open multiple goals by dragging a rectangle around the icons or by shift clicking on them (that is, clicking on them while you hold down the shift key), and then choosing Open Goals... from the Goal menu. A quick way to find out about your goals is by "goal peeking." To peek at your goals, select (click once on) each of them in turn. Key information will appear in one of two places, depending on the type of goal you have selected. If the goal asks you to prove a
Copying and pasting 233
sentence, then when you select its icon, the sentence is displayed in the status bar. If a goal asks you to prove something about a block, then when you select the icon, the block in question is highlighted in the situation. (Name goals and consistency goals don't do anything when you select them, since their icons carry all the information you need.) When you are working on a problem and think that you have satisfied one or more of the goals, choose Check Goals from the Goal menu (or type Command-H). At that point, one of three things will happen. If your proof contains any incorrect steps, then a dialog box will appear warning you that goals can only be checked when all proof steps are correct. But if the proof steps all check out, then either a check or an X will appear under each goal icon, depending on whether the goal has in fact been satisfied in the proof. When an "open question" goal checks out (for example, a goal that asks whether a sentence follows from the given), the checkmark will also have a small yes or no indicating whether the answer to the goal's question is yes or no. A description of all the goals and how to satisfy them can be found in Appendix B, page 239.
A.5
Copying and pasting
Hyperproof allows you to cut, copy, and paste various parts of a proof. Mastering these operations will make the construction of proofs much easier. When you cut or copy something from a proof, it is placed on the Macintosh's "clipboard." The clipboard is a part of the Macintosh's memory that you can't see, but which stores whatever you have cut or copied so you can later paste it somewhere else in the proof. The difference between cut and copy is that the former deletes the item in question from its current place in the proof, while the latter leaves the proof itself untouched, and stores a copy of the item on the clipboard. Once something is on the clipboard, you can paste copies of it into the proof as many times as you want. It will remain on the clipboard until something else is cut or copied, at which point the new item replaces what used to be on the clipboard. If you cannot remember what part of a proof you last cut or copied, choose Show Clipboard from the Edit menu. Copying and pasting sentences To cut or copy a sentence, or part of a sentence, you must first be focused on the step that contains the sentence. Select the portion you want by clicking down at one end and dragging to the other, holding the mouse button down as you drag. Once it is selected, choose Copy Sentence (Command-C) or Cut Sentence (Command-X) from the Edit menu. Both of these commands place a copy of the selected text on the clipboard; the second simultaneously deletes it from the step.
234
Using Hyperproof
If you want to copy an entire sentence from a step, simply focus on the step and choose Copy Sentence from the Edit menu. There is no need to select the sentence. This places a copy of the whole sentence from that step on the clipboard, ready to paste elsewhere in the proof (or in another proof). This shortcut is particularly useful if you want to copy one of the given sentences when authoring mode is off, for in that case the given sentence will be locked and you will not be able to select it. Once the sentence is on the clipboard, you can paste it into another step by moving to that step and choosing Paste Sentence (Command-V) from the Edit menu. The step must be one that accepts sentences-you cannot, for example, paste a sentence into an Apply step. The text will appear wherever text typed from the keyboard would, so if you want to paste it into the middle of some existing text, make sure the blinking insertion point is located where you want the text to appear. Copying and pasting goal sentences If one of the goals of a problem is a sentence goal (see page 31), you can save some typing by copying the goal sentence from the goal window and pasting it into your proof. To do this, open the goal by double clicking on the icon in the goal strip. When the window opens showing the sentence you are asked to prove, choose Copy Sentence from the Edit window. Then move back to the proof window and paste the sentence into the desired step. Copying and pasting situations If you are focused on a step that contains a situation icon, say an Assume step, you can copy the current situation by choosing Copy Situation (Command-C) from the Edit menu. You can then place this situation at another step in the proof by focusing on that step and choosing Paste Situation (Command-V) from the Edit menu. (The step must, of course, be one that allows situation changes.) This is useful if you are breaking into several cases that are similar in many respects and differ in just a few. In that circumstance, you can build one case, copy the assumed situation, and then paste it into the remaining cases, making whatever modifications are necessary in the subsequent cases. When you paste a situation that you copied from another point in the proof, it may turn out that the current situation at the step where you want to paste conflicts in some way with the situation on the clipboard. For example, one and the same block might be a cube in the current situation and a tetrahedron in the clipboard situation. If this happens, a dialog box will appear, warning you of the conflict. If you click Paste, then Hyperproof will paste as much of the clipboard situation as is consistent with the situation current at that point in the proof. It will never change any definite information contained in the current situation. You can also copy a situation from one proof and paste it into another. But for this to work well, the situation in the second proof must be relatively similar to the situation in the
Copying and pasting 235
first proof. Otherwise, Hyperproof will not be able to tell which blocks you consider to be the counterparts of the blocks on the clipboard, therefore it will not know where to make the situation changes. Cut Situation (Command-X) works the same way as Copy Situation, except that any situation modifications that are made at the focused step will be deleted (though they will remain on the clipboard). Cut Situation will not delete any situation information that was introduced at an earlier step.
Copying and pasting from the counterexample window When Hyperproof finds a counterexample in checking a Cases Exhaustive or Apply step, you can copy the counterexample situation and paste it into your proof. With the counterexample window active, choose Copy Situation from the Edit menu. Then move back to the proof window, focus on the step where you would like to paste the situation and choose Paste Situation.
Copying and pasting ranges of steps Hyperproof allows you to cut or copy a range of steps and paste them at another location in the same proof or in another proof. This is especially useful if your proof requires several similar subproofs, each containing a similar sequence of steps. To cut or copy steps, you must first select them using the selection tool from the sentence palette. The selection tool is opposite the finger tool at the top of this palette; its icon is a dotted rectangle. When you click on this button, it will become highlighted and you are ready to select steps. To select a sequence of steps, click down at the center of the first step in the sequence and drag straight down to the last step. A dotted rectangle will appear, showing which steps are selected. If the rectangle doesn't contain the steps you want, click somewhere else in the proof and the rectangle will disappear. You can then try selecting the steps again. Note, however, that Hyperproof will not allow the selection rectangle to cut a subproof in half: you must either select steps entirely from within a subproof, or else select the subproof as a whole. When the rectangle contains exactly the steps you want, choose Cut Steps (CommandX) or Copy Steps (Command-C) from the Edit menu. Both of these commands place a copy of the steps on the clipboard; Cut Steps also deletes the selected steps from the proof. Once a sequence of steps is on the clipboard, choosing Paste Steps (Command-V) from the Edit menu will insert the steps at the point of focus. If you are currently focused on an empty step, the pasted steps will replace the empty step. If you are currently focused on a step that is not empty, the pasted steps will be inserted after the focused step. If you want to paste steps into your proof immediately following a subproof, but not as part of the subproof, you will have to end the subproof before pasting. This will give you
236
Using Hyperproof
an empty step outside the subproof and Paste Steps will replace this empty step with the steps on the clipboard. When you paste steps into a proof, Hyperproof will try to keep track of the appropriate supports for those steps. Sometimes, though, the supports for the pasted steps will no longer be "legal" in the new location, for example if you paste a step into the proof at a point earlier than one of its support steps. In such cases, Hyperproof will remove the illegal support from the step's list of supports. Note that the selection tool also gives you a handy way to delete a large number of steps. Rather than repeatedly choosing Delete Step from the Proof menu, simply select all of the steps you wish to delete and choose Clear Steps from the Edit menu. Simply hitting the Delete key will also delete the selected range of steps. When you are finished with the selection tool, don't forget to go to the sentence palette and switch back to the normal, "finger" tool. While you have the selection tool, you will not be able to cite support steps or use the sentence palette to enter sentences.
A.6 Printing proofs To print a proof, choose Print... from the File menu. When you do this, you will be given the standard print dialog box. If your printer supports color or grayscale printing, choosing this option will make the printed situations look nicer. Once you have chosen any printer options you want to use, click on the Print button in the dialog box. When Hyperproof prints a proof, the situations will appear in 2-D or 3-D, depending on how they are currently displayed on screen. To make the printed proof understandable, all the situation icons in the proof are replaced with the full situations corresponding to them. In addition, in the printed proof Hyperproof adds numbers to all of the steps and uses these numbers to indicate each step's supports. If, when you print your proof, the logic symbols are replaced by other symbols, turn off background printing (from the Chooser) and try again. If it still doesn't print the right symbols, turn off color/grayscale printing (in the print dialog box).
A.7
Function keys
If you are working on a Macintosh that has function keys (keys labeled "Fl," "F2,"..., located at the top of your keyboard), you can use these keys as a shortcut for various commands. The menu equivalents of the function keys are listed in Table 4.
A.8
Setting up problems
To create a new problem or modify an existing problem, you must be in authoring modethat is, there must be a check next to Authoring Mode on the Edit menu. Hyperproof
Setting up problems 237
Key
Menu Equiv
Key
Menu Equiv
F1 F2 F3 F4 F5 F6
Undo Cut Copy Paste New Open ...
F7 F8 F9 F10 Fil F12
Save Save As ... Add Step End Subproof Check Proof Check Goals
Table 4: Function key equivalents for menu commands. automatically puts you in authoring mode when you start a new file by choosing New from the File menu. But if you want to change a problem that was saved with authoring mode off, you must first choose Authoring Mode from the Edit menu to turn it back on. Authoring mode allows you to edit the given situation and the given sentences just as you would edit ordinary steps. Adding and deleting givens To add a given sentence, choose Add Given (Command-G) from the Proof menu. If you are currently focused on a given step, the new given step will appear immediately after the focused step. If you are focused on a step in the body of the proof, the new given step will appear at the end of the given steps. To delete a given step, focus on the step and choose Delete Step (Command-D) from the Proof menu. You cannot delete the given situation. Adding and deleting goals To add a goal to a problem, choose New Goal... from the Goal menu. You will be presented with a dialog box showing the various types of goal icons. If you select one of the icons, the text associated with the goal will appear in the field at the bottom of the dialog box. When you have selected the desired goal type, click OK. Many of the goals require additional information, for example the specification of a block, a name, or a sentence. If you are setting up one of these goals, a second dialog box will appear, asking for the additional information. To delete a goal from a problem, select the goal in the goal strip and choose Delete Goals from the Goal menu. To delete several goals, select them all by dragging a rectangle around them (or by shift clicking) before choosing Delete Goals.
238
Using Hyperproof
Saving new problems When you have finished setting up a problem, turn off authoring mode before saving it. This will prevent users from accidentally changing the given information for a problem while trying to solve it. (Of course, authoring mode can always be turned on if the user intends to change the given.) To save the problem, choose Save As... from the File menu. The subsequent dialog box allows you to name the file and choose the folder it should be saved in. It also gives you two additional choices: Save as Stationery Pad and Save Problem Only. If you choose Save as Stationery Pad then the file will be saved as a template or stationerypad. On Macintoshes running System 7, stationery files behave differently from ordinary files: when a stationery pad called Filename is opened, it appears in a window titled Filename Solution. This makes it less likely that users will accidentally save their changes over the original problem file. If you choose Save Problem Only, then only the givens and goals will be saved using the specified name, and authoring mode for the saved problem will be turned off. This allows you to set up a problem, solve it to make sure it can be solved, and then save it in two forms: as a problem (without the solution) and as a finished proof.
A.9
Projecting Hyperproof in class
If you are using Hyperproof with projection equipment, you may find that your students have trouble seeing parts of the proof, depending on the quality of your equipment and the size of the room. These problems can be solved by using a larger or bolder font and by darkening the proof lines. To make these changes, choose Font Siie. . ., Font Style... or Darken Proof Lines from the Window menu.
All
p
Summary of Goals Sentence goals *
Prove the sentence. This goal asks you to prove that a specified sentence follows from the given information. To see the sentence in question, click once on the goal icon and the sentence will appear in the status bar. The goal is satisfied in a proof if the sentence in question appears at some step in the main proof (i.e., not in a subproof).
x
Show that the sentence does not follow. This goal asks you to show that a specified sentence is not a consequence of the given information. To see the sentence in question, click once on the goal icon and the sentence will appear in the status bar. To satisfy this goal, construct a subproof in which CTA checks out and which contains an Observe step with the negation of the specified sentence.
7
Does the sentence follow? This goal asks you to determine whether a specified sentence follows from the given information. To see the sentence in question, click once on the goal icon and the sentence will appear in the status bar. To satisfy this goal, you must either show that the sentence follows from the given information (that is, satisfy the first "sentence" goal above) or show that the sentence does not follow (that is, satisfy the second "sentence" goal). It's up to you to figure out which.
1=
1=
Consistency goals Show that the given information is consistent. This goal asks you to prove that the given information is consistent. The goal is satisfied in a proof if a CTA step appears at some point in the proof (generally, though not necessarily, in a subproof). +Z+
Show that the given information is not consistent. This goal asks you to show that the given information is inconsistent. The goal is satisfied in a proof if a Close step appears at some point in the main proof (that is, not in a subproof).
+M Is the given information consistent? This goal asks you to determine whether the given information is consistent. To satisfy this goal, you must either show that the 239
240
Summary of Goals information is consistent (that is, satisfy the first "consistency" goal above) or show that the information is inconsistent (that is, satisfy the second "consistency" goal). It's up to you to figure out which.
Shape goals -
Determine the shape of the block. This goal asks you to determine the shape of a specified block. To see which block it refers to, click once on the goal icon. When you do this, the block in question will become highlighted. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified block has been assigned a definite shape.
Rg Show you cannot determine the shape of the block. This goal asks you to show BY
that the shape of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. When you do this, the block in question will become highlighted. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign different shapes to the specified block.
-xI \ZEL
Can you determine the shape of the block? This goal asks you whether you can determine the shape of a specified block. To see which block it refers to, click once on the goal icon. When you do this, the block in question will become highlighted. To satisfy this goal, you must either determine the shape of the block (that is, satisfy the first "shape" goal above) or show that you cannot determine the shape (that is, satisfy the second "shape" goal). It's up to you to figure out which.
Size goals
|
H
Determine the size of the block. This goal asks you to determine the size of a specified block. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified block has been assigned a definite size.
H
Show you cannot determine the size of the block. This goal asks you to show that the size of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign different sizes to the specified block. ICan you determine the size of the block? This goal asks you whether you can determine the size of a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either determine the size of the block
Summary of Goals 241
(that is, satisfy the first "size" goal above) or show that you cannot determine the size (that is, satisfy the second "size" goal). It's up to you to figure out which. Location goals ,
Determine the location of the block. This goal asks you to determine the location of a specified block. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified block has been assigned a definite location on the grid.
x
Show you cannot determine the location of the block. This goal asks you to show
that the location of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign different locations to the specified block. F
I
Can you determine the location of the block? This goal asks you whether you can determine the location of a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either determine the location of the block (that is, satisfy the first "location" goal above) or show that you cannot determine the location (that is, satisfy the second "location" goal). It's up to you to figure out which.
Name goals
A V
Determine which block is named "n". This goal asks you to determine the referent of the name "n" (where "n" can be any of our names). The icon will show which name, a, b, c, . . ., is at issue. (The icon at the left, for example, asks you to determine which block is named "a.") The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the specified name has been assigned to some block. Show you cannot determine which block is named "n". This goal asks you to show that you cannot determine from the given information which block is named 'n". The icon will show which name, a, b, c, . . ., is at issue. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situations at those two steps assign the specified name to two different blocks. Can you determine which block is named "n"? This goal asks you whether you can determine which block is named "n". The icon will show which name, a, b, c, .. ., is at issue. To satisfy this goal, you must either determine the referent of the specified name (that is, satisfy the first "name" goal above) or show that you cannot determine
242
Summnary of Goals
the referent of the name (that is, satisfy the second "name" goal). It's up to you to figure out which. Happy goals Determine whether the block is happy. This goal asks you to determine whether a specified block is happy. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not
in a subproof) in which the specified block is either definitely happy or definitely not happy. Show you cannot determine whether the block is happy. This goal asks you to show that the state of mind of a specified block cannot be determined from the given information. To see which block it refers to, click once on the goal icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situation at one of those steps has the block happy, while at the other the specified block is not happy. Can you determine whether the block is happy? This goal asks you whether you can determine the state of mind of a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either determine whether the block is happy (that is, satisfy the first "happy" goal above) or show that you cannot determine whether the block is happy (that is, satisfy the second "happy" goal). It's up to you to figure out which. Likes goals
Determine whether one block likes another. This goal asks you to determine whether one specified block likes another specified block. To see which blocks it refers to, click once on the icon. The goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which the first block either definitely likes or definitely does not like the second. Show you cannot determine whether one block likes another. This goal asks you to show that you cannot determine from the given information whether the first block likes the second. To see which blocks it refers to, click once on the icon. The goal is satisfied in a proof if there are two uses of CTA somewhere in the proof and the current situation at one of those steps has the first block liking the second, while at the other step the first block does not like the second.
IV
Can you determine whether one block likes another? This goal asks you whether you can determine from the given information whether the first block likes the second. To see which blocks it refers to, click once on the icon. To satisfy this goal, you
Summary of Goals 243
must either determine whether the first block likes the second (that is, satisfy the first "likes" goal above) or show that you cannot determine whether the first block likes the second (that is, satisfy the second "likes" goal). It's up to you to figure out which. Identify goals
it
Identify the block. This goal asks you to identify a specified block. To see which block it refers to, click once on the goal icon. To identify the block, you must find a name from among those used in the given sentences that refers to that block. Thus, the goal is satisfied in a proof if there is a situation at the main proof level (i.e., not in a subproof) in which a name that appears in the given sentences has been assigned to the specified block. Show you cannot identify the block. This goal asks you to show that you cannot identify a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must show that for each name used in the given sentences, it is consistent for that name to be assigned to some block other than the specified block. Thus the goal is satisfied if, for each name appearing in the given sentences, there is a use of CTA somewhere in the proof whose situation has that name assigned to a block other than the specified block. (Note that this does not require there to be a separate use of CTA for each name.)
f!
Can you identify the block? This goal asks you whether you can identify a specified block. To see which block it refers to, click once on the goal icon. To satisfy this goal, you must either identify the block (that is, satisfy the first "identify" goal above) or show that you cannot identify the block (that is, satisfy the second "identify" goal). It's up to you to figure out which.
ASS
The LoFOL Proof System The proof system embodied in Hyperproof contains all the rules of the system F used in our book The Language of First-orderLogic (LOFOL), with a few minor variations. The aim of this appendix is to indicate how to use Hyperproof to construct proofs in this system. In this appendix we assume that you have worked through the first two chapters of this book, and are consequently familiar with the basic operation of the Hyperproof program. One difference between F and the Hyperproof system is the way you cite support for the application of a rule. In F, you are required to number steps and use those numbers when referring to steps in your justifications. As you have already learned, this is unnecessary in Hyperproof, where you simply click on a step when citing it. When you are focused on a step, all of that step's supports are then highlighted. Here is one of the first proofs given in Section 3.9 of LoFOL: -1. (AA B) V(CA D)
2. AA B 3.B 4. Bv D
A Elim: 2
V Intro: 3
5. CA D
6.D
A Elim: 5
.B v D
V Intro: 6
8. B V D
V Elim: 1, 2-4, 5-7
Let's see what this proof looks like when done using Hyperproof. Open the file LoFOL Sample Proof, located in the LoFOL folder on your Hyperproof disk. Since there is no situation information to worry about in this proof, you might want to get rid of the situation pane and give yourself maximum room in the lower, proof pane. To do this, choose Hide Situation (Command-U) from the Situation menu. Move the focus down the proof, comparing each line of the proof with the corresponding line above. Notice how the support for each step is indicated in the two versions of the proof. When you get to the last step in the proof, notice that both subproofs as well as 244
The LoFOL ProofSystem
245
the given sentence are highlighted. Click on one of these subproofs. The highlighting disappears indicating that it is no longer cited in support. Check the validity of the step by hitting Enter. You will see that the step no longer checks out. Fix the step by citing the subproof again (click anywhere inside the subproof) and hitting Enter. Now that you see how a proof from LoFOL looks in Hyperproof, let's see if you can construct one yourself. Open the file LoFOL Problem, which contains the goal and given sentence from the proof we just looked at. Let's reconstruct this proof, step by step. Begin by adding a step to the proof using Add Step (Command-A) from the Proof menu. Since the first step is an assumption, change the step's rule to Assume. Then type in A A B. You will have to type A and B from the keyboard, since these do not appear on the palette. The symbol A can be typed from the palette or from the keyboard by typing "1&." (A list of keyboard equivalents for the symbols can be found in Table 2 on page 227.) Next, add a step and type in B. At this point, you must change the rule to A Elim. To do this, click down on "Rule?" to get the popup rule menu. Move the mouse cursor over the word Elim to get a second popup menu. Now move the mouse cursor over the symbol A on this second menu and release the button. This will give you the rule A Elim. If you accidentally choose some other rule name, repeat the operation until you get the right rule. Finally, click on the sentence in the Assume step to indicate that it is the support for this step. Hit Enter to see if the step checks out. Add another step to the proof and type the sentence B V D. Change the rule to V Intro and specify the appropriate step in support. Make sure the step checks out. If it doesn't, see if you can figure out what's wrong and fix it. You are now finished with the first subproof. Choose End Subproof (Command-E) from the subproof menu. This will give you a new step in the main proof. See if you can create the second subproof on your own. After you have ended the second subproof, you are ready for the final step of the proof. Here we will show you a trick. Instead of typing the sentence B V D at this step, leave it blank. Change the step's rule to V Elim and specify the necessary supports: the given sentence and the two subproofs. Now hit the Enter key. Hyperproof will fill in the desired sentence. This completes your proof. Choose Check Goals from the Goal menu to see if everything is correct. The trick we used in the last step of this proof is known as a "rule default:' Many of the rules in Hyperproof have defaults that will fill in sentences for you. For example if you cite sentences of the form P and P -* Q with the rule -* Elim, Hyperproof will supply the sentence Q. Since Q may itself be a complex sentence, these defaults can save you a lot of typing. You can learn about each rule's default application by looking through Chapters 8 and 9. Once you have managed to construct this proof, you've pretty much mastered everything you need to do LOFOL proofs using Hyperproof. There are just a few last things you should know about. The first concerns the treatment of identity. In LoFOL, we have two identity rules,
246
The LoFOL ProofSystem
Reflexivity of Identity (Refl =) and Indiscernibility of Identicals (Ind Id). In Hyperproof, there is just one rule that does both of these things. Not surprisingly, it is called Identity. The second difference is that Hyperproof has no rule of Reiteration. Instead, we have an equivalent way to get the same effect. The rule of A Intro in Hyperproof allows you to cite any sentence and simply repeat it, since any sentence can be considered a conjunction with only one conjunct. So at any point where you would like to use Reiteration, use A Intro instead. At certain points in LOFOL, we allow you to use results you have already proven by citing Previous Theorem. In Hyperproof there is no Previous Theorem rule. Instead, use the rule Taut Con for theorems of Chapters 3 and 4 of LOFOL, and the rule Log Con for the theorems of Chapters 5 and 6. Avoid using the rule Trust Me altogether. The final thing that needs to be mentioned concerns the rules of V Intro and 3 Elim. When you start using these rules, you will have to learn how to get the "boxed constants" to appear in your assume steps. We won't bother to explain that now, since it would be premature. When you get ready to use these rules, read the section describing boxed constants on page 231 in Appendix A. All of the LoFOL problems involving formal proofs can be found in the LoFOL folder on your Hyperproof disk. We hope you have fun solving them with Hyperproof!
3
2-D View, 224 3-D View, 224 3Bn Elimination rule, 184 3 Ž" Introduction rule, 186
Biconditional Introduction 158, 160 block cylindrical, 5 happy, 8 number of, 5 shape, 5 size, 5 unhappy, 8 unknown shape, 5 unknown size, 5 boxed constant, 231 broken heart, 224 Burke, T., xvi
Add Case, 231 Add Given, 237 Add Step, 21, 226 affirming the consequent, 40 Allwein, G., xvi Analytic Consequence (Ana Con) rule, 56-59, 192 Apply rule, 76-81,83, 84, 94 arcs, likes, 223 Assume rule, 24-28,30, 31, 41 assumptions in force, 29 Assumptions verified declaration, 28 asymmetry, 206 Authoring Mode, 221, 236, 237 axiom, 191 of geometry, 20 and worlds, 194 location, 205 shape, 195 size, 201 axiomatic method, 191, 192 and Hyperproof, 192
(a
Intro) rule,
Carter, M., xvi case, 88 Case Closed declaration, 62, 106, 146, 172 Cases Exhaustive (Exhaust) rule, 87-89, 92, 93, 95, 96, 99, 101, 102, 104, 106, 113, 140 doing too much at once, 94 cases, breaking into, 27 Check Goals, 233 Check Proof, 22,230 checking steps of a proof, 230 Clear Situation, 228 Clear Steps, 236 Close rule, 61-65,67 disjunctive, 143, 144 existential, 172 recursive, 104-106, 143
bag, 5 Barber Paradox, 189 Biconditional Elimination (a-*Elim) rule, 158
247
248
Index
semantic, 64, 65 syntactic, 62 Closed subproof, 232 Collapse Subproof, 232 Color Situation, 224 Command-;, 219 Command-=, 232 Command-[, 231 Command-'-', 232 Command-A, 226 Command-C, 233-235 Command-D, 227, 232, 237 Command-E, 231 Command-G, 237 Command-H, 233 Command-L, 222 Command-N, 220 Command-O, 220 Command-P, 230 Command-Q, 220 Command-S, 220 Command-T, 218, 232 Command-U, 218 Command-V, 234, 235 Command-X, 233, 235 Command-Y, 224 Command-Z, 227 common mistake with Apply rule, 81 commutativity of A, 137 completeness, 194 Con (on Rule? menu), 227 Conditional Elimination (a Elim) rule, 153, 155 Conditional Introduction ( Intro) rule, 154-156,161 conditional reasoning, 23 Conjunction Elimination (A Elim) rule, 136-139 Conjunction Introduction (A Intro) rule, 138, 139, 149
consequence analytic, 54, 191 and independence, 122, 123, 125 logical, 51, 54, 191 proof of, 20, 36, 122, 213 tautological, 43, 46, 135, 191 consequence relation, 191 Constructive Dilemma, 157 Contraposition, 156 converse relation, 202 Copy Sentence, 233, 234 Copy Situation, 234, 235 Copy Steps, 235 correctness of axioms, 194 counterexample, 77, 78, 89, 90 copying, 90 definite, 77, 89 possible, 77, 78, 89 CTA rule, 28-33, 37, 38, 126 Custom Colors, 224 Cut Sentence, 233 Cut Situation, 235 Cut Steps, 235 cylinder, 5 Darken Proof Lines, 238 declaration, 20 Default Colors, 224 definitely true, 21 Delete Blocks, 222 Delete Goals, 237 Delete Step, 227, 232, 236, 237 deleting a step, 30 deleting a subproof, 31 DeMorgan's Laws, 50, 152, 153 DeMorgan, A., 152 Disjunction Elimination (V Elim) rule, 141, 143-144,161 Disjunction Introduction (V Intro) rule, 140, 143, 149, 150
Index
Eberle, R., xvi Edit Colors..., 224 editing a block, 222 editing given situation, 221 Elim (on Rule? menu), 227 End Subproof, 27, 231 equivalence relation, 198 Exhaustive Cases, 231 Exhaustive Cases command, 90 Existential Elimination (3 Elim) rule, 164, 168-172, 175, 178, 179 Existential Introduction (3 Intro) rule, 167, 168, 172, 178-180
Expand Subproof, 232 extension, 5 Felt, D., xvi Fitch bar, 15, 24, 224 Fitch, F., 15 focus slider, 16-18, 137, 221, 224, 225 focus step assumptions in force at, 29 changing, 225
249
likes, 125, 127, 128, 242 location, 119,241 name, 110, 119, 125,241 nonconsequence, 36, 38, 118, 119, 127, 128 for sentence, 37 open question, 35,38,117-120,124, 125, 127, 128 for sentence, 37 pane, 218 sentence, 239 shape, 118, 240 situation, 81, 82, 124 size, 118, 240 Greaves, M., xvi Godel Incompleteness Theorem, 194 Godel, K., 194 happy mode, 223 heart button, 223 Hide Goal Strip, 16, 218, 232 Hide Situation, 218 hypothetical reasoning, 41, 154
Font Size. . ., 238
Font Style. . ., 238 Ginet, C., xvi given information, 20 given sentences, 15 given situation, 15 goal, 83 consequence, 118, 119, 124, 127, 128 for sentence, 37 consistency, 66, 67, 239 happy, 124, 125, 127,242 icon, help understanding meaning of, 32 identify, 125, 126, 128, 243 inconsistency, 67 independence, 117, 120, 124
I-beam tool, 18, 225 icons in body of proof, 224, 225 Identity rule, 164 identity symbol, 164 independence constrained, 122, 125 proof of, 123 unconstrained, 122 independence proof, 114, 115, 120, 122, 124, 125, 127 Indiscernibility of Identicals, 165 inference rule, 3, 16 information consistent, 29, 61, 66, 67, 125, 127 diagrammatic, 3, 4 given, 15
250
Index
inconsistent, 60-64,67-69, 106,145, 172 independent, 115 partial, 4, 19 sentential, 3 informativeness, 68, 69, 79, 93, 95, 101, 140 Inspect rule, 96,99-101, 111 Intro (on Rule? menu), 227 irreflexivity, 206 Keyboard equivalents for specifying rules, 229 for symbols, 227 function keys, 236 Kleene evaluation, 21 first discussion of, 13 numerical quantifiers, 14 of atomic sentences, 22 propositional operators, 13 quantifiers, 14 Kleene, S.C., 12 Klein, A., xvi
moving the focus, 225 name, 107, 119, 125-128, 168 and 3 Elim rule, 170 and 3 Intro rule, 167 and Identity rule, 165 menu, 109 name of a block, changing, 222 Name rule, 107-110, 126 naming a block, 222 Names popup menu, 222 Negation Elimination (-' Elim) rule, 145, 147 Negation Introduction (- Intro) rule, 145147, 150 New Block, 221 New Goal. . ., 237 New (on File menu), 220 nonconsequence proof of, 20, 25, 29, 31, 32, 38, 41, 116 normal editing mode, 221 OASL,
Lenz, M., xvi likes arcs, 223 likes mode, 223 location, 5 unknown, 5 LOFOL, xiv Logical Consequence (Log Con) rule, 5154, 56-59, 192 logical truth, 45, 53, 182 Luengo, I., xvi Maxipalette, 219 Merge rule, 96-99, 113 Minipalette, 219 model, 53 Modus Tollens, 156 moving a block, 222
212-214, 216
objects, number of, 5 Observe rule, 21-23, 26, 27, 31, 32, 34, 36-38, 212, 213, 215 observational equivalence of situations, 213 Open.. ., 220 Open Goals. .. , 232 Open subproof, 232 Option-Return, 231 palette sentence, 219 situation, 219 switching, 219 window, 218, 219 pane goal, 218
Index
situation, 218 Paste Sentence, 234 Paste Situation, 234, 235 Paste Steps, 235,236 Paste, 234 Phoenix, C., xvi Pigeon Hole Principle, 187 Pred (on minipalette), 219 predicates likes, 7 happy, 7 of Hyperproof, 9 Print.. ., 236
Print button, 236 problem, making new, 236 proof, 15 conditional, 154 declaration in, 28 diagrammatic, 212 good style, 160 independence, 33 lines, 224 main level, 33 method of, 136, 145 pane, 218 sentential, 148, 212 window, 218 proof by cases, 136 proof by contradiction, 136, 145 quantifiers multiple, 182 numerical, 11, 184 typing, 11 vacuous, 167 Quit, 220 Ravaglia, M., xvi reasoning by cases, 87 Reflexivity, 197 reiteration rule, 139, 246
251
rule changing, 21, 228 elimination, 136 enabling, 20, 28, 61 introduction, 136 sentential, 20, 136 situation, 20 specifying, 227 syntactic, 136, 148 rule default, 230, 245 3>n Elim, 185 for *-* rules, 159 for -* rules, 155 for conjunction rules, 139 for disjunction rules, 143 for existential quantifier rules, 172 for negation rules, 147 for universal quantifer rules, 177 for Identity rule, 165 for Merge rule, 98 rules enabling, 20 sentential, 20 situation, 20 Rule?, 227 SameShape Introduction rule, 193 SameSize Elimination Axioms, 201 SameSize Introduction Axioms, 201 Save, 220 Save As... .,220, 238 Save as Stationery Pad, 220, 238 Save Problem Only, 220,238 saving files, 220 scroll bar, 218 selecting multiple blocks, 222 selection rectangle, 227 selection tool, 235 sentence entering into proofs, 226 truth and falsity of, 11
252
Index
sentential logic observationally augmented, 212-214, 216 shape of a block, changing, 222 shift-return, 226 Shin, S-J, xvi Show Clipboard, 233 Show Goal Strip, 218,232 Show It button, 45 Show Likes & Happy, 8, 222, 223 Show Situation, 218 situation, 4 alternative, 89, 90 current, 17, 226 empty, 6 extension of, 5 icon, 15 in focus, 17 partial, 5, 8, 11 total, 5, 7, 194 size axioms, 203 size of a block, changing, 222 stationery pad, 220, 238 status bar, 30, 109, 218 Strengthening the Antecedent, 157 Strengthening the Consequent, 157 subproof, 24, 88, 96, 108, 117, 154 and cases, 88 ending, 27, 89, 230 inside subproof, 28 starting, 25, 230 within a subproof, 27 support for 3 Elim, 169 for V Elim, 174 for V Intro, 177 for +-+Intro, 158, 159 for Elim, 153 for Intro, 154, 156 for V Elim, 141, 143 for V Intro, 140 -
for Apply rule forgetting, 81 for Cases Exhaustive, 88, 89, 92 for Close rule recursive, 105 semantic, 64 syntactic, 62 for Merge, 99 for 3 Intro, 167 for A Elim rule, 137 for A Intro rule, 138 for Apply rule, 76, 79 too many sentences, 80 for Identity rule, 164, 165 for Inspect rule, 99 for Merge rule, 99 for Name rule, 109 for Observe rule, 21 for Taut Con rule, 46 specifying, 229 support step, 17, 18 Switch Palette, 219 switching between palettes, 219 Symmetry, 197 Symmetry of Identity, 166 "System 7", 220, 238 Tarski Lite, xiv Tarski's World, xiii, xiv, 3-5, 9 truth in, 11 Tautological Consequence (Taut Con) rule, 42, 44-50, 53, 54, 56-59, 135, 136, 155, 161,162 tautology, 43 template, 220,238 The Language of First-orderLogic, xiv, 54, 139, 244 theorem, 192 transitivity, 198 of Identity, 166 Trust Me rule, 34, 35, 39, 40
Index
truth table, 43 Kleene, 12 truth value, 123 Undo Delete Step, 227, 232 Universal Elimination (V Elim) rule, 174, 177-179, 182 Universal Introduction (VIntro) rule, 164, 175-177, 180 vacuous quantification, 59, 167 Weakening the Consequent, 157 Wells, B., xvi window palette, 218 proof, 218 Wong, R., xvi working backwards technique, 148, 150, 156 world, 5, 7 complete, 4 total, 4
253
mIn
Se]~
Ana Con Practice 1, 56 Ana Con Practice 2, 58 Apply and Observe, 82 Apply Example Slow, 80 Apply Practice, 77, 78 Apply Strategy, 83 Assume Practice, 25 Assume Practise, 30 At Least 3 Example, 186 Axiom Practice 1, 195 Axiom Practice 2, 196
Exist Defaults, 172 Exist Elim Practice, 170 Exist Elim Solution 1, 171 Exist Intro Practice, 168 Existential Close Practice, 175
Bad Style, 94 Biconditional Practice, 159
Identify Example, 126 Identity Practice, 166 Impossible OASL 1, 214 Inconsistency Example, 67, 106 Independence Continued, 116 Independence Example, 116
Fast Cases, 93 Good Style, 94 Happy/Likes Example, 125 Holmes At Work, 123
Cases Strategy, 102 Conditional Defaults, 155 Conditional Illustration, 155 Conditional Practice, 154 Conj Defaults, 139 Conj Elim Practice, 137 Conj Intro Practice, 139 Consequence Example, 34 Consistency Example, 66
Just Right, 161 Kleene Examples, 14 Location Example, 117 Log Con Practice 1, 52 Log Con Practice 2, 53
Disj Defaults, 143 Disjunction Practice, 142 Disjunctive Close Practice, 147 Double Apply, 79
Merge Example, 98 Name Example, 109 Negation Defaults, 147 Negation Practice, 146 Nonconsequence Example, 32 Numerical Defaults, 185
Exhaustive Example 1, 88,90 Exhaustive Example 2, 90 Exhaustive Solution 1, 97
254
Index 255 Observe Only Example 1, 212 Observe Practice 2, 23 Observe Practice, 21 Open Question Practice, 36 Proof Example, 16, 17 Recursive Close Example, 105 Semantic Close Example 2, 65 Semantic Close Example 3, 65 Semantic Close Example, 65 Semantic Close Solution, 99 Sentential Cases, 93 Situation Example, 6, 8 Size Practice 1, 203 Size Practice 2, 203 Slow Cases, 93 Slow Con, 47 Some Situation Goals, 81 Strategy Example, 148 Strategy Practice, 54 Syntactic Close Example 2, 62 Syntactic Close Example, 62 Taut Con Practice 1, 44 Taut Con Practice 2, 45, 53 Taut Con Practice 3, 47 Too Long, 161 Too Short, 161 Trust Me Solution, 48 Trust Me, Please, 34,42 Univ Defaults, 177 Universal Practice, 177
READ THIS INFORMATION BEFORE OPENING THE POUCH CONTAINING THE DISKETTE
Please note that this book and the diskette accompanying it may not be returned after the pouch containing the diskette has been unsealed. The diskette, Hyperproof, is protected by copyright and may not be duplicated, except for purposes of archival back up. All inquiries concerning the diskette should be directed to the Publications Office, CSLI, Ventura Hall, Stanford University, Stanford, CA 94305; phone: (415)723-1712 or (415)723-1839. The program has been duplicated on the finest quality diskettes, verified before shipment. If a diskette is damaged, please send it to the above address for replacement. Please note also that the distributor of this book and program is not equipped to handle inquiries about this package, nor to replace defective diskettes.
A NOTE TO BOOKSTORES
The publisher recommends that bookstores not sell used copies of this text-software package. Bookstores selling used copies must be prepared to warrant that (1) the original owner retains no copies of the software and (2) the diskette contains all of the exercise files in their original form and contains no solution files created by the initial owner.
z5tapmraI ua
9 1111 11III 111111111 11111 11 781881 526117 1 ...a1