Logic and Language Models for Computer Science
eBook - ePub

Logic and Language Models for Computer Science

Dana Richards, Henry Hamburger;;;

Partager le livre
  1. 468 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Logic and Language Models for Computer Science

Dana Richards, Henry Hamburger;;;

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

-->

This text presents the formal concepts underlying Computer Science.

It starts with a wide introduction to Logic with an emphasis on reasoning and proof, with chapters on Program Verification and Prolog.

The treatment of computability with Automata and Formal Languages stands out in several ways:

-->

  • it emphasizes the algorithmic nature of the proofs and the reliance on simulations;
  • it stresses the centrality of nondeterminism in generative models and the relationship to deterministic recognition models

-->

The style is appropriate for both undergraduate and graduate classes.

--> Contents:

    • Mathematical Preliminaries
  • Logic for Computer Science:
    • Propositional Logic
    • Proofs by Deduction
    • Predicate Logic
    • Proving with Predicates
    • Program Verification
  • Language Models for Computer Science:
    • Language and Models
    • Generative Models of Regular Languages
    • Finite Automata and Regular Languages
    • Context-Free Grammars
    • Pushdown Automata and Parsing
    • Turing Machines
  • Appendices:
    • Logic Programming
    • The awk Language
    • Answers to Selected Problems

-->
--> Readership: Students and professionals interested in theoretical computation and language models for computer science. -->
Keywords:Theory of Computation;Logic Automata Theory;Formal LanguagesReview: Key Features:

  • The emphasis is on Logic. Logic is described in the context of reasoning (not circuits) with a concentration on proof techniques. The discussion entails a chapter on Program Verification and a chapter on Prolog programming
  • There is a forthright treatment of non-determinism. Non-determinism is fundamental to generative techniques, like grammatical models and recursively defined constructs such as regular expressions, and are integral to machine models of context-free languages
  • The treatment of constructive proofs (in particular, simulation-based proofs of computability) are cast in explicit algorithmic notation, which is familiar to the Computer Science student

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Logic and Language Models for Computer Science est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Logic and Language Models for Computer Science par Dana Richards, Henry Hamburger;;; en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Informatica et Elaborazione del linguaggio naturale. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Éditeur
WSPC
Année
2017
ISBN
9789813229228

Chapter 1

Mathematical Preliminaries

This text is concerned with formal models that are important to the field of computer science. Because the models are formal, we will make substantial use of mathematical ideas. In many ways the topics in this book — logic, languages and automata — are a natural extension of a Discrete Mathematics course, which is generally required for Computer Science majors. This text steers clear of excessive mathematical notation, focusing instead on fundamental ideas and their application. However it is impossible to appreciate the power that comes from the rigorous methods and models in this book without a background in Discrete Mathematics. This chapter is a brief overview of the needed mathematical background and may be useful for self-evaluation, review and reference.

1.1Sets and Sequences

A set is a unordered collection of distinct elements. The elements are typically thought of as objects such as integers, people, books, or classrooms, and are written within braces, like this: {Friday, Saturday, Sunday}. When working with sets, it can be important to specify U, the universe of elements (e.g., the set of days of the week) from which the elements of particular sets are drawn. Note that the universe itself is a set: the set of all elements of a given type.
Sometimes the universe is only implicitly specified, when the reader can easily figure out what it is. The elements are said to be in the set and are called its members.
Sets can be presented in two forms. The extensional form enumerates the elements of the set, while the intensional form specifies the properties of the elements. For example:
images
are extensional and intensional forms of the same set. The second of these is read “those x such that x is an integer and 
 ” Note that the universe, the set of integers, is implicit in the first example and only informally specified in the second. The empty set is a set with no element and is denoted
images
.
Because the elements of a set are distinct, you should write sets with no repetition. For example, suppose a student database includes countries of origin and that it shows the participants in a seminar as being from China, France, China, Egypt and France. Then the set of countries represented in this class is {China, France, Egypt}. There is no concept of ordering within a set; there is no “first” element, etc. For example, the sets {4, 2, 3} and {2, 3, 4} are the same set.
If ordering is important then one speaks of a sequence of elements. In the extensional form of a sequence the elements appear in order, within parentheses, not braces. For example, the sequence (4, 2, 3) is different from (2, 3, 4). Further, sequences need not have distinct elements, so the sequence (2, 3, 3, 4) is different from (2, 3, 4). A sequence of length 2 is called an ordered pair. A sequence of length 3, 4 or 5 is called a triple, quadruple or quintuple respectively; in the general case of length n, the word is n-tuple. Sequences are often implemented as one-dimensional arrays or as linked lists. This leads to an intensional form for sequences, where we use subscripts, so that the extensional notation, like (x1, x2, x3), can replaced with a direct definition of xi, for each i.
The cross-product of S1 and S2, denoted S1 × S2, is the set of ordered pairs of elements in which the first is in S1 and the second is in S2.
Formally,
images
For example, {a, b} × {c, d, e} = {(a, c), (a, d), (a, e), (b, c), (b, d), (b, e)}. Just as the elements of S1 × S2 are ordered pairs, the elements of S1 × S2 × S3 are triples, and so on.
Set operators are discussed later, but we start with two basic ideas, the notions of membership and comparison. The notation x
images
S means that x is an element of the set S, while x
images
S means that x is not in S. When S = {11, 12, 13, 14}, 12
images
S and 16
images
S. We say that S1 is a subset of S2, written S1
images
S2, if each element of S1 is also an element of S2. For example, {12, 14}
images
{11, 12, 13, 14}. Note that S
images
S. Now consider subset T, that is not equal to S, because it is missing one or more elements of S. While it is correct to write T
images
S we may choose to write T
images
S, which states that T is a proper subset of S. The empty set is a subset of any set, so we can write
images
images
S, for any set S.

1.2Relations and Functions

A binary relation is a set of ordered pairs. More formally, a relation R from the set S1 to the set S2 is a subset of the cross-product of those sets, R
images
S1 × S2. For example, if E is a set of employees and P is a set of projects, we can specify a relation R between...

Table des matiĂšres