This document discusses various applications of propositional logic, including translating English sentences to propositional logic, using logic for system specifications, Boolean searching, and logic puzzles. It provides examples of translating English statements about going to different locations or sending automated replies to propositional logic. The document also discusses ensuring system specifications written in propositional logic are consistent and provides an example of a logic puzzle involving determining if inhabitants of an island are knights who always tell the truth or knaves who always lie.
This document discusses various applications of propositional logic, including translating English sentences to propositional logic, using logic for system specifications, Boolean searching, and logic puzzles. It provides examples of translating English statements about going to different locations or sending automated replies to propositional logic. The document also discusses ensuring system specifications written in propositional logic are consistent and provides an example of a logic puzzle involving determining if inhabitants of an island are knights who always tell the truth or knaves who always lie.
Xavier University – Ateneo de Cagayan College of Computer Studies Department of Computer Science Applications of Propositional Logic: Summary Translating English to Propositional Logic System Specifications Boolean Searching Logic Puzzles Logic Circuits AI Diagnosis Method (Optional) Translating English Sentences Steps to convert an English sentence to a statement in propositional logic Identify atomic propositions and represent using propositional variables. Determine appropriate logical connectives “If I go to Harry’s or to the country, I will not go shopping.” p: I go to Harry’s If p or q then not r. q: I go to the country. r: I will go shopping. Different Ways of Expressing if p, then q p implies q if p, q p only if q q unless ¬p q when p q if p q when p q whenever p p is sufficient for q q follows from p q is necessary for p
a necessary condition for p is q
a sufficient condition for q is p Example Problem: Translate the following sentence into propositional logic: “You can access the Internet from campus only if you are a computer science major or you are not a freshman.” One Solution: Let a, c, and f represent respectively “You can access the internet from campus,” “You are a computer science major,” and “You are a freshman.” a→ c ∨ f ) System Specifications System and Software engineers take requirements in English and express them in a precise specification language based on logic. Example: Express in propositional logic: “The automated reply cannot be sent when the file system is full” Solution: One possible solution: Let p denote “The automated reply can be sent” and q denote “The file system is full.” q→ p Consistent System Specifications Definition: A list of propositions is consistent if it is possible to assign truth values to the proposition variables so that each proposition is true. Exercise: Are these specifications consistent? “The diagnostic message is stored in the buffer or it is retransmitted.” “The diagnostic message is not stored in the buffer.” “If the diagnostic message is stored in the buffer, then it is retransmitted.” Solution: Let p denote “The diagnostic message is not stored in the buffer.” Let q denote “The diagnostic message is retransmitted” The specification can be written as: p ∨ q, p→ q, ¬p. When p is false and q is true all three statements are true. So the specification is consistent. What if “The diagnostic message is not retransmitted is added.” Solution: Now we are adding ¬q and there is no satisfying assignment. So the specification is not consistent. Raymond Logic Puzzles Smullyan (Born 1919) An island has two kinds of inhabitants, knights, who always tell the truth, and knaves, who always lie. You go to the island and meet A and B. A says “B is a knight.” B says “The two of us are of opposite types.” Example: What are the types of A and B? Solution: Let p and q be the statements that A is a knight and B is a knight, respectively. So, then ¬p represents the proposition that A is a knave and ¬q that B is a knave. If A is a knight, then p is true. Since knights tell the truth, q must also be true. Then (p ∧ ¬ q ∨ ¬ p ∧ q would have to be true, but it is not. So, A is not a knight and therefore ¬p must be true. If A is a knave, then B must not be a knight since knaves always lie. So, then both ¬p and ¬q hold since both are knaves.