Propositional Logic Propositional Logic

Total Page:16

File Type:pdf, Size:1020Kb

Propositional Logic Propositional Logic 9/9/2020 CS4350: Logic in computer Science Propositional Logic 1 Propositional Logic • In Propositional Logic (a.k.a Propositional Calculus or Sentential Logic), the primitive objects are called propositions • Definition: A proposition is a statement that is either true or false, but not both. • We usually denote a proposition by a letter: p, q, r, s, …, called propositional variables. 2 1 9/9/2020 Logic as a Language • Syntax: – Symbols: What symbols are eligible – Grammars: how well-formed sentences (formulas) are formed • Semantics: – Meaning of symbols – Truthiness of formulas • Proof Procedures – How to prove theorems (true formulas if the premises are true) from the given premises. 3 Propositional Logic: Syntax Two types of symbols: • Propositional variables: p, q, r, … • Vp: set of propositional variables • Logical operators (Connectives): • Nullary (Constants): 1, (or T), 0 (or F). They serve also as the truth values (semantic level) • Unary: (not) • Binary: (and), (or), (implies), (logical equal), (exclusive or). • Auxiliary symbols: Parenthesis “(“, “)”, comma, “,”. 4 2 9/9/2020 Propositional Formulas • The set of formulas, F, is defined as the smallest set of expressions such that: 1. Vp F 2. pF implies that (p) F 3. p, q F implies that (p o q) F, where o is a binary operator. 5 Formulas (BNF) • Context-Free Grammar – F ::= p, – F ::= ( F), – F ::= (F o F), where p is in Vp and o is a binary operator. • Backus-Naur Form (BNF) – F ::= Vp | ( F) | (FOpF), where Vp is a set of propositional variables and Op is a set of binary operators. 6 3 9/9/2020 Formulas (examples) • (p) • ( (p)) • (p (q r)) • (p (q r)) • Correct expressions of Propositional Logic are full of unnecessary parenthesis. 7 Formulas (Abbreviations) • Letobeoneof , , . We write A o B o C o … • in the place of (A o (B o (C o …))) • Thus, we write A B C, ABC, … • in the place of (A (B C)), (A (B C)) 8 4 9/9/2020 Precedence of Logical Operators • As in arithmetic, an ordering is imposed on the use of logical operators in compound propositions p q r instead of (p) (q (r)) • To avoid unnecessary parenthesis, the following precedence order holds: 1. Negation () 2. Conjunction () 3. Disjunction () 4. Implication () 5. Logical equal () 9 Formulas (precedence) • We omit parenthesis whenever we may restore them through operator precedence: • binds more strictly than , , and , bind more strictly than , . • Thus, we write: A B for (( A) B), A B C for ((A B) C) • How about A B C or A B C? – Answer: ((A B) C) and ((A B) C) 10 5 9/9/2020 Formula Trees • Each formula has a ((( p1 ( p0))) p0) unique tree: each node of the tree has a symbol. • Each subtree represents a subformula. • B is a proper subformula of A if B is a subformula of A and B A. 11 Logic as a Language • Syntax: – Symbols: What symbols are eligible – Grammars: how well-formed sentences (formulas) are formed • Semantics: – Meaning of symbols – Truthiness of formulas • Proof Procedures – How to prove theorems (true formulas if the premises are true) from the given premises. 12 6 9/9/2020 Meaning of symbols • Meaning of logical operators • Meaning of propositional variables 13 Logical Connective: Negation • p, the negation of a proposition p, is also a proposition • Example: Let p be “Today is Monday”, then p means – Today is not Monday – It is not the case that today is Monday, etc. • Truth table (define the meaning of operators) p p 0 1 1 0 14 7 9/9/2020 Logical Connective: And • The logical connective And is true only when both of the propositions are true. It is also called a conjunction and the propositions are called conjuncts • Examples – Tom’s cat is dead and Tom’s cat is not dead. – It is raining and it is warm – (2+3=5) and (1<2) p q pq • Truth table 0 0 0 0 1 0 1 0 0 1 1 1 15 Logical Connective: Or • The logical disjunction, or logical Or, is true if one or both of the propositions (called disjuncts) are true. • Examples – It is raining or it is the second lecture – (2+2=5) (1<2) – You may have cake or ice cream • Truth table p q pq pq 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 16 8 9/9/2020 Logical Connective: Exclusive Or • The exclusive Or, or XOR, of two propositions is true when exactly one of the propositions is true and the other one is false • Examples – The circuit is either ON or OFF but not both – Let ab<0, then either a<0 or b<0 but not both – You may have cake or ice cream, but not both • Truth table p q pq pq pq 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 17 Logical Connective: Implication • Definition: Let p and q be two propositions. The implication pq is the proposition that denotes a conditional statement which is false when p is true and q is false and true otherwise. – p is called the hypothesis, condition, premise – q is called the conclusion, consequence • Truth table p q pq pq pq pq 000001 010111 100110 111101 18 9 9/9/2020 Logical Connective: Implication The implication pq can be used for • If p then q • p implies q • If p, q • p only if q • q if p • q when p • q whenever p • q follows from p • p is a sufficient condition for q (p is sufficient for q) • q is a necessary condition for p (q is necessary for p) 19 Logical Connective: Implication Examples • If you buy you air ticket in advance, it is cheaper. • If x is an integer, then x2 0. • If it rains, the grass gets wet. • If the sprinklers operate, the grass gets wet. • If 2+2=5, then all unicorns are pink. 20 10 9/9/2020 Exercise: Which of the following is true? • If -1 is positive, then 2+2=5 True. The premise is obviously false, thus no matter what the conclusion is, the implication holds. • If -1 is positive, then 2+2=4 True. Same as above. • If sin(x) = 0, then x = 0 False. x can be a multiple of . If we let x=2, then sin x=0 but x0. The implication “if sin x = 0, then x = k, for some k” is true. 21 Converse, Inverse, Contrapositive Consider the proposition p q • Its converse is the proposition q p • Its inverse is the proposition p q • Its contrapositive is the proposition q p p q p q q p pq qp 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 22 11 9/9/2020 Logical Connective: Logical equal • Definition: The logical equal (or biconditional) pq is the proposition that is true when p and q have the same truth values. It is false otherwise. • Truth table p q pq pq pq pq p q 0000011 0101110 1001100 1111011 23 Logical Connective: Logical Equal • The logical equal pq can be used for – p if and only if q – p is a necessary and sufficient condition for q – if p then q, and conversely – p iff q • Examples – x>0 iff x2 is positive – The alarm goes off iff a burglar breaks in – You may have pudding if and only if you eat your meat 24 12 9/9/2020 Exercise: Which of the following relation is true? • x2 + y2 = 0 iff x=0 and y=0 True. Both implications hold • 2 + 2 = 4 iff 2<2 True. Both implications hold. • x2 0 iff x 0 False. The implication “if x 0 then x2 0” holds. However, the implication “if x2 0 then x 0” is false. Consider x = -1. The hypothesis (-1)2=1 0 but the conclusion fails. 25 Truth Tables • Truth tables are used to show/define the meanings of logical operators. It shows the relationships of truth values of – the primitive propositions and – the compound propositions based on them p q pq pq pq pq pq 0000011 0101110 1001100 1111011 26 13 9/9/2020 Constructing Truth Tables • Construct the truth table for the following compound proposition p q q p q p q q p q q 000 1 1 010 0 0 100 1 1 111 0 1 27 Meaning of Propositional Variables • Informal meaning: – Assigned in the beginning of application when introducing the symbol for a statement – E.g., p stands for “it is raining” in one example and “Mr. X killed Y” in another example. • Formal meaning: – The symbol is given a truth value, either true or false (1 or 0). – We can use a procedure (syntactic tool) to manipulate these values for formal reasoning. 28 14 9/9/2020 Interpretation (Truth Assignment ) • Definition: A (full) interpretation (truth assignment), σ is a total function σ: Vp {0, 1} • May represent σ by σ = { p 1, q 0 } if Vp = { p, q } • A short hand for σ is (1, 0) if Vp is viewed as (p, q). • It can be represented by a subset of Vp, i.e., an elements of 2Vp (the power set of Vp). • |Vp| There are 2 distinct interpretations. σ pq • Example: Vp = { p, q }, 2Vp = { {}, {p}, {q}, {p, q} } {} 00 • E.g., σ = { p } = { p 1, q 0 } { p } 1 0 { q } 0 1 • Alternative representation: { p, q } 1 1 σ is a set of literals, e.g.
Recommended publications
  • UNIT-I Mathematical Logic Statements and Notations
    UNIT-I Mathematical Logic Statements and notations: A proposition or statement is a declarative sentence that is either true or false (but not both). For instance, the following are propositions: “Paris is in France” (true), “London is in Denmark” (false), “2 < 4” (true), “4 = 7 (false)”. However the following are not propositions: “what is your name?” (this is a question), “do your homework” (this is a command), “this sentence is false” (neither true nor false), “x is an even number” (it depends on what x represents), “Socrates” (it is not even a sentence). The truth or falsehood of a proposition is called its truth value. Connectives: Connectives are used for making compound propositions. The main ones are the following (p and q represent given propositions): Name Represented Meaning Negation ¬p “not p” Conjunction p q “p and q” Disjunction p q “p or q (or both)” Exclusive Or p q “either p or q, but not both” Implication p ⊕ q “if p then q” Biconditional p q “p if and only if q” Truth Tables: Logical identity Logical identity is an operation on one logical value, typically the value of a proposition that produces a value of true if its operand is true and a value of false if its operand is false. The truth table for the logical identity operator is as follows: Logical Identity p p T T F F Logical negation Logical negation is an operation on one logical value, typically the value of a proposition that produces a value of true if its operand is false and a value of false if its operand is true.
    [Show full text]
  • Chapter 1 Logic and Set Theory
    Chapter 1 Logic and Set Theory To criticize mathematics for its abstraction is to miss the point entirely. Abstraction is what makes mathematics work. If you concentrate too closely on too limited an application of a mathematical idea, you rob the mathematician of his most important tools: analogy, generality, and simplicity. – Ian Stewart Does God play dice? The mathematics of chaos In mathematics, a proof is a demonstration that, assuming certain axioms, some statement is necessarily true. That is, a proof is a logical argument, not an empir- ical one. One must demonstrate that a proposition is true in all cases before it is considered a theorem of mathematics. An unproven proposition for which there is some sort of empirical evidence is known as a conjecture. Mathematical logic is the framework upon which rigorous proofs are built. It is the study of the principles and criteria of valid inference and demonstrations. Logicians have analyzed set theory in great details, formulating a collection of axioms that affords a broad enough and strong enough foundation to mathematical reasoning. The standard form of axiomatic set theory is denoted ZFC and it consists of the Zermelo-Fraenkel (ZF) axioms combined with the axiom of choice (C). Each of the axioms included in this theory expresses a property of sets that is widely accepted by mathematicians. It is unfortunately true that careless use of set theory can lead to contradictions. Avoiding such contradictions was one of the original motivations for the axiomatization of set theory. 1 2 CHAPTER 1. LOGIC AND SET THEORY A rigorous analysis of set theory belongs to the foundations of mathematics and mathematical logic.
    [Show full text]
  • Folktale Documentation Release 1.0
    Folktale Documentation Release 1.0 Quildreen Motta Nov 05, 2017 Contents 1 Guides 3 2 Indices and tables 5 3 Other resources 7 3.1 Getting started..............................................7 3.2 Folktale by Example........................................... 10 3.3 API Reference.............................................. 12 3.4 How do I................................................... 63 3.5 Glossary................................................. 63 Python Module Index 65 i ii Folktale Documentation, Release 1.0 Folktale is a suite of libraries for generic functional programming in JavaScript that allows you to write elegant modular applications with fewer bugs, and more reuse. Contents 1 Folktale Documentation, Release 1.0 2 Contents CHAPTER 1 Guides • Getting Started A series of quick tutorials to get you up and running quickly with the Folktale libraries. • API reference A quick reference of Folktale’s libraries, including usage examples and cross-references. 3 Folktale Documentation, Release 1.0 4 Chapter 1. Guides CHAPTER 2 Indices and tables • Global Module Index Quick access to all modules. • General Index All functions, classes, terms, sections. • Search page Search this documentation. 5 Folktale Documentation, Release 1.0 6 Chapter 2. Indices and tables CHAPTER 3 Other resources • Licence information 3.1 Getting started This guide will cover everything you need to start using the Folktale project right away, from giving you a brief overview of the project, to installing it, to creating a simple example. Once you get the hang of things, the Folktale By Example guide should help you understanding the concepts behind the library, and mapping them to real use cases. 3.1.1 So, what’s Folktale anyways? Folktale is a suite of libraries for allowing a particular style of functional programming in JavaScript.
    [Show full text]
  • Theorem Proving in Classical Logic
    MEng Individual Project Imperial College London Department of Computing Theorem Proving in Classical Logic Supervisor: Dr. Steffen van Bakel Author: David Davies Second Marker: Dr. Nicolas Wu June 16, 2021 Abstract It is well known that functional programming and logic are deeply intertwined. This has led to many systems capable of expressing both propositional and first order logic, that also operate as well-typed programs. What currently ties popular theorem provers together is their basis in intuitionistic logic, where one cannot prove the law of the excluded middle, ‘A A’ – that any proposition is either true or false. In classical logic this notion is provable, and the_: corresponding programs turn out to be those with control operators. In this report, we explore and expand upon the research about calculi that correspond with classical logic; and the problems that occur for those relating to first order logic. To see how these calculi behave in practice, we develop and implement functional languages for propositional and first order logic, expressing classical calculi in the setting of a theorem prover, much like Agda and Coq. In the first order language, users are able to define inductive data and record types; importantly, they are able to write computable programs that have a correspondence with classical propositions. Acknowledgements I would like to thank Steffen van Bakel, my supervisor, for his support throughout this project and helping find a topic of study based on my interests, for which I am incredibly grateful. His insight and advice have been invaluable. I would also like to thank my second marker, Nicolas Wu, for introducing me to the world of dependent types, and suggesting useful resources that have aided me greatly during this report.
    [Show full text]
  • Learning Dependency-Based Compositional Semantics
    Learning Dependency-Based Compositional Semantics Percy Liang∗ University of California, Berkeley Michael I. Jordan∗∗ University of California, Berkeley Dan Klein† University of California, Berkeley Suppose we want to build a system that answers a natural language question by representing its semantics as a logical form and computing the answer given a structured database of facts. The core part of such a system is the semantic parser that maps questions to logical forms. Semantic parsers are typically trained from examples of questions annotated with their target logical forms, but this type of annotation is expensive. Our goal is to instead learn a semantic parser from question–answer pairs, where the logical form is modeled as a latent variable. We develop a new semantic formalism, dependency-based compositional semantics (DCS) and define a log-linear distribution over DCS logical forms. The model parameters are estimated using a simple procedure that alternates between beam search and numerical optimization. On two standard semantic parsing benchmarks, we show that our system obtains comparable accuracies to even state-of-the-art systems that do require annotated logical forms. 1. Introduction One of the major challenges in natural language processing (NLP) is building systems that both handle complex linguistic phenomena and require minimal human effort. The difficulty of achieving both criteria is particularly evident in training semantic parsers, where annotating linguistic expressions with their associated logical forms is expensive but until recently, seemingly unavoidable. Advances in learning latent-variable models, however, have made it possible to progressively reduce the amount of supervision ∗ Computer Science Division, University of California, Berkeley, CA 94720, USA.
    [Show full text]
  • Logical Vs. Natural Language Conjunctions in Czech: a Comparative Study
    ITAT 2016 Proceedings, CEUR Workshop Proceedings Vol. 1649, pp. 68–73 http://ceur-ws.org/Vol-1649, Series ISSN 1613-0073, c 2016 K. Prikrylová,ˇ V. Kubon,ˇ K. Veselovská Logical vs. Natural Language Conjunctions in Czech: A Comparative Study Katrin Prikrylová,ˇ Vladislav Kubon,ˇ and Katerinaˇ Veselovská Charles University in Prague, Faculty of Mathematics and Physics Czech Republic {prikrylova,vk,veselovska}@ufal.mff.cuni.cz Abstract: This paper studies the relationship between con- ceptions and irregularities which do not abide the rules as junctions in a natural language (Czech) and their logical strictly as it is the case in logic. counterparts. It shows that the process of transformation Primarily due to this difference, the transformation of of a natural language expression into its logical representa- natural language sentences into their logical representation tion is not straightforward. The paper concentrates on the constitutes a complex issue. As we are going to show in most frequently used logical conjunctions, and , and it the subsequent sections, there are no simple rules which analyzes the natural language phenomena which∧ influence∨ would allow automation of the process – the majority of their transformation into logical conjunction and disjunc- problematic cases requires an individual approach. tion. The phenomena discussed in the paper are temporal In the following text we are going to restrict our ob- sequence, expressions describing mutual relationship and servations to the two most frequently used conjunctions, the consequences of using plural. namely a (and) and nebo (or). 1 Introduction and motivation 2 Sentences containing the conjunction a (and) The endeavor to express natural language sentences in the form of logical expressions is probably as old as logic it- The initial assumption about complex sentences contain- self.
    [Show full text]
  • Presupposition Projection and Entailment Relations
    Presupposition Projection and Entailment Relations Amaia Garcia Odon i Acknowledgements I would like to thank the members of my thesis committee, Prof. Dr. Rob van der Sandt, Dr. Henk Zeevat, Dr. Isidora Stojanovic, Dr. Cornelia Ebert and Dr. Enric Vallduví for having accepted to be on my thesis committee. I am extremely grateful to my adviser, Louise McNally, and to Rob van der Sandt. Without their invaluable help, I would not have written this dissertation. Louise has been a wonderful adviser, who has always provided me with excellent guid- ance and continuous encouragement. Rob has been a mentor who has generously spent much time with me, teaching me Logic, discussing my work, and helping me clear up my thoughts. Very special thanks to Henk Zeevat for having shared his insights with me and for having convinced me that it was possible to finish on time. Thanks to Bart Geurts, Noor van Leusen, Sammie Tarenskeen, Bob van Tiel, Natalia Zevakhina and Corien Bary in Nijmegen; to Paul Dekker, Jeroen Groe- nendijk, Frank Veltman, Floris Roelofsen, Morgan Mameni, Raquel Fernández and Margot Colinet in Amsterdam; to Fernando García Murga, Agustín Vicente, Myriam Uribe-Etxebarria, Javier Ormazabal, Vidal Valmala, Gorka Elordieta, Urtzi Etxeberria and Javi Fernández in Vitoria-Gasteiz, to David Beaver and Mari- bel Romero. Also thanks to the people I met at the ESSLLIs of Bordeaux, Copen- hagen and Ljubljana, especially to Nick Asher, Craige Roberts, Judith Tonhauser, Fenghui Zhang, Mingya Liu, Alexandra Spalek, Cornelia Ebert and Elena Pa- ducheva. I gratefully acknowledge the financial help provided by the Basque Government – Departamento de Educación, Universidades e Investigación (BFI07.96) and Fun- dación ICREA (via an ICREA Academia award to Louise McNally).
    [Show full text]
  • Introduction to Logic 1
    Introduction to logic 1. Logic and Artificial Intelligence: some historical remarks One of the aims of AI is to reproduce human features by means of a computer system. One of these features is reasoning. Reasoning can be viewed as the process of having a knowledge base (KB) and manipulating it to create new knowledge. Reasoning can be seen as comprised of 3 processes: 1. Perceiving stimuli from the environment; 2. Translating the stimuli in components of the KB; 3. Working on the KB to increase it. We are going to deal with how to represent information in the KB and how to reason about it. We use logic as a device to pursue this aim. These notes are an introduction to modern logic, whose origin can be found in George Boole’s and Gottlob Frege’s works in the XIX century. However, logic in general traces back to ancient Greek philosophers that studied under which conditions an argument is valid. An argument is any set of statements – explicit or implicit – one of which is the conclusion (the statement being defended) and the others are the premises (the statements providing the defense). The relationship between the conclusion and the premises is such that the conclusion follows from the premises (Lepore 2003). Modern logic is a powerful tool to represent and reason on knowledge and AI has traditionally adopted it as working tool. Within logic, one research tradition that strongly influenced AI is that started by the German philosopher and mathematician Gottfried Leibniz. His aim was to formulate a Lingua Rationalis to create a universal language based only on rationality, which could solve all the controversies between different parties.
    [Show full text]
  • The Composition of Logical Constants
    the morphosemantic makeup of exclusive-disjunctive markers ∗ Moreno Mitrovi´c university of cyprus & bled institute . abstract. The spirit of this paper is strongly decompositional and its aim to meditate on the idea that natural language conjunction and disjunction markers do not necessarily (directly) incarnate Boo- lean terms like ‘0’ and ‘1’,respectively. Drawing from a rich collec- tion of (mostly dead) languages (Ancient Anatolian, Homeric Greek, Tocharian, Old Church Slavonic, and North-East Caucasian), I will examine the morphosemantics of ‘XOR’ (‘exclusive or’) markers, i.e. exclusive (or strong/enriched) disjunction markers of the “ei- Do not cite without consultation. ⭒ ther ...or ...”-type, and demonstrate that the morphology of the XOR marker does not only contain the true (generalised) disjunc- tion marker (I dub it κ), as one would expect on the null (Boolean hy- pothesis), but that the XOR-marker also contains the (generalised) conjunction marker (I dub it μ). After making the case for a fine- April 15, 2017 structure of the Junction Phrase (JP), a common structural denom- ⭒ inator for con- and dis-junction, the paper proposes a new syntax for XOR constructions involving five functional heads (two pairs of κ ver. 6 and μ markers, forming the XOR-word and combining with the respective coordinand, and a J-head pairing up the coordinands). draft I then move on to compose the semantics of the syntactically de- ⭒ composed structure by providing a compositional account obtain- ing the exclusive component, qua the semantic/pragmatic signa- ture of these markers. To do so, I rely on an exhaustification-based system of ‘grammaticised implicatures’ (Chierchia, 2013b) in as- manuscript suming silent exhaustification operators in the narrow syntax, which (in concert with the presence of alternative-triggering κ- and μ-ope- rators) trigger local exclusive (scalar) implicature (SI) computation.
    [Show full text]
  • Working with Logic
    Working with Logic Jordan Paschke September 2, 2015 One of the hardest things to learn when you begin to write proofs is how to keep track of everything that is going on in a theorem. Using a proof by contradiction, or proving the contrapositive of a proposition, is sometimes the easiest way to move forward. However negating many different hypotheses all at once can be tricky. This worksheet is designed to help you adjust between thinking in “English” and thinking in “math.” It should hopefully serve as a reference sheet where you can quickly look up how the various logical operators and symbols interact with each other. Logical Connectives Let us consider the two propositions: P =“Itisraining.” Q =“Iamindoors.” The following are called logical connectives,andtheyarethemostcommonwaysof combining two or more propositions (or only one, in the case of negation) into a new one. Negation (NOT):ThelogicalnegationofP would read as • ( P )=“Itisnotraining.” ¬ Conjunction (AND):ThelogicalconjunctionofP and Q would be read as • (P Q) = “It is raining and I am indoors.” ∧ Disjunction (OR):ThelogicaldisjunctionofP and Q would be read as • (P Q)=“ItisrainingorIamindoors.” ∨ Implication (IF...THEN):ThelogicalimplicationofP and Q would be read as • (P = Q)=“Ifitisraining,thenIamindoors.” ⇒ 1 Biconditional (IF AND ONLY IF):ThelogicalbiconditionalofP and Q would • be read as (P Q)=“ItisrainingifandonlyifIamindoors.” ⇐⇒ Along with the implication (P = Q), there are three other related conditional state- ments worth mentioning: ⇒ Converse:Thelogicalconverseof(P = Q)wouldbereadas • ⇒ (Q = P )=“IfIamindoors,thenitisraining.” ⇒ Inverse:Thelogicalinverseof(P = Q)wouldbereadas • ⇒ ( P = Q)=“Ifitisnotraining,thenIamnotindoors.” ¬ ⇒¬ Contrapositive:Thelogicalcontrapositionof(P = Q)wouldbereadas • ⇒ ( Q = P )=“IfIamnotindoors,thenIitisnotraining.” ¬ ⇒¬ It is worth mentioning that the implication (P = Q)andthecontrapositive( Q = P ) are logically equivalent.
    [Show full text]
  • Datafun: a Functional Datalog
    Datafun: a Functional Datalog Michael Arntzenius Neelakantan R. Krishnaswami University of Birmingham (UK) {daekharel, neelakantan.krishnaswami}@gmail.com Abstract Since proof search is in general undecidable, designers of logic Datalog may be considered either an unusually powerful query lan- programming languages must be careful both about the kinds guage or a carefully limited logic programming language. Datalog of formulas they admit as programs, and about the proof search is declarative, expressive, and optimizable, and has been applied algorithm they implement. Prolog offers a very expressive language successfully in a wide variety of problem domains. However, most — full Horn clauses — and so faces an undecidable proof search use-cases require extending Datalog in an application-specific man- problem. Therefore, Prolog specifies its proof search strategy: depth- ner. In this paper we define Datafun, an analogue of Datalog sup- first goal-directed/top-down search. This lets Prolog programmers porting higher-order functional programming. The key idea is to reason about the behaviour of their programs; however, it also means track monotonicity with types. many logically natural programs fail to terminate. Notoriously, transitive closure calculations are much less elegant in Prolog Categories and Subject Descriptors F.3.2 [Logics and Meanings than one might hope, since their most natural specification is best of Programs]: Semantics of Programming Languages computed with a bottom-up (aka “forwards chaining”) proof search strategy. Keywords Prolog, Datalog, logic programming, functional pro- This view of Prolog suggests other possible design choices, gramming, domain-specific languages, type theory, denotational such as restricting the logical language so as to make proof search semantics, operational semantics, adjoint logic decidable.
    [Show full text]
  • Exclusive Or from Wikipedia, the Free Encyclopedia
    New features Log in / create account Article Discussion Read Edit View history Exclusive or From Wikipedia, the free encyclopedia "XOR" redirects here. For other uses, see XOR (disambiguation), XOR gate. Navigation "Either or" redirects here. For Kierkegaard's philosophical work, see Either/Or. Main page The logical operation exclusive disjunction, also called exclusive or (symbolized XOR, EOR, Contents EXOR, ⊻ or ⊕, pronounced either / ks / or /z /), is a type of logical disjunction on two Featured content operands that results in a value of true if exactly one of the operands has a value of true.[1] A Current events simple way to state this is "one or the other but not both." Random article Donate Put differently, exclusive disjunction is a logical operation on two logical values, typically the values of two propositions, that produces a value of true only in cases where the truth value of the operands differ. Interaction Contents About Wikipedia Venn diagram of Community portal 1 Truth table Recent changes 2 Equivalencies, elimination, and introduction but not is Contact Wikipedia 3 Relation to modern algebra Help 4 Exclusive “or” in natural language 5 Alternative symbols Toolbox 6 Properties 6.1 Associativity and commutativity What links here 6.2 Other properties Related changes 7 Computer science Upload file 7.1 Bitwise operation Special pages 8 See also Permanent link 9 Notes Cite this page 10 External links 4, 2010 November Print/export Truth table on [edit] archived The truth table of (also written as or ) is as follows: Venn diagram of Create a book 08-17094 Download as PDF No.
    [Show full text]