Unformatted text preview: CS 2603 Applied Logic for Hardware and Software Homework 3 Warning! These are hard problems. And, you must solve them if you want to pass exams. Expect to spend a lot of time on this homework. Due Tuesday, Feb 5, 2:59pm (bring your paper to class, and turn it in there) Late Homework not accepted Warning! For almost all people, the most effective way to work on proofs is to distribute the work over several days. Work a couple hours a day, every day, on the problems. When you've worked a good while on one of the problems and find yourself stuck, try another problem. Eventually, problem by problem, you will discover a key that leads to a solution. It may seem that key comes to you suddenly, but somehow the hard work invested before the epiphany gradually builds the picture in your mind until the solution pops out. If you start working on this homework assignment the day before it's due, you probably won't finish it. That means you will have missed one of your only real opportunities to prepare for the examinations in this course. Importance of Finding Your Own Keys. Each problem that you fail to invest enough time in to find the key yourself reduces, substantially, your chances of passing the exams in this course. I advise you not to discuss a problem with someone else until you have found the key. If you have questions about the material, ask the instructor or the assistant. Email should work well for this. I don't regard discussing the problems with others as cheating, as long as can explain to me whatever you turn in, but I want you to know that the more you rely on such discussions, the less likely it is that you will succeed on the exams. Important Alert! Homework problems provide your only real opportunity to study for exams. Studying the night before the exam will be of almost no use at all. If you have difficulties, come to the Thursday night problem solving sessions (8:00pm, until as late as 10:00pm). Or, see the Instructor or Teaching Assistant during office hours. How Much Time Will This Homework Take? Some of the problems may take hours to complete. Others, only a few minutes. Some problems may seem difficult to you that seem easy to others, and vice versa. There is no way to predict when or how the insights you will need to solve these problems will come to you. Also, expect some frustration in the process of using the proof checker. Just as in programming, you have to get all the required characters in the right order. All the commas, parentheses, case-sensitive names, etc have to be right. It can easily take an hour to get an already correct proof pushed through the proof checker. Citing Theorems. You can cite theorems from class if the proofs given in class do not cite, directly or indirectly, the theorem you are proving. A theorem is "indirectly cited" if it is cited, directly or indirectly, in the proof a theorem you are citing. Problems 1. P, Q, R |- P /\ (Q /\ R) [Note: this is Excercise 3, Chapter 2 of Hall/O'Donnell.] [run proof checker on this one] 2. A /\ (Not A) |- False [proof, plus theorem expressed in circuit diagram form] 3. A |- Not(Not A) [run proof checker on this one] 4. A, A->B, B->C, C->D |- D [proof, plus theorem expressed in circuit diagram form] 5. A -> B, Not B |- Not A [This is Modus Tollens] 6. B \/ (Not B), A -> B |- (Not A) \/ B [run proof checker on this one] 7. A->B |- (Not B) -> (Not A) [run proof checker on this one] [The conclusion is known as the contrapositive of the premis] 8. A \/ (B /\ C) |- (A \/ B) /\ (A \/ C) [\/ distributes over /\.] FAQ -- clarifications What To Turn In * On paper: Proof Diagrams. The required proofs in natural deduction format. * On paper: Circuit Diagrams. Problems 2 and 4 expressed in terms of circuit diagrams. * On paper: File, printed. Printed copy of file with solutions 1, 3, 6, and 7 in proof checker form (also submitted as .hs file to digital dropbox). * On paper: Proof-checking session. Printed copy of window showing successful use of proof checker on problems specified for automated proof checking. (You can just take a screen shot of your Hugs session.) * File in digital dropbox: Proofs for Automated Checking. A .hs file (or .lhs file, if you know what that means and you prefer it), by submitted to the digital dropbox on the course website. The .hs file should contain, for problems 1, 3, 6, and 7 (you don't have to run the proof checker on the other problems), variables whose values are formulas for (1) the theorems the problem asks you to prove and (2) variables whose values are proofs of those theorems. * Proof checker. You will need to download the proof checker: Stdm, and import it in the .hs file containing your proofs. * Examples. You may want to download the file proofs.hs, which contains some proofs from lectures that have been converted to proof-checker notation. These proofs may help you get started and build your confidence that the proof checker works. Format of paper submission (proof diagrams, circuit diagrams, printed file, and printed proof-checking session) * Name. Put your name near the top of first sheet. * Numbering. Number each sheet, in sequence. * Lettering. Both handwritten and typed papers will be accepted for the hand-written proofs. The Hugs session will, of course, be typewritten. * No paperclips. Papers fastened with paperclips will not be accepted. Use a proper staple. Format of file containing proofs for automated checking * Name. Name the file with the homework number (example: hw3), your given name, and your family name (example: hw3JaneSmith.hs). Put your name in a comment near the top of the file. * Flagging. Use comments to mark each part of the file clearly to show which problem it solves. ...
View Full Document
- Spring '08