Logic and Language Models for Computer Science
eBook - ePub

Logic and Language Models for Computer Science

Dana Richards, Henry Hamburger;;;

Condividi libro
  1. 468 pagine
  2. English
  3. ePUB (disponibile sull'app)
  4. Disponibile su iOS e Android
eBook - ePub

Logic and Language Models for Computer Science

Dana Richards, Henry Hamburger;;;

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

-->

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

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
Logic and Language Models for Computer Science è disponibile online in formato PDF/ePub?
Sì, puoi accedere a Logic and Language Models for Computer Science di Dana Richards, Henry Hamburger;;; in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatica e Elaborazione del linguaggio naturale. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Editore
WSPC
Anno
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...

Indice dei contenuti