the Island of Knights and Knaves. . . in which all knights tell the truth and all knaves
Problem 12.1. On the first island he visited, all the inhabitants said the same thing: “All of us here are the same type.”
What can be deduced about the inhabitants of that island?
Problem 12.3. On the next island, all the inhabitants said: “Some of us are knights and some are knaves.”
What is the composition of the island?
Problem 12.14. On the enxt island visited by Abercrombie, he met six natives,
named Arthur, Bernard, Charles, David, Edward, and Frank, who made the follow- ing statements:
Arthur: Everyone here smokes cigarettes.
Bernard: Everyone here smokes cigars.
Charles: Everyone here smokes either cigarettes or cigars or both. David: Arthur and Bernard are not both knaves.
Edward: If Charles is a knight, so is David.
Frank: If David is a knight, so is Charles.
Is it possible to determine of any one of these that he is a knight, and if so, which one or ones?
COMP4418, 2021–Assignment 1
Due: 23:59:59pm Sunday 17 October (Week 5) Late penalty: 10 marks per day.
Worth: 15%.
This assignment consists of four questions. The first two questions and the fourth question require written answers only. The third question requires some programming and a written report.
[20 Marks] (Logical Inference) For each of the following inferences:
(a) prove whether or not the following inferences hold using a suitable semantic method (|=); and, (b) prove whether or not the following inferences hold syntactically using resolution (⊢).
In each case you must provide a proof and clearly state whether the inference holds or whether the inference does not hold.
(i) p∧(q∨r)[|=/⊢](p∧q)∨(p∧r) (ii) [|= / ⊢]p → (q → p)
(iii) ∃x.∀y.Likes(x,y)[|=/⊢]∀x.∃y.Likes(x,y) (iv) ¬p→¬q, p→q[|=/⊢]p↔q
(v) ∀x.P (x) → Q(x), ∀x.Q(x) → R(x), ¬R(a)[|= / ⊢]¬P (a)
[30 Marks] (Logic Puzzle)
These problems are taken from Raymond M. Smullyan, Logical Labyrinths, A. K. Peters, 2009. The first two problems are trying to prepare you for the third which is more challenging.
Edgar Abercrombie was an anthroplogist who was particularly interested in the logic and sociology of lying and truth-telling. One day he decided to visit a cluster of of islands where a lot of lying and truth-telling activity was going on! The first island of his visit
Computer Science Tutoring
(i) Represent the facts in the paragraph in first-order logic.
(ii) Using your formalisation in part (i), is it possible to answer the question? Show semantically
how you determined your answer.
(iii) If your answer to part (ii) was ‘no’, indicate what further sentences you would need to add to your formalisation so that you could conclude the answer to the question (i.e., whether C is a knight or a knave).
(iv) Using all the sentences you have added, determine the answer to the question.
[30 Marks] (Automated Theorem Proving)
In 1958 the logician Hao Wang implemented one of the first automated theorem provers. He succeeded in writing several programs capable of automatically proving a majority of theorems from the first five chapters of Whitehead and Russell’s Principia Mathematica (in fact, his program managed to prove over 200 of these theorems “within about 37 minutes, and 12/13 of the time is used for read-in and print-out”). This was an impressive achievement at the time; previous attempts had only succeeded in proving a handful of the theorems in Principia Mathematica.
Background
Wang’s idea is based around the notion of a sequent (this idea had been introduced years earlier by Gentzen) and the manipulation of sequents. A sequent is essentially a list of formulae on either side of a sequent (or provability) symbol ⊢. The sequent π ⊢ ρ, where π and ρ are strings (i.e., lists) of formulae, can be read as “the formulae in the string ρ follow from the formulae in the string π” (or, equivalently, “the formulae in string π prove the formulae in string ρ”).
To prove whether a given sequent is true all you need to do is start from some basic sequents and successively apply a series of rules that transform sequents until you end up with the sequent you desire. This process is detailed below.
Additionally, determining whether a formula φ is a theorem, is equivalent to determining whether the sequent ∅ ⊢ φ is true (e.g., ⊢ ¬φ ∨ φ).
Connectives
We allow the following connectives in decreasing order of precedence:
¬ — negation
∧ — conjunction; ∨ — disjunction (both same precedence)
→ — implication; ↔ — biconditional (both same precedence).
• A propositional symbol (e.g., p, q, . . .) is an atomic formula (and thus a formula). • Ifφ, ψareformulae,then¬φ, φ∧ψ, φ∨ψ, φ→ψ, φ↔ψareformulae.
If π and ρ are strings of formulae (possibly empty strings) and φ is a formula, then π, φ, ρ is a string and π ⊢ ρ is a sequent.
The logic consists of the following sequent rules. The first rule (P1) gives a characterisation of simple theorems. The remaining rules are simply ways of transforming sequents into new sequents. The manner in which you can construct a proof for a sequent to determine whether it holds or not is given below.
P1 Initial Rule: If λ, ζ are strings of atomic formulae, then λ ⊢ ζ is a theorem if some atomic formula occurs on both side of the sequent ⊢.
In the following ten rules λ and ζ are always strings (possibly empty) of formulae. P2a Rule⊢¬: Ifφ, ζ⊢λ, ρ,thenζ⊢λ, ¬φ, ρ
P2b Rule¬⊢: Ifλ, ρ⊢π, φ,thenλ, ¬φ, ρ⊢π
P3a Rule⊢∧: Ifζ⊢λ, φ, ρandζ⊢λ, ψ, ρ,thenζ⊢λ, φ∧ψ, ρ
P3b Rule∧⊢: Ifλ, φ, ψ, ρ⊢π,thenλ, φ∧ψ, ρ⊢π
P4a Rule⊢∨: Ifζ⊢λ, φ, ψ, ρ,thenζ⊢λ, φ∨ψ, ρ
P4b Rule∨⊢: Ifλ, φ, ρ⊢πandλ, ψ, ρ⊢π,thenλ, φ∨ψ, ρ⊢π
P5a Rule⊢→: Ifζ, φ⊢λ, ψ, ρ,thenζ⊢λ, φ→ψ, ρ
P5b Rule→⊢: Ifλ, ψ, ρ⊢πandλ, ρ⊢π, φ,thenλ, φ→ψ, ρ⊢π
P6a Rule⊢↔: Ifφ, ζ⊢λ, ψ, ρandψ, ζ⊢λ, φ, ρ,thenζ⊢λ, φ↔ψ, ρ P6b Rule↔⊢: Ifφ, ψ, λ, ρ⊢πandλ, ρ⊢π, φ, ψ,thenλ, φ↔ψ,ρ⊢π
The basic idea in proving a sequent π ⊢ ρ is to begin with instance(s) of Rule P1 and successively apply the remaining rules until you end up with the sequent you are hoping to prove.
For example, suppose you wanted to prove the sequent ¬(p ∨ q) ⊢ ¬p. One possible proof would proceed as follows.
1. p ⊢ p, q
2. p ⊢ p ∨ q
3. ⊢¬p, p∨q
4. ¬(p ∨ q) ⊢ ¬p
Rule 1 Rule P4a RuleP2a Rule P2b
However, a simpler idea (as it will involve much less search) is to begin with the sequent(s) to be proved and apply the rules above in the “backward” direction until you end up with the sequent you desire. In the example then, you would begin at Step 4 and apply each of the rules in the backward direction until you end up at Step 1 at which point you can conclude the original sequent is a theorem.
Question Specification
In this assignment you are to emulate Hao Wang’s feats and implement a propositional theorem prover. You may use any programming language to complete this question. You must provide a script named assn1q3 or a Makefile that, when the command make is executed, produces an executable file assn1q3.
The input will consist of a single sequent on the command line. Sequents will be written as:
[List of Formulae] seq [List of Formulae] To construct formulae, atoms can be any string of characters (without space) and connectives as follows:
• ¬: neg • ∧: and • ∨: or
• →: imp • ↔: iff
Programming Help
You may find it instructional to prove these by hand first.
(ii) ¬(p∨q) ⊢ ¬p
(iii) p⊢q→p (iv) p⊢p∨q
(v) (p∧q)∧r⊢p∧(q∧r) (vi) p↔q⊢¬(p↔¬q)
(vii) p↔q⊢(q↔r)→(p↔r) (viii) ⊢(¬p∧¬q)→(p↔q)
(ix) p↔q⊢(p∧q)∨(¬p∧¬q) (x) p→q, ¬r→¬q⊢p→r
[20 Marks] (Knowledge Representation and Reasoning)
Download the article: Ernest Davis and Gary Marcus, Commonsense Reasoning and Commonsense Knowledge in Artificial Intelligence, Communications of the ACM, 58(9):92–103, September 2015.
You can access it from: https://doi.org/10.1145/2701413.
You can also access it via the UNSW Library searching on the title “Commonsense Reasoning and Commonsense Knowledge in Artificial Intelligence.” If you have problems accessing the article, please post on the COMP4418 Forum so that we can help you locate and download this article.
In 1-page at most you should:
So,forexample,thesequentp→q, ¬r→¬q⊢p→rwouldbewrittenas: [p imp q, (neg r) imp (neg q)] seq [p imp r]
Your program should be called assn1q3 and run as follows: ./assn1q3 ’Sequent’
For example
./assn1q3 ’[p imp q, (neg r) imp (neg q)] seq [p imp r]’
The first line of the output will be either true or false indicating whether or not the sequent on the command line holds. This output is worth 40% of the total mark for this question on given and hidden test data. The subsequent lines of output should produce a proof like the one in the Proofs section above.
Marking for this Question
• Code: 40%
• Given test data: 20% • Hidden test data: 20% • Printing proofs: 20%
References
Hao Wang, Toward Mechanical Mathematics, IBM Journal for Research and Development, volume 4, 1960. (Reprinted in: Hao Wang, ”Logic, Computers, and Sets”, Sciene Press, Peking, 1962. Hao Wang, ”A Survey of Mathematical Logic”, North Holland Publishing Company, 1964. Hao Wang, ”Logic, Computers, and Sets”, Chelsea Publishing Company, New York, 1970.)
Alfred North Whitehead and Bertrand Russell, Principia Mathematica, 2nd Edition, Cambridge University Press, Cambridge, England, 1927.
List of 10 Propositional Theorems
• Provide a brief summary (at most half a page) of the article and summarise the main points made in this paper;
• Provide comments on:
– 1 point made in the paper with which you agree and explain why?
– 1 point made in the paper with which you consider questionable and explain why?
Assignment Submission
You will need to submit answers to Questions 1, 2, 4 and the report for Question 3 in a PDF file named assn1.pdf along with any source code files for Questions 3. Your report for Question 3 in assn1.pdf should describe the additional files you submit for this question and how they can used to replicate/generate your results.
give cs4418 assn1 assn1.pdf assn1-q3-files
The deadline for this submission is 23:59:59am Sunday 17 October.
Late Submissions
In case of late submissions, 10% will be deducted from the maximum mark for each day late.
No extensions will be given for any of the assignments (except in case of illness or misadventure). Read the course outline carefully for the rules regarding plagiarism.
程序代写 CS代考 加QQ: 749389476