Semantics Overview

Total Page:16

File Type:pdf, Size:1020Kb

Semantics Overview Semantics Overview • Syntax is about “form” and semantics about “meaning” – Boundary between syntax & semantics is not always clear • First we’ll motivate why semantics matters. • Then we’ll look at issues close to the syntax end, what some calls “static semantics”, and the technique of attribute grammars. • Then we’ll sketch three approaches to defining “deeper” semantics (1) Operational semantics (2) Axiomatic semantics (3) Denotational semantics CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Motivation Program Verification • Capturing what a program in some programming • Program verification can be done for simple programming language means is very difficult languages and small or moderately sized programs • We can’t really do it in any practical sense • It requires a formal specification for what the program – For most work-a-day programming languages (e.g., C, C++, should do – e.g., what it’s inputs will be and what actions Java, Perl, C#). it will take or output it will generate given the inputs – For large programs • That’s a hard task in itself! • So, why is worth trying? • There are applications where it is worth it to (1) use a • One reason: program verification! simplified programming language, (2) work out formal specs for a program, (3) capture the semantics of the • Program Verification is the process of formally simplified PL and (4) do the hard work of putting it all proving that the computer program does exactly what together and proving program correctness. is stated in the program specification it was written to • What are they? realize CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Program Verification Double Int kills Ariane 5 • There are applications where it is worth it to (1) use a simplified programming language, (2) work out formal • It took the European Space Agency specs for a program, (3) capture the semantics of the 10 years and $7B to produce simplified PL and (4) do the hard work of putting it all Ariane 5, a giant rocket capable of together and proving program correctness. Like… hurling a pair of three-ton satellites • Security and encryption into orbit with each launch and • Financial transactions intended to give Europe supremacy in the commercial space business • Applications on which lives depend (e.g., healthcare, aviation) • All it took to explode the rocket less • Expensive, one-shot, un-repairable applications (e.g., than a minute into its maiden voyage Martian rover) in 1996 was a small computer program trying to • Hardware design (e.g. Pentium chip) stuff a 64-bit number into a 16-bit space. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Intel Pentium Bug So… • In the mid 90’s a bug was found in • While automatic program verification is a the floating point hardware in Intel’s long range goal … latest Pentium microprocessor • Which might be restricted to applications • Unfortunately, the bug was only found where the extra cost is justified after many had been made and sold • We should try to design programming • The bug was subtle, effecting only the ninth languages that help, rather than hinder, our decimal place of some computations ability to make progress in this area. • But users cared • We should continue research on the semantics of programming languages … • Intel had to recall the chips, taking a $500M • And the ability to prove program correctness write-off CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Semantics Static Semantics • Static semantics covers some language features • Next we’ll look at issues close to the syntax difficult or impossible to handle in a BNF/CFG end, what some calls “static semantics”, • It’s also a mechanism for building a parser that and the technique of attribute grammars. produces an abstract syntax tree of its input • Then we’ll sketch three approaches to • Attribute grammars are one common technique defining “deeper” semantics • Categories attribute grammars can handle: (1) Operational semantics - Context-free but cumbersome (e.g., type (2) Axiomatic semantics checking) (3) Denotational semantics - Non-context-free (e.g., variables must be declared before they are used) CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Parse tree vs. abstract syntax tree Attribute Grammars • Parse trees follow a grammar and usually have lots of useless • Attribute Grammars (AGs) were nodes developed by Donald Knuth in ~1968 • An abstract syntax tree (AST) eliminates useless structural nodes • And uses just those nodes that correspond to constructs in the • Motivation: higher level programming language • CFGs cannot describe all of the syntax • It’s much easier to interpret an AST or generate code from it of programming languages e! +! +! • Additions to CFGs to annotate the parse e!! +! intint!! e+!! int! e+!! 3! tree with some “semantic” info • Primary value of AGs: e! +! int! 3! inte!! int! 3! 1! 2! • Static semantics specification int! 2! 1! 2! • Compiler design (static semantics checking) 1! parse tree an AST another AST CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Attribute Grammar Example Attribute Grammars A Grammar is formally defined by specifying four components. • Ada has this rule to describe procedure definitions: • S is the start symbol Def: An attribute grammar is a CFG• N is a set G= of non-terminal symbols <proc> => procedure <prName> <prBody> end <prName> ; • T is a set of terminal symbols (S,N,T,P) • P is a set of productions or rules • But the name after “procedure” has to be the same as the name after “end” with the following additions: – For each grammar symbol x there is a set A(x) of • This is not possible to capture in a CFG (in practice) because there are too many names attribute values – Each rule has a set of functions that define certain • Solution: annotate parse tree nodes with attributes and attributes of the non-terminals in the rule add a “semantic” rules or constraints to the syntactic rule in the grammar. – Each rule has a (possibly empty) set of predicates rule<proc> => procedure <prName>[1] <prBody> end <prName>[2] ; to check for attribute consistency constraint<prName][1].string == <prName>[2].string CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Attribute Grammars Attribute Grammars Example: expressions of the form id + id • Let X0 => X1 ... Xn be a grammar rule •id 's can be either int_type or real_type • Functions of the form S(X0) = f(A(X1),...A(Xn) • types of the two id's must be the same define synthesized attributes • type of the expression must match its expected type - i.e., attribute defined by a nodes children BNF: <expr> -> <var> + <var> • Functions of the form I(Xj) = f(A(X0),…A(Xn)) for i <= j <= n define inherited attributes <var> -> id - i.e., attribute defined by parent and siblings Attributes: • Initially, there are intrinsic attributes on the actual_type - synthesized for <var> and <expr> leaves expected_type - inherited for <expr> - i.e., attribute predefined CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Attribute Grammars Attribute Grammars (continued) Attribute Grammar: How are attribute values computed? 1. Syntax rule: <expr> -> <var>[1] + <var>[2] • If all attributes were inherited, the tree Semantic rules: could be decorated in top-down order <expr>.actual_type ← <var>[1].actual_type Predicate: ! • If all attributes were synthesized, the tree <var>[1].actual_type == <var>[2].actual_type <expr>.expected_type == <expr>.actual_type could be decorated in bottom-up order Compilers usually maintain a 2. Syntax rule: <var> -> id “symbol table” where they • In many cases, both kinds of attributes are record the names of proce- dures and variables along Semantic rule:! used, and it is some combination of top- with type type information. <var>.actual_type ← Looking up this information down and bottom-up that must be used in the symbol table is a com- lookup_type (id, <var>) mon operation. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Attribute Grammars (continued) Attribute Grammar Summary • AGs are a practical extension to CFGs that allow us to Suppose we process the expression A+B annotate the parse tree with information needed for using rule <expr> -> <var>[1] + <var>[2] semantic processing <expr>.expected_type ← inherited from parent – E.g., interpretation or compilation <var>[1].actual_type ← lookup (A, <var>[1]) • We call the annotated tree an abstract syntax tree <var>[2].actual_type ← lookup (B, <var>[2]) – It no longer just reflects the derivation <var>[1].actual_type == <var>[2].actual_type • AGs can move information from anywhere in the abstract syntax tree to anywhere else, in a controlled <expr>.actual_type ← <var>[1].actual_type way <expr>.actual_type == <expr>.expected_type – Needed for no-local syntactic dependencies (e.g., Ada example) and for semantics CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc. Static vs. Dynamic Semantics Dynamic Semantics • Attribute grammars are an example of static semantics (e.g., type checking) that don’t • No single widely acceptable notation or reason about how things change when a formalism for describing semantics. program is executed • But understanding what a program means often • Here are three approaches at which we’ll requires reasoning about how, for example, a briefly look: variable’s value changes – Operational semantics • Dynamic semantics tries to capture this – Axiomatic semantics – Denotational semantics – E.g., proving that an array index will never be out of its intended range CMSC 331, Some material © 1998 by Addison Wesley Longman, Inc.
Recommended publications
  • Truth-Bearers and Truth Value*
    Truth-Bearers and Truth Value* I. Introduction The purpose of this document is to explain the following concepts and the relationships between them: statements, propositions, and truth value. In what follows each of these will be discussed in turn. II. Language and Truth-Bearers A. Statements 1. Introduction For present purposes, we will define the term “statement” as follows. Statement: A meaningful declarative sentence.1 It is useful to make sure that the definition of “statement” is clearly understood. 2. Sentences in General To begin with, a statement is a kind of sentence. Obviously, not every string of words is a sentence. Consider: “John store.” Here we have two nouns with a period after them—there is no verb. Grammatically, this is not a sentence—it is just a collection of words with a dot after them. Consider: “If I went to the store.” This isn’t a sentence either. “I went to the store.” is a sentence. However, using the word “if” transforms this string of words into a mere clause that requires another clause to complete it. For example, the following is a sentence: “If I went to the store, I would buy milk.” This issue is not merely one of conforming to arbitrary rules. Remember, a grammatically correct sentence expresses a complete thought.2 The construction “If I went to the store.” does not do this. One wants to By Dr. Robert Tierney. This document is being used by Dr. Tierney for teaching purposes and is not intended for use or publication in any other manner. 1 More precisely, a statement is a meaningful declarative sentence-type.
    [Show full text]
  • Rhetorical Analysis
    RHETORICAL ANALYSIS PURPOSE Almost every text makes an argument. Rhetorical analysis is the process of evaluating elements of a text and determining how those elements impact the success or failure of that argument. Often rhetorical analyses address written arguments, but visual, oral, or other kinds of “texts” can also be analyzed. RHETORICAL FEATURES – WHAT TO ANALYZE Asking the right questions about how a text is constructed will help you determine the focus of your rhetorical analysis. A good rhetorical analysis does not try to address every element of a text; discuss just those aspects with the greatest [positive or negative] impact on the text’s effectiveness. THE RHETORICAL SITUATION Remember that no text exists in a vacuum. The rhetorical situation of a text refers to the context in which it is written and read, the audience to whom it is directed, and the purpose of the writer. THE RHETORICAL APPEALS A writer makes many strategic decisions when attempting to persuade an audience. Considering the following rhetorical appeals will help you understand some of these strategies and their effect on an argument. Generally, writers should incorporate a variety of different rhetorical appeals rather than relying on only one kind. Ethos (appeal to the writer’s credibility) What is the writer’s purpose (to argue, explain, teach, defend, call to action, etc.)? Do you trust the writer? Why? Is the writer an authority on the subject? What credentials does the writer have? Does the writer address other viewpoints? How does the writer’s word choice or tone affect how you view the writer? Pathos (a ppeal to emotion or to an audience’s values or beliefs) Who is the target audience for the argument? How is the writer trying to make the audience feel (i.e., sad, happy, angry, guilty)? Is the writer making any assumptions about the background, knowledge, values, etc.
    [Show full text]
  • Logic, Sets, and Proofs David A
    Logic, Sets, and Proofs David A. Cox and Catherine C. McGeoch Amherst College 1 Logic Logical Statements. A logical statement is a mathematical statement that is either true or false. Here we denote logical statements with capital letters A; B. Logical statements be combined to form new logical statements as follows: Name Notation Conjunction A and B Disjunction A or B Negation not A :A Implication A implies B if A, then B A ) B Equivalence A if and only if B A , B Here are some examples of conjunction, disjunction and negation: x > 1 and x < 3: This is true when x is in the open interval (1; 3). x > 1 or x < 3: This is true for all real numbers x. :(x > 1): This is the same as x ≤ 1. Here are two logical statements that are true: x > 4 ) x > 2. x2 = 1 , (x = 1 or x = −1). Note that \x = 1 or x = −1" is usually written x = ±1. Converses, Contrapositives, and Tautologies. We begin with converses and contrapositives: • The converse of \A implies B" is \B implies A". • The contrapositive of \A implies B" is \:B implies :A" Thus the statement \x > 4 ) x > 2" has: • Converse: x > 2 ) x > 4. • Contrapositive: x ≤ 2 ) x ≤ 4. 1 Some logical statements are guaranteed to always be true. These are tautologies. Here are two tautologies that involve converses and contrapositives: • (A if and only if B) , ((A implies B) and (B implies A)). In other words, A and B are equivalent exactly when both A ) B and its converse are true.
    [Show full text]
  • Chapter 3 – Describing Syntax and Semantics CS-4337 Organization of Programming Languages
    !" # Chapter 3 – Describing Syntax and Semantics CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: [email protected] Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 3 Topics • Introduction • The General Problem of Describing Syntax • Formal Methods of Describing Syntax • Attribute Grammars • Describing the Meanings of Programs: Dynamic Semantics 1-2 Introduction •Syntax: the form or structure of the expressions, statements, and program units •Semantics: the meaning of the expressions, statements, and program units •Syntax and semantics provide a language’s definition – Users of a language definition •Other language designers •Implementers •Programmers (the users of the language) 1-3 The General Problem of Describing Syntax: Terminology •A sentence is a string of characters over some alphabet •A language is a set of sentences •A lexeme is the lowest level syntactic unit of a language (e.g., *, sum, begin) •A token is a category of lexemes (e.g., identifier) 1-4 Example: Lexemes and Tokens index = 2 * count + 17 Lexemes Tokens index identifier = equal_sign 2 int_literal * mult_op count identifier + plus_op 17 int_literal ; semicolon Formal Definition of Languages • Recognizers – A recognition device reads input strings over the alphabet of the language and decides whether the input strings belong to the language – Example: syntax analysis part of a compiler - Detailed discussion of syntax analysis appears in Chapter 4 • Generators – A device that generates sentences of a language – One can determine if the syntax of a particular sentence is syntactically correct by comparing it to the structure of the generator 1-5 Formal Methods of Describing Syntax •Formal language-generation mechanisms, usually called grammars, are commonly used to describe the syntax of programming languages.
    [Show full text]
  • Topics in Philosophical Logic
    Topics in Philosophical Logic The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Litland, Jon. 2012. Topics in Philosophical Logic. Doctoral dissertation, Harvard University. Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:9527318 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#LAA © Jon Litland All rights reserved. Warren Goldfarb Jon Litland Topics in Philosophical Logic Abstract In “Proof-Theoretic Justification of Logic”, building on work by Dummett and Prawitz, I show how to construct use-based meaning-theories for the logical constants. The assertability-conditional meaning-theory takes the meaning of the logical constants to be given by their introduction rules; the consequence-conditional meaning-theory takes the meaning of the log- ical constants to be given by their elimination rules. I then consider the question: given a set of introduction (elimination) rules , what are the R strongest elimination (introduction) rules that are validated by an assertabil- ity (consequence) conditional meaning-theory based on ? I prove that the R intuitionistic introduction (elimination) rules are the strongest rules that are validated by the intuitionistic elimination (introduction) rules. I then prove that intuitionistic logic is the strongest logic that can be given either an assertability-conditional or consequence-conditional meaning-theory. In “Grounding Grounding” I discuss the notion of grounding. My discus- sion revolves around the problem of iterated grounding-claims.
    [Show full text]
  • Gottfried Wilhelm Leibniz (1646-1716)
    Gottfried Wilhelm Leibniz (1646-1716) • His father, a professor of Philosophy, died when he was small, and he was brought up by his mother. • He learnt Latin at school in Leipzig, but taught himself much more and also taught himself some Greek, possibly because he wanted to read his father’s books. • He studied law and logic at Leipzig University from the age of fourteen – which was not exceptionally young for that time. • His Ph D thesis “De Arte Combinatoria” was completed in 1666 at the University of Altdorf. He was offered a chair there but turned it down. • He then met, and worked for, Baron von Boineburg (at one stage prime minister in the government of Mainz), as a secretary, librarian and lawyer – and was also a personal friend. • Over the years he earned his living mainly as a lawyer and diplomat, working at different times for the states of Mainz, Hanover and Brandenburg. • But he is famous as a mathematician and philosopher. • By his own account, his interest in mathematics developed quite late. • An early interest was mechanics. – He was interested in the works of Huygens and Wren on collisions. – He published Hypothesis Physica Nova in 1671. The hypothesis was that motion depends on the action of a spirit ( a hypothesis shared by Kepler– but not Newton). – At this stage he was already communicating with scientists in London and in Paris. (Over his life he had around 600 scientific correspondents, all over the world.) – He met Huygens in Paris in 1672, while on a political mission, and started working with him.
    [Show full text]
  • Philosophy of Language in the Twentieth Century Jason Stanley Rutgers University
    Philosophy of Language in the Twentieth Century Jason Stanley Rutgers University In the Twentieth Century, Logic and Philosophy of Language are two of the few areas of philosophy in which philosophers made indisputable progress. For example, even now many of the foremost living ethicists present their theories as somewhat more explicit versions of the ideas of Kant, Mill, or Aristotle. In contrast, it would be patently absurd for a contemporary philosopher of language or logician to think of herself as working in the shadow of any figure who died before the Twentieth Century began. Advances in these disciplines make even the most unaccomplished of its practitioners vastly more sophisticated than Kant. There were previous periods in which the problems of language and logic were studied extensively (e.g. the medieval period). But from the perspective of the progress made in the last 120 years, previous work is at most a source of interesting data or occasional insight. All systematic theorizing about content that meets contemporary standards of rigor has been done subsequently. The advances Philosophy of Language has made in the Twentieth Century are of course the result of the remarkable progress made in logic. Few other philosophical disciplines gained as much from the developments in logic as the Philosophy of Language. In the course of presenting the first formal system in the Begriffsscrift , Gottlob Frege developed a formal language. Subsequently, logicians provided rigorous semantics for formal languages, in order to define truth in a model, and thereby characterize logical consequence. Such rigor was required in order to enable logicians to carry out semantic proofs about formal systems in a formal system, thereby providing semantics with the same benefits as increased formalization had provided for other branches of mathematics.
    [Show full text]
  • Chapter 4 Statement Logic
    Chapter 4 Statement Logic In this chapter, we treat sentential or statement logic, logical systems built on sentential connectives like and, or, not, if, and if and only if. Our goals here are threefold: 1. To lay the foundation for a later treatment of full predicate logic. 2. To begin to understand how we might formalize linguistic theory in logical terms. 3. To begin to think about how logic relates to natural language syntax and semantics (if at all!). 4.1 The intuition The basic idea is that we will define a formal language with a syntax and a semantics. That is, we have a set of rules for how statements can be constructed and then a separate set of rules for how those statements can be interpreted. We then develop—in precise terms—how we might prove various things about sets of those statements. 4.2 Basic Syntax We start with an finite set of letters: {p,q,r,s,...}. These become the infinite set of atomic statements when we add in primes, e.g. p′,p′′,p′′′,.... This infinite set can be defined recursively. 46 CHAPTER 4. STATEMENT LOGIC 47 Definition 4 (Atomic statements) Recursive definition: 1. Any letter {p,q,r,s,...} is an atomic statement. 2. Any atomic statement followed by a prime, e.g. p′, q′′,... is an atomic statement. 3. There are no other atomic statements. The first clause provides for a finite number of atomic statements: 26. The second clause is the recursive one, allowing for an infinite number of atomic statements built on the finite set provided by the first clause.
    [Show full text]
  • Epictetus, Stoicism, and Slavery
    Epictetus, Stoicism, and Slavery Defense Date: March 29, 2011 By: Angela Marie Funk Classics Department Advisor: Dr. Peter Hunt (Classics) Committee: Dr. Jacqueline Elliott (Classics) and Dr. Claudia Mills (Philosophy) Funk 1 Abstract: Epictetus was an ex-slave and a leading Stoic philosopher in the Roman Empire during the second-century. His devoted student, Arrian, recorded Epictetus’ lectures and conversations in eight books titled Discourses, of which only four are extant. As an ex- slave and teacher, one expects to see him deal with the topic of slavery and freedom in great detail. However, few scholars have researched the relationship of Epictetus’ personal life and his views on slavery. In order to understand Epictetus’ perspective, it is essential to understand the political culture of his day and the social views on slavery. During his early years, Epictetus lived in Rome and was Epaphroditus’ slave. Epaphroditus was an abusive master, who served Nero as an administrative secretary. Around the same period, Seneca was a tutor and advisor to Nero. He was a Stoic philosopher, who counseled Nero on political issues and advocated the practice of clemency. In the mid to late first-century, Seneca spoke for a fair and kind treatment of slaves. He held a powerful position not only as an advisor to Nero, but also as a senator. While he promoted the humane treatment of slaves, he did not actively work to abolish slavery. Epaphroditus and Seneca both had profound influences in the way Epictetus viewed slaves and ex-slaves, relationships of former slaves and masters, and the meaning of freedom.
    [Show full text]
  • Passmore, J. (1967). Logical Positivism. in P. Edwards (Ed.). the Encyclopedia of Philosophy (Vol. 5, 52- 57). New York: Macmillan
    Passmore, J. (1967). Logical Positivism. In P. Edwards (Ed.). The Encyclopedia of Philosophy (Vol. 5, 52- 57). New York: Macmillan. LOGICAL POSITIVISM is the name given in 1931 by A. E. Blumberg and Herbert Feigl to a set of philosophical ideas put forward by the Vienna circle. Synonymous expressions include "consistent empiricism," "logical empiricism," "scientific empiricism," and "logical neo-positivism." The name logical positivism is often, but misleadingly, used more broadly to include the "analytical" or "ordinary language philosophies developed at Cambridge and Oxford. HISTORICAL BACKGROUND The logical positivists thought of themselves as continuing a nineteenth-century Viennese empirical tradition, closely linked with British empiricism and culminating in the antimetaphysical, scientifically oriented teaching of Ernst Mach. In 1907 the mathematician Hans Hahn, the economist Otto Neurath, and the physicist Philipp Frank, all of whom were later to be prominent members of the Vienna circle, came together as an informal group to discuss the philosophy of science. They hoped to give an account of science which would do justice -as, they thought, Mach did not- to the central importance of mathematics, logic, and theoretical physics, without abandoning Mach's general doctrine that science is, fundamentally, the description of experience. As a solution to their problems, they looked to the "new positivism" of Poincare; in attempting to reconcile Mach and Poincare; they anticipated the main themes of logical positivism. In 1922, at the instigation of members of the "Vienna group," Moritz Schlick was invited to Vienna as professor, like Mach before him (1895-1901), in the philosophy of the inductive sciences. Schlick had been trained as a scientist under Max Planck and had won a name for himself as an interpreter of Einstein's theory of relativity.
    [Show full text]
  • Sentence, Proposition, Judgment, Statement, and Fact: Speaking About the Written English Used in Logic John Corcoran
    Sentence, Proposition, Judgment, Statement, and Fact: Speaking about the Written English Used in Logic John Corcoran Dedication: for Professor Newton da Costa, friend, collaborator, co-discoverer of the Truth-set Principle, and co-creator of the Classical Logic of Variable-binding Term Operators-on his eightieth birthday. abstract. The five ambiguous words|sentence, proposition, judg- ment, statement, and fact|each have meanings that are vague in the sense of admitting borderline cases. This paper discusses sev- eral senses of these and related words used in logic. It focuses on a constellation of recommended primary senses. A judgment is a pri- vate epistemic act that results in a new belief; a statement is a public pragmatic event involving an utterance. Each is executed by a unique person at a unique time and place. Propositions and sentences are timeless and placeless abstractions. A proposition is an intensional entity; it is a meaning composed of concepts. A sentence is a linguistic entity. A written sentence is a string of characters. A sentence can be used by a person to express meanings, but no sentence is intrinsically meaningful. Only propositions are properly said to be true or to be false|in virtue of facts, which are subsystems of the universe. The fact that two is even is timeless; the fact that Socrates was murdered is semi-eternal; the most general facts of physics|in virtue of which propositions of physics are true or false|are eternal. As suggested by the title, this paper is meant to be read aloud. 1 Introduction The words|sentence, proposition, judgment, statement, and fact|are am- biguous in that logicians use each of them with multiple normal meanings.
    [Show full text]
  • Part 2 Module 1 Logic: Statements, Negations, Quantifiers, Truth Tables
    PART 2 MODULE 1 LOGIC: STATEMENTS, NEGATIONS, QUANTIFIERS, TRUTH TABLES STATEMENTS A statement is a declarative sentence having truth value. Examples of statements: Today is Saturday. Today I have math class. 1 + 1 = 2 3 < 1 What's your sign? Some cats have fleas. All lawyers are dishonest. Today I have math class and today is Saturday. 1 + 1 = 2 or 3 < 1 For each of the sentences listed above (except the one that is stricken out) you should be able to determine its truth value (that is, you should be able to decide whether the statement is TRUE or FALSE). Questions and commands are not statements. SYMBOLS FOR STATEMENTS It is conventional to use lower case letters such as p, q, r, s to represent logic statements. Referring to the statements listed above, let p: Today is Saturday. q: Today I have math class. r: 1 + 1 = 2 s: 3 < 1 u: Some cats have fleas. v: All lawyers are dishonest. Note: In our discussion of logic, when we encounter a subjective or value-laden term (an opinion) such as "dishonest," we will assume for the sake of the discussion that that term has been precisely defined. QUANTIFIED STATEMENTS The words "all" "some" and "none" are examples of quantifiers. A statement containing one or more of these words is a quantified statement. Note: the word "some" means "at least one." EXAMPLE 2.1.1 According to your everyday experience, decide whether each statement is true or false: 1. All dogs are poodles. 2. Some books have hard covers. 3.
    [Show full text]