Formal Specification: Z Notation. CITS5501 Software Testing and Quality Assurance
|
|
- Lewis Malone
- 5 years ago
- Views:
Transcription
1 Formal Specification: Z Notation CITS5501 Software Testing and Quality Assurance The Zed Notation, J.M.Spivey. Semester 1, 2017
2 A Formal Specification Notation A Syntax - often based on set theory and logic. This tells us how specifications are written. A Semantics - indicates how the language represents system requirements. A set of Relations - defines the rules that specify how the objects are manipulated. 2
3 Maths vs Natural Language The advantages of using mathematics over a natural language are: Precision Abstraction Conciseness Consistency Completeness Unambiguity 3
4 Set Theory A set is a well-defined aggregate of distinct elements such that we can readily determine whether any given object is a member of not. Russel s Paradox: The set of all sets that contain themselves Formal methods requires that all elements of a set are of the same type. 4
5 Names in Z Identifiers: alpha-numeric, that start with a letter. Predefined Types: Integers Z = {,-2,-1,0,1,2, } Natural numbers N = {0,1,2,3, } Arithmetic Operations: +,-,,,=,<,>,,, Basic Types: e.g. [STUDENTS], to refer the type, students. Free Types: e.g. FMStudents::= James Miles Herbert 5
6 Further Properties of Sets Disjoint Sets: A and B are disjoint if A B = A partition of A is a set of disjoint sets whose union is equal to A. The Cardinality, #A, of a set, A, is the number of elements contained in a set: # = 0 #{True, False} = 2 #ΡA = 2 #A # Z is undefined (mathematically, # Z =ℵ 0 ). 6
7 Examples Suppose E = Formal Methods is easy S = I study hard P = I pass Formal Methods E S P E S (S P) E 7
8 Quantifiers Predicate logic can state that some (or every) value makes a predicate true. Existential Quantification - x: N x<1 states that there is some natural number x such that x is less than 1. Universal Quantification - x: Z x 2 0 states that for every integer x, x 2 is greater than or equal to 0. 8
9 Examples Suppose S is the set of students and U is the set of units. E(y) is true iff the unit y is easy. H(x) is true iff student x studies hard. P(x,y) is true iff student x passes unit y. x: S H(x) y: U P(x,y) y: U x: S P(x,y) (E(y) H(x)) x: S (P(x,FM) H(x)) 9
10 Components of a Z-spec A Z specification consists of Type declarations - e.g. [NAME, DATE] Axiomatic definitions - e.g. Schemas Prime : P Z x : Z x Prime x>1 y,z : Z z x y x y z x 10
11 Schemas BirthdayBook known : P NAME birthday : NAME DATE known = dom birthday Note: here refers to a partial function, and should ideally be written as. 11
12 Interpretation of Schemas In the Schema: S1 var : VAR pred pred describes a property of the system with respect to the named variables var of type VAR. In a schema, variable s are defined above the line, and constraints are specified below the line. The predicates are built using predicate logic with arithmetic and set operations, or predefined functions and relations. 12
13 Static Schemas n Describe the state space of a system BirthdayBook known: P NAME birthday : NAME DATES known = dom(birthday) The variables describe data in the system. The predicate describes an invariant of the system. 13
14 Dynamic schemas Describe operations on the system. For each variable v in Schema S, we let v refer to the variable after the operation. E.g. ΔBirthdayBook known, known : P NAME birthday, birthday : NAME DATE known = dom birthday known = dom birthday ΞBirthdayBook known, known : NAME birthday, birthday : NAME DATE known = dom birthday known = dom birthday known = known birthday = birthday 14
15 Operations as schemas AddBirthday ΔBirthdayBook name? : NAME date? : DATE name? known birthday = birthday {(name?, date?)} FindBirthday ΞBirthdayBook name? : NAME date! : DATE name? known date! = birthday(name?) 15
16 IO and preconditions name? - a variable name ending with a? is assumed to be an input. result! - a variable name ending with a! is assumed to be an output preconditions are the predicates involving only inputs and unprimed variables postconditions are any other predicates. 16
17 Using schemas Schemas can be used in many ways (as types, predicates, variables ). Z has many operators, but many of them are simply abbreviations for commonly used predicates. Later we will consider a calculus for schemas, that allows us to combine schemas in complex operations. 17
18 Relations in Z Relations associate elements of one set with elements of other sets. A relation R from set X to set Y is an element of P(X Y) Relations can be unary, binary, ternary, n-ary For example teaches is a ternary relation between STAFF, UNITS and SEMSTER. We have (Tim, CITS4221, S2-2006) teaches. 18
19 Notation Binary relations are declared by R : X Y == R : P( X Y) Maplets give a direction to relations: x y == (x, y) Binary relations can be defined as infix relations: _ _ : N N x, y : N x y z : N (y + z) = x 19
20 Data structures in Z Besides sets, Z notation provides syntax for two different data structures: Sequences - Given a type X, seq X is the type consisting of sequences of elements of X Bags - Given a type X, bag X is a type similar to a set, except a single element may appear more than once in a Bag. 20
21 Sequences seq X == { f : N X dom f = 1 #f } Stacks, queues, arrays and lists can easily be defined using sequences Sequences are used when there is a need to specify some ordering over a finite set. Given list : Seq X, we write list = x, y, z rather than list = {(1,x), (2, y), (3, z) }. 21
22 Example Let [AIRPORT] be the type of airports, and trip : seq AIRPORT trip = Perth, Adelaide, Sydney, Perth dom trip = {1,2,3,4} and e.g. trip(1)= Perth The length of trip is #trip. The empty sequence is written. A sequence that is never empty may be declared, seq 1 AIRPORT. 22
23 Operators for Sequences Let trip1 = Perth, Adelaide, Sydney. trip1(2) = Adelaide head trip1 = trip1(1) = Perth last trip1 = trip1(#trip1) = Sydney front trip1 = Perth, Adelaide tail trip1 = Adelaide, Sydney rev trip1 = Sydney, Adelaide, Perth 23
24 Concatenation. Let trip1 = Perth, Adelaide, Sydney and trip2 = Hobart, Perth. Then: trip1 trip2 = Perth, Adelaide, Sydney,Hobart,Perth 24
25 Filtering Sequences Given t : Seq X and a : PX, t a is the sequence of elements of a that appear in t. E.g. 1, 4, 2, 2, 6 {1, 2, 7} = 1, 2, 2 Given t : Seq X and a : PN, t a is the sequence of elements in t that appear at the indices of a. E.g. a, b, c, d, e {1, 2, 7} = a, b 25
26 Specifying a stack Stack[X] s : seq X InitStack[X] Stack[X] s = length[x] ΞStack[X] length! : N length! = # s 26
27 Specifying a Stack cont Push[X] ΔStack[X] x? : X s = x? s Pop[X] ΔStack[X] x! : X #s > 0 x! = head s s = tail s 27
2.4 The Z Notation. [Reference: M. Spivey: The Z Notation, Prentice Hall] Modellbasierte Softwareentwicklung
Modellbasierte Softwareentwicklung 2.4 The Z Notation [Reference: M. Spivey: The Z Notation, Prentice Hall] Properties of Z Is a very expressive formal language (well-defined syntax and semantics). Based
More informationRelational Database: The Relational Data Model; Operations on Database Relations
Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview
More informationSOFTWARE ENGINEERING DESIGN I
2 SOFTWARE ENGINEERING DESIGN I 3. Schemas and Theories The aim of this course is to learn how to write formal specifications of computer systems, using classical logic. The key descriptional technique
More informationWarm-Up Problem. Let L be the language consisting of as constant symbols, as a function symbol and as a predicate symbol. Give an interpretation where
Warm-Up Problem Let L be the language consisting of as constant symbols, as a function symbol and as a predicate symbol Give an interpretation where is false Use a finite domain in your interpretation
More informationOverview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.
Overview CS389L: Automated Logical Reasoning Lecture 6: First Order Logic Syntax and Semantics Işıl Dillig So far: Automated reasoning in propositional logic. Propositional logic is simple and easy to
More informationA set with only one member is called a SINGLETON. A set with no members is called the EMPTY SET or 2 N
Mathematical Preliminaries Read pages 529-540 1. Set Theory 1.1 What is a set? A set is a collection of entities of any kind. It can be finite or infinite. A = {a, b, c} N = {1, 2, 3, } An entity is an
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationEngineering and Computer Job Fair
08- Notation-Formal Rick Adrion Engineering and Computer Job Fair Campus Center on October 1 from 10 am - 3 pm Microsoft, Mitre, GE, FAA and BAE seeking Computer Science students for permanent, summer
More informationDiscrete Mathematics Lecture 4. Harper Langston New York University
Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a
More informationChapter 3 (part 3) Describing Syntax and Semantics
Chapter 3 (part 3) Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings
More informationAbstract Interpretation
Abstract Interpretation Ranjit Jhala, UC San Diego April 22, 2013 Fundamental Challenge of Program Analysis How to infer (loop) invariants? Fundamental Challenge of Program Analysis Key issue for any analysis
More informationCS Bootcamp Boolean Logic Autumn 2015 A B A B T T T T F F F T F F F F T T T T F T F T T F F F
1 Logical Operations 1.1 And The and operator is a binary operator, denoted as, &,, or sometimes by just concatenating symbols, is true only if both parameters are true. A B A B F T F F F F The expression
More informationContents. Chapter 1 SPECIFYING SYNTAX 1
Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren
More informationPart II. Hoare Logic and Program Verification. Why specify programs? Specification and Verification. Code Verification. Why verify programs?
Part II. Hoare Logic and Program Verification Part II. Hoare Logic and Program Verification Dilian Gurov Props: Models: Specs: Method: Tool: safety of data manipulation source code logic assertions Hoare
More informationExample - Booking Office
09 Requirements Readings [jmw90] Wing, J. M., A Specifier's Introduction to Formal Methods, IEEE Computer, September 1990, pp.8--24. [avl00] van Lamsweerde, Axel, Formal Specification: a Roadmap, Future
More informationCSC Discrete Math I, Spring Sets
CSC 125 - Discrete Math I, Spring 2017 Sets Sets A set is well-defined, unordered collection of objects The objects in a set are called the elements, or members, of the set A set is said to contain its
More informationAbstract Specifications: A Review. Algebraic Specification
Abstract Specifications: A Review Computer Science 520/620 Prof. Leon J. Osterweil Spring 2012 Algebraic Specification Draws upon the semantics of modern algebra to form the basis of the semantics of data
More informationData types for mcrl2
Data types for mcrl2 Aad Mathijssen April 5, 2018 We provide a syntax for the standard data types of the mcrl2 language. This syntax is intended to be a practical mix between standard mathematical notation
More informationSemantics. There is no single widely acceptable notation or formalism for describing semantics Operational Semantics
There is no single widely acceptable notation or formalism for describing semantics Operational Describe the meaning of a program by executing its statements on a machine, either simulated or actual. The
More informationCMPS 277 Principles of Database Systems. https://courses.soe.ucsc.edu/courses/cmps277/fall11/01. Lecture #3
CMPS 277 Principles of Database Systems https://courses.soe.ucsc.edu/courses/cmps277/fall11/01 Lecture #3 1 Summary of Lectures #1 and #2 Codd s Relational Model based on the concept of a relation (table)
More informationChapter 3. Describing Syntax and Semantics
Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:
More informationIntroductory logic and sets for Computer scientists
Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario
More informationLecture 1: Conjunctive Queries
CS 784: Foundations of Data Management Spring 2017 Instructor: Paris Koutris Lecture 1: Conjunctive Queries A database schema R is a set of relations: we will typically use the symbols R, S, T,... to denote
More informationChapter 2 Working with Data Types and Operators
JavaScript, Fourth Edition 2-1 Chapter 2 Working with Data Types and Operators At a Glance Instructor s Manual Table of Contents Overview Objectives Teaching Tips Quick Quizzes Class Discussion Topics
More informationCSE20: Discrete Mathematics
Spring 2018 Summary Last time: Today: Introduction to Basic Set Theory (Vardy) More on sets Connections between sets and logic Reading: Chapter 2 Set Notation A, B, C: sets A = {1, 2, 3}: finite set with
More information1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.
1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered
More information2.1 Sets 2.2 Set Operations
CSC2510 Theoretical Foundations of Computer Science 2.1 Sets 2.2 Set Operations Introduction to Set Theory A set is a structure, representing an unordered collection (group, plurality) of zero or more
More informationRelational terminology. Databases - Sets & Relations. Sets. Membership
Relational terminology Databases - & Much of the power of relational databases comes from the fact that they can be described analysed mathematically. In particular, queries can be expressed with absolute
More informationZ Notation. June 21, 2018
Z Notation June 21, 2018 1 Definitions There are many different ways to introduce an object in a Z specification: declarations, abbreviations, axiomatic definitions, and free types. Keep in mind that the
More informationComputer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 5" Modeling Data and Types" Course Housekeeping"
Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 5 Modeling Data and Types Course Housekeeping Class meeting schedule: Tuesday, Feb. 19 Thursday, Feb. 21
More informationZ Notations. Dr. Rong Qu. rxq/#g53fsp. G53FSP Formal Specification 1
Z Notations Dr. Rong Qu rxq@cs.nott.ac.uk http://www.cs.nott.ac.uk/ rxq/#g53fsp G53FSP Formal Specification 1 Introduction We use mathematical notation so that we will be able to prove certain properties
More informationCS 1200 Discrete Math Math Preliminaries. A.R. Hurson 323 CS Building, Missouri S&T
CS 1200 Discrete Math A.R. Hurson 323 CS Building, Missouri S&T hurson@mst.edu 1 Course Objective: Mathematical way of thinking in order to solve problems 2 Variable: holder. A variable is simply a place
More information1 of 7 7/15/2009 3:40 PM Virtual Laboratories > 1. Foundations > 1 2 3 4 5 6 7 8 9 1. Sets Poincaré's quote, on the title page of this chapter could not be more wrong (what was he thinking?). Set theory
More informationSoftware Engineering: A Practitioner s s Approach, 6/e Roger Pressman. Chapter 28 Formal Methods
Software Engineering: A Practitioner s s Approach, 6/e Roger Pressman Chapter 28 Formal Methods 1 Problems with Conventional Specification contradictions ambiguities vagueness incompleteness mixed levels
More informationLecture 5: Predicate Calculus. ffl Predicate Logic ffl The Language ffl Semantics: Structures
Lecture 5: Predicate Calculus ffl Predicate Logic ffl The Language ffl Semantics: Structures 1 Why Predicate Logic? Propositional logic is not powerful enough to express statements such as ffl For every
More information3. Relational Data Model 3.5 The Tuple Relational Calculus
3. Relational Data Model 3.5 The Tuple Relational Calculus forall quantification Syntax: t R(P(t)) semantics: for all tuples t in relation R, P(t) has to be fulfilled example query: Determine all students
More informationChapter 3. Describing Syntax and Semantics ISBN
Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the
More informationChapter 3. Describing Syntax and Semantics
Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:
More information9/19/12. Why Study Discrete Math? What is discrete? Sets (Rosen, Chapter 2) can be described by discrete math TOPICS
What is discrete? Sets (Rosen, Chapter 2) TOPICS Discrete math Set Definition Set Operations Tuples Consisting of distinct or unconnected elements, not continuous (calculus) Helps us in Computer Science
More informationChapter 3. Semantics. Topics. Introduction. Introduction. Introduction. Introduction
Topics Chapter 3 Semantics Introduction Static Semantics Attribute Grammars Dynamic Semantics Operational Semantics Axiomatic Semantics Denotational Semantics 2 Introduction Introduction Language implementors
More informationAn Annotated Language
Hoare Logic An Annotated Language State and Semantics Expressions are interpreted as functions from states to the corresponding domain of interpretation Operators have the obvious interpretation Free of
More informationFormal Methods. CITS5501 Software Testing and Quality Assurance
Formal Methods CITS5501 Software Testing and Quality Assurance Pressman, R. Software Engineering: A Practitioner s Approach. Chapter 28. McGraw-Hill, 2005 The Science of Programming, David Gries, 1981
More informationCMSC 330: Organization of Programming Languages
CMSC 330: Organization of Programming Languages Operational Semantics CMSC 330 Summer 2018 1 Formal Semantics of a Prog. Lang. Mathematical description of the meaning of programs written in that language
More information11. The map types. The outline of this part: What is a map? The type constructor Operators Specification using map
11. The map types The outline of this part: What is a map? The type constructor Operators Specification using map 11.1 What is a map? A map is a finite set of pairs, describing a mapping between two sets.
More informationThe Specification Phase
The Specification Phase CS427: Elements of Software Engineering Lecture 4.1 10am, 30 Jan 2012 CS427 The Specification Phase 1/16 Outline 1 Recall... The Requirements Phase 2 Phase 2: Specifications 3 Requirements
More informationDenotational Semantics. Domain Theory
Denotational Semantics and Domain Theory 1 / 51 Outline Denotational Semantics Basic Domain Theory Introduction and history Primitive and lifted domains Sum and product domains Function domains Meaning
More informationOther Relational Languages
Other Relational Languages 1 Tuple Relational Calculus A nonprocedural query language, where each query is of the form {t P (t ) } It is the set of all tuples t such that predicate P is true for t t is
More informationOperators in C. Staff Incharge: S.Sasirekha
Operators in C Staff Incharge: S.Sasirekha Operators An operator is a symbol which helps the user to command the computer to do a certain mathematical or logical manipulations. Operators are used in C
More informationComputer Science 520/620 Spring 2014 Prof. L. Osterweil" Modeling Data and Types" Software Models and Representations" Part 5"
Computer Science 520/620 Spring 2014 Prof. L. Osterweil Modeling Data and Types Software Models and Representations Part 5 Modeling Data and Types Representation of Data/Objects Complement to emphasis
More informationChapter 3. Syntax - the form or structure of the expressions, statements, and program units
Syntax - the form or structure of the expressions, statements, and program units Semantics - the meaning of the expressions, statements, and program units Who must use language definitions? 1. Other language
More informationCSE 20 DISCRETE MATH. Fall
CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Final exam The final exam is Saturday December 16 11:30am-2:30pm. Lecture A will take the exam in Lecture B will take the exam
More informationCOSC252: Programming Languages: Semantic Specification. Jeremy Bolton, PhD Adjunct Professor
COSC252: Programming Languages: Semantic Specification Jeremy Bolton, PhD Adjunct Professor Outline I. What happens after syntactic analysis (parsing)? II. Attribute Grammars: bridging the gap III. Semantic
More informationFunctional programming with Common Lisp
Functional programming with Common Lisp Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada August 11, 2016 1 / 81 Expressions and functions
More informationComputer Science 520/620 Spring 2013 Prof. L. Osterweil" Course Housekeeping" Software Models and Representations" Part 5" Modeling Data and Types"
Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 5 Modeling Data and Types Course Housekeeping Class meeting schedule: Tuesday, Feb. 19 Thursday, Feb. 21
More informationMATH Iris Loeb.
MATH 134 http://www.math.canterbury.ac.nz/math134/09/su1/c Iris Loeb I.Loeb@math.canterbury.ac.nz Office Hours: Thur 10.00-11.00, Room 703 (MSCS Building) The Limits of Formal Logic We now turn our attention
More informationTaibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103. Chapter 2. Sets
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 2 Sets Slides are adopted from Discrete Mathematics and It's Applications Kenneth H.
More informationCMPS 277 Principles of Database Systems. Lecture #4
CMPS 277 Principles of Database Systems http://www.soe.classes.edu/cmps277/winter10 Lecture #4 1 First-Order Logic Question: What is First-Order Logic? Answer: Informally, First-Order Logic = Propositional
More informationJaykov Foukzon. Israel Institute of Technology, Haifa, Israel.
Inconsistent countable set Jaykov Foukzon Israel Institute of Technology, Haifa, Israel jaykovfoukzon@list.ru Abstract In this article we derived an importent example of the inconsistent countable set.
More informationChapter 3. Describing Syntax and Semantics ISBN
Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Describing the Meanings of Programs: Dynamic Semantics Copyright 2015 Pearson. All rights reserved. 2 Semantics There is no
More informationCMSC 330: Organization of Programming Languages. Formal Semantics of a Prog. Lang. Specifying Syntax, Semantics
Recall Architecture of Compilers, Interpreters CMSC 330: Organization of Programming Languages Source Scanner Parser Static Analyzer Operational Semantics Intermediate Representation Front End Back End
More informationCopyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and
Chapter 6 The Relational Algebra and Relational Calculus Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Outline Unary Relational Operations: SELECT and PROJECT Relational
More informationaxiomatic semantics involving logical rules for deriving relations between preconditions and postconditions.
CS 6110 S18 Lecture 18 Denotational Semantics 1 What is Denotational Semantics? So far we have looked at operational semantics involving rules for state transitions, definitional semantics involving translations
More information6. Hoare Logic and Weakest Preconditions
6. Hoare Logic and Weakest Preconditions Program Verification ETH Zurich, Spring Semester 07 Alexander J. Summers 30 Program Correctness There are many notions of correctness properties for a given program
More informationThe Z Notation: A Reference Manual. J. M. Spivey. Second Edition
The Z Notation: A Reference Manual Second Edition J. M. Spivey Programming Research Group University of Oxford Based on the work of J. R. Abrial, I. J. Hayes, C. A. R. Hoare, He Jifeng, C. C. Morgan, J.
More informationChapter 27 Formal Specification
Chapter 27 Formal Specification Chapter 27 Formal Specification Slide 1 Objectives To explain why formal specification helps discover problems in system requirements. To describe the use of: Algebraic
More informationA Michael Jackson presentation. CSE503: Software Engineering. The following slides are from his keynote at ICSE 1995
A Michael Jackson presentation CSE503: Software Engineering The following slides are from his keynote at ICSE 1995 David Notkin University of Washington Computer Science & Engineering Spring 2006 1 2 3
More informationReasoning About Imperative Programs. COS 441 Slides 10
Reasoning About Imperative Programs COS 441 Slides 10 The last few weeks Agenda reasoning about functional programming It s very simple and very uniform: substitution of equal expressions for equal expressions
More informationCSC312 Principles of Programming Languages : Functional Programming Language. Copyright 2006 The McGraw-Hill Companies, Inc.
CSC312 Principles of Programming Languages : Functional Programming Language Overview of Functional Languages They emerged in the 1960 s with Lisp Functional programming mirrors mathematical functions:
More informationFMSE: Lecture 1. The Specification Language Z: Introduction
FMSE: Lecture 1 The Specification Language Z: Introduction 1 FMSE: Lecture 1 2 Goals of Lecture 1 At the end of this lecture you should be able to: write down schemas for simple specification problems
More informationShell CSCE 314 TAMU. Haskell Functions
1 CSCE 314: Programming Languages Dr. Dylan Shell Haskell Functions 2 Outline Defining Functions List Comprehensions Recursion 3 Conditional Expressions As in most programming languages, functions can
More informationChapter 2 & 3: Representations & Reasoning Systems (2.2)
Chapter 2 & 3: A Representation & Reasoning System & Using Definite Knowledge Representations & Reasoning Systems (RRS) (2.2) Simplifying Assumptions of the Initial RRS (2.3) Datalog (2.4) Semantics (2.5)
More informationThis is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS
1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be
More informationLECTURE 8: SETS. Software Engineering Mike Wooldridge
LECTURE 8: SETS Mike Wooldridge 1 What is a Set? The concept of a set is used throughout mathematics; its formal definition matches closely our intuitive understanding of the word. Definition: A set is
More informationBDDC v2 A basic bdd-based logical calculator
BDDC v2 A basic bdd-based logical calculator Pascal RAYMOND November 24, 2008, (rev. September 28, 2015) BDDC is a tool for manipulating logical formula. It is based on a Binary Decision Diagram library,
More informationLogic and its Applications
Logic and its Applications Edmund Burke and Eric Foxley PRENTICE HALL London New York Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Contents Preface xiii Propositional logic 1 1.1 Informal introduction
More informationQuery formalisms for relational model relational calculus
lecture 7: Query formalisms for relational model relational calculus course: Database Systems (NDBI025) doc. RNDr. Tomáš Skopal, Ph.D. SS2011/12 Department of Software Engineering, Faculty of Mathematics
More informationTest Generation from Formal Specifications
Chapter 13 Test Generation from Formal Specifications The purpose of this chapter is to introduce techniques for the generation of tests from formal specifications written in the Z (Zed) notation. 13.1.
More informationPrinciples of Programming Languages COMP251: Syntax and Grammars
Principles of Programming Languages COMP251: Syntax and Grammars Prof. Dekai Wu Department of Computer Science and Engineering The Hong Kong University of Science and Technology Hong Kong, China Fall 2007
More informationChapter 3: Syntax and Semantics. Syntax and Semantics. Syntax Definitions. Matt Evett Dept. Computer Science Eastern Michigan University 1999
Chapter 3: Syntax and Semantics Matt Evett Dept. Computer Science Eastern Michigan University 1999 Syntax and Semantics Syntax - the form or structure of the expressions, statements, and program units
More informationChapter 9: Constraint Logic Programming
9. Constraint Logic Programming 9-1 Deductive Databases and Logic Programming (Winter 2007/2008) Chapter 9: Constraint Logic Programming Introduction, Examples Basic Query Evaluation Finite Domain Constraint
More informationChapter 3. Set Theory. 3.1 What is a Set?
Chapter 3 Set Theory 3.1 What is a Set? A set is a well-defined collection of objects called elements or members of the set. Here, well-defined means accurately and unambiguously stated or described. Any
More informationFirst Order Predicate Logic CIS 32
First Order Predicate Logic CIS 32 Functionalia Demos? HW 3 is out on the web-page. Today: Predicate Logic Constructing the Logical Agent Predicate Logic First-order predicate logic More expressive than
More informationCHAPTER 8. Copyright Cengage Learning. All rights reserved.
CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation
More informationJavaScript CS 4640 Programming Languages for Web Applications
JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation
More informationLOGIC AND DISCRETE MATHEMATICS
LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University
More informationAxiomatic Specification. Al-Said, Apcar, Jerejian
Axiomatic Specification Al-Said, Apcar, Jerejian 1 Axioms: Wffs that can be written down without any reference to any other Wffs. Wffs that are stipulated as unproved premises for the proof of other wffs
More information1 The Axiom of Extensionality
1 The Axiom of Extensionality Primitive notion: Set A set is a group, a collection, or an aggregate of things. In fact, the words set, group, collection, and aggregate are all synonyms denoting the same
More informationCS 512, Spring 2017: Take-Home End-of-Term Examination
CS 512, Spring 2017: Take-Home End-of-Term Examination Out: Tuesday, 9 May 2017, 12:00 noon Due: Wednesday, 10 May 2017, by 11:59 am Turn in your solutions electronically, as a single PDF file, by placing
More information10/30/18. Dynamic Semantics DYNAMIC SEMANTICS. Operational Semantics. An Example. Operational Semantics Definition Process
Dynamic Semantics DYNAMIC SEMANTICS Describe the meaning of expressions, statements, and program units No single widely acceptable notation or formalism for describing semantics Two common approaches:
More informationSafe Stratified Datalog With Integer Order Does not Have Syntax
Safe Stratified Datalog With Integer Order Does not Have Syntax Alexei P. Stolboushkin Department of Mathematics UCLA Los Angeles, CA 90024-1555 aps@math.ucla.edu Michael A. Taitslin Department of Computer
More informationlogic with quantifiers (informally)
EDAA40 Discrete Structures in Computer Science 8: Quantificational logic Jörn W. Janneck, Dept. of Computer Science, Lund University logic with quantifiers (informally) Given a logical formula that depends
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 19 Tuesday, April 3, 2018 1 Introduction to axiomatic semantics The idea in axiomatic semantics is to give specifications
More informationSchema Mappings and Data Exchange
Schema Mappings and Data Exchange Lecture #2 EASSLC 2012 Southwest University August 2012 1 The Relational Data Model (E.F. Codd 1970) The Relational Data Model uses the mathematical concept of a relation
More informationIntroduction to Lexical Analysis
Introduction to Lexical Analysis Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexers Regular expressions Examples
More informationChapter 6: Formal Relational Query Languages
Chapter 6: Formal Relational Query Languages Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 6: Formal Relational Query Languages Relational Algebra Tuple Relational
More informationCSC 501 Semantics of Programming Languages
CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this
More informationLee Pike. June 3, 2005
Proof NASA Langley Formal Methods Group lee.s.pike@nasa.gov June 3, 2005 Proof Proof Quantification Quantified formulas are declared by quantifying free variables in the formula. For example, lem1: LEMMA
More informationDraw a diagram of an empty circular queue and describe it to the reader.
1020_1030_testquestions.text Wed Sep 10 10:40:46 2014 1 1983/84 COSC1020/30 Tests >>> The following was given to students. >>> Students can have a good idea of test questions by examining and trying the
More informationSoftware Quality Assurance
Software Quality Assurance Every week we see new examples of: computer systems error/failure Here are some examples, taken from different industries Airport chaos after computer crash By Vanessa Allen,
More informationDISCRETE MATHEMATICS
DISCRETE MATHEMATICS WITH APPLICATIONS THIRD EDITION SUSANNA S. EPP DePaul University THOIVISON * BROOKS/COLE Australia Canada Mexico Singapore Spain United Kingdom United States CONTENTS Chapter 1 The
More information