To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Shift spaces are to symbolic dynamics what shapes like polygons and curves are to geometry. We begin by introducing these spaces, and describing a variety of examples to guide the reader's intuition. Later chapters will concentrate on special classes of shift spaces, much as geometry concentrates on triangles and circles. As the name might suggest, on each shift space there is a shift map from the space to itself. Together these form a “shift dynamical system.” Our main focus will be on such dynamical systems, their interactions, and their applications.
In addition to discussing shift spaces, this chapter also connects them with formal languages, gives several methods to construct new shift spaces from old, and introduces a type of mapping from one shift space to another called a sliding block code. In the last section, we introduce a special class of shift spaces and sliding block codes which are of interest in coding theory.
Full Shifts
Information is often represented as a sequence of discrete symbols drawn from a fixed finite set. This book, for example, is really a very long sequence of letters, punctuation, and other symbols from the typographer's usual stock. A real number is described by the infinite sequence of symbols in its decimal expansion. Computers store data as sequences of 0's and 1's. Compact audio disks use blocks of 0's and 1's, representing signal samples, to digitally record Beethoven symphonies.
We shall define in this chapter two translations of bounded arithmetic formulas into propositional formulas and, more importantly, we shall also define translations of proofs in various systems of bounded arithmetic into propositional proofs in particular proof systems.
In the first section we shall consider the case when the language of I△0 is augmented by new predicate or function symbols, and the case of the theories and. In the second section we treat formulas in the language L and the theories, and.
In the third section we study the provability of the reflection principles for propositional proof systems in bounded arithmetic and the relation of these reflection principles to the polynomial simulations. In the fourth section we present some model-theoretic proofs for statements obtained earlier. The final section then suggests another relation of arithmetic proofs to Boolean logic, namely the relation between witnessing arguments and test (decision) trees.
Bounded formulas with a predicate
First we shall treat the theory I△0(R) and then generalize the treatment to the theories and. Instead of I△0(R) we could consider the theory but the presentation for the former is simpler. The language LPA(R) of I△0(R) is the language LPA augmented by a new binary predicate symbol R(x, y).
Symbolic dynamics is a rapidly growing part of dynamical systems. Although it originated as a method to study general dynamical systems, the techniques and ideas have found significant applications in data storage and transmission as well as linear algebra. This is the first general textbook on symbolic dynamics and its applications to coding, and we hope that it will stimulate both engineers and mathematicians to learn and appreciate the subject.
Dynamical systems originally arose in the study of systems of differential equations used to model physical phenomena. The motions of the planets, or of mechanical systems, or of molecules in a gas can be modeled by such systems. One simplification in this study is to discretize time, so that the state of the system is observed only at discrete ticks of a clock, like a motion picture. This leads to the study of the iterates of a single transformation. One is interested in both quantitative behavior, such as the average time spent in a certain region, and also qualitative behavior, such as whether a state eventually becomes periodic or tends to infinity. Symbolic dynamics arose as an attempt to study such systems by means of discretizing space as well as time. The basic idea is to divide up the set of possible states into a finite number of pieces, and keep track of which piece the state of the system lies in at every tick of the clock.
In Chapters 7 and 8 we studied two notions of equivalence for shifts of finite type and sofic shifts: conjugacy and finite equivalence. Conjugacy is the stronger and more fundamental notion, while finite equivalence is more decidable. In this chapter, we introduce an intermediate concept of equivalence called almost conjugacy, which was motivated by constructions of codes in ergodic theory.
For a finite-to-one factor code on an irreducible shift of finite type or sofic shift, there is, by definition, a uniform upper bound on the number of pre-images of points in the image. Thus, the number of pre-images can vary through a finite set of positive integers. In §9.1 we show that certain points which are “representative” of the range shift all have the same number of pre-images. This number is called the degree of the code. In §9.2 we focus on codes of degree one, called almost invertible codes, and show how under certain circumstances finite-to-one codes can be replaced by almost invertible codes without changing the domain and range. In §9.3 we introduce the notion of almost conjugacy, which by definition is a finite equivalence in which both legs are almost invertible. We show that entropy and period form a complete set of almost conjugacy invariants for irreducible shifts of finite type and for irreducible sofic shifts. Finally, in §9.4 we conclude with results which assert that the “representative” points are really “typical” points in a probabilistic sense.
The central problem of complexity theory is the relation of deterministic and nondeterministic computations: whether P equals NP, and generally whether the polynomial time hierarchy PH collapses. The famous P versus NP problem is often regarded as one of the most important and beautiful open problems in contemporary mathematics, even by nonspecialists (see, for example, Smale [1992]).
The central problem of bounded arithmetic is whether it is a finitely axiomatizable theory. That amounts to deciding whether there is a model of the theory in which the polynomial time hierarchy does not collapse.
The central problem of propositional logic is whether there is a proof system in which every tautology has a proof of size polynomial in the size of the tautology. In this generality the question is equivalent to asking whether the class NP is closed under complementation. Particular cases of the problem, to establish lower bounds for usual calculi, are analogous to constructing models of associated systems of bounded arithmetic in which NP ≠ coNP.
Notions, problems, and results about complexity (of predicates, functions, proofs, …) are deep-rooted in mathematical logic, and (good) theorems about them are among the most profound results in the field. Bounded arithmetic and propositional logic are closely interrelated and have several explicit and implicit connections to the computational complexity theory around the P versus NP problem.
The Lower Entropy Factor Theorem of §10.3 completely solves the problem of when one irreducible shift of finite type factors onto another of strictly lower entropy. In contrast, the corresponding problem for equal entropy does not yet have a satisfactory solution. This chapter contains some necessary conditions for an equal-entropy factor code, and also some sufficient conditions. We will also completely characterize when one shift of finite type “eventually” factors onto another of the same entropy.
In §12.1 we state a necessary and sufficient condition for one irreducible shift of finite type to be a right-closing factor of another. While the proof of this is too complicated for inclusion here, we do prove an “eventual” version: for irreducible shifts of finite type X and Y with equal entropy we determine when Ym is a right-closing factor of Xm for all sufficiently large m. In §12.2 we extend this to determine when Xm factors onto Ym for all sufficiently large m (where the factor code need not be right-closing). This is analogous to Theorem 7.5.15, which showed that two irreducible edge shifts are eventually conjugate if and only if their associated matrices are shift equivalent.
At the end of §10.3 we proved a generalization of the Finite-State Coding Theorem from Chapter 5, where the sofic shifts had different entropies. This amounted to the construction of right-closing finite equivalences. In §12.3 we show that given two irreducible edge shifts with equal entropy log λ, the existence of a right-closing finite equivalence forces an arithmetic condition on the entries of the corresponding Perron eigenvectors.
Knowledge and belief play an important role in everyday life. In fact, most of what we do has to do with the things we know or believe. Likewise, it is not so strange that when we have to specify the behaviour of artificial agents in order to program or implement them in some particular way, it is thought to be important to be interested in the ‘knowledge’ and ‘belief’ of such an agent. In many areas of computer science and artificial intelligence one is concerned with the description or representation of knowledge of users or even the systems themselves. For example, in database theory one tries to model knowledge about parts of reality in certain formal ways to render it implementable and accessible to users. In AI one tries to design knowledge-based decision-support systems that are intended to assist professional users in some specialists field when making decisions by providing pieces of knowledge and preferably some deductions from the input data by means of some inference mechanism. The representation and manipulation of knowledge of some sort is ubiquitous in the information sciences.
This book is not about knowledge representation in general, but rather concentrates on the logic of knowledge and belief. What (logical) properties do knowledge and belief have? What is the difference between knowledge and belief? We do not intend to answer these questions in a deep philosophical discussion of these notions.
All systems developers approach the development task with a number of explicit and implicit assumptions about, for example, the nature of human organizations, the nature of the design task, the value of technology, and what is expected of them. As was noted in chapter 2, these assumptions play a central role in guiding the information systems development process. They guide not only the definition of object systems, but also the preferred approach to inquiry, i.e. how the developers improve their understanding and knowledge about them. The assumptions can either be held by the system developers or be embedded in their preferred development approach. In either case they affect the designed and implemented system.
But in order to understand the relationship between assumptions and development approaches we need to elaborate on the notion of ‘paradigm’ and how it applies to ISD. An exploration of the philosophical assumptions underlying different methodologies and their tools is a prerequisite for a better understanding of the influence of philosophical attitudes on the practice of ISD. Groups of related assumptions about reality and knowledge are at the core of research paradigms. By introducing a general classification of the assumptions that characterize alternative research paradigms, this chapter provides the philosophical basis for the analysis of ISD and data modeling in the subsequent chapters of this book.
The purpose of this chapter is to look at the nature and kinds of philosophical assumptions that are made in the literature on information systems development and data modeling.
It is a truism to say that computers have become ubiquitous in today's organizations. Since their application in administrative data processing in the mid-1950s, they have become one of the key instruments for improving the formal information processing activities of organizations. In less than four decades, computer-based information systems (IS) have evolved from supporting back office, already formalized, systems such as payroll, to penetrating the entire organization. New applications and technologies have emerged with great fanfare, and the enthusiasm for information systems continues to run high. Indeed, many enthusiasts conceive of information technology as the primary vehicle for organizational problem-solvers, increasing an organization's capacity to cope with external and internal complexity and improve its performance. Nor is there any doubt that information systems will play an even more vital role in tomorrow's organization.
The development of these information systems has received considerable attention in both the popular and academic literature. New methods for designing systems, new approaches for analysis, new strategies for implementing the developed systems, and the like, have proliferated over the past 30 years. Yet, a majority of information systems design approaches conceive of information systems development (ISD) with the assumption that they are technical systems with social consequences. This leads one to focus on IS design problems as problems of technical complexity. Proponents of this view assume that IS development problems can largely be resolved by more sophisticated technical solutions (tools, models, methods and principles).
In this chapter, the general philosophical basis laid down in chapter 3 will now be applied to provide a broad but more concrete perspective on systems development. Systems development will be explored in two steps: first, we focus on the underlying concepts; and second, we look at the application of the concepts in various methodologies. More specifically, chapter 4 elaborates on the theoretical concepts of ISD as introduced in chapter 2, and ties them into the paradigmatic notions as discussed in chapter 3. ISD tries to show how the conceptual foundations introduced thus far can actually help us to better understand, organize and analyze the rich variety of approaches which have been proposed in the literature. In chapter 5 we deepen this understanding by analyzing in detail four specific methodologies to ISD.
Our first task in this chapter is to convey a more vivid picture to the reader of how systems development might actually proceed in practice if it were to adhere to different paradigms. To this end we shall provide an idealtype description of the ‘scene’ of systems analysis under the four paradigms identified in chapter 3, thereby illustrating their underlying fundamental concepts in a systems development context. In the last part of this chapter we relate the four paradigms to the evolution of approaches to ISD as introduced in chapter 2.
Paradigms of Information Systems Development
Each of the following four descriptions of systems development was derived from interpreting pools of systems development literature which share the assumptions of a particular paradigm.
The purpose of this chapter is to explore in some detail the different schools of data modeling which were introduced in chapter 6. The first school embraces objectivism in data modeling. It follows the footsteps of the empiricalanalytical scientific method. It assumes that reality can be described by independent facts (which corresponds to the empirical base of observational statements in objectivist philosophy). The database captures these facts and data models provide the structure for organizing all the facts into a consistent picture of reality. In accordance with this, objectivist data modeling approaches were called fact-based or fact-oriented in chapter 6. The prominent features of the fact-based school will be discussed in section 7.2.
The second school of data modeling follows the social relativist tradition in the philosophy of science. It assumes that the domain of inquiry is not independent of the observer, and therefore reality cannot be described in terms of independent hard facts. Rather, what counts as reality are socially constructed images which emerge in social interaction, in particular through communication in some language. The details of these images are not completely arbitrary, but depend on the ‘grammar’ (the rules and ‘meanings’) which governs social communication. A data model attempts to formalize some of the informal social rules and meanings into a formalized grammar and hence a data model is a social construction par excellence. In accordance with this insight, subjectivist data modeling approaches were called rule-based in chapter 6.
In these summaries of selected methodologies, it should be noted that in the case of the structured methodologies and prototyping, we are really describing a ‘family of methodologies’ rather than a single approach.
In order to provide a sense of consistency throughout these summaries, the methodology descriptions consist of four parts:
(1) an analysis of the reasons why the particular methodology was proposed (its purpose and rationale);
(2) a concise examination of the key ideas underlying the methodology by which it hopes to achieve its stated purpose (its focus);
(3) a characterization of the methodology's principal stages and their sequence (its phase structure); and
(4) a list of its special methods and tools with their intended purpose.
In order to highlight the special features of each methodology, in some cases we relate these features to the classical system life-cycle (cf. the systems analysis textbooks of Kendall and Kendall 1988; Yourdon 1989).
Structured Methodologies
Purpose and rationale
The most common forms of structured methodologies can be traced to the classic works of Gane and Sarson (1979), DeMarco (1978) and Yourdon (1989). They were introduced to cope with the complexity of analysis and design and problems which the complexity caused with descriptions used in the classical life-cycle approach. The latter lacked a clear focus and organization for the analysis and predefined formats for describing and filing the myriad of details that a development exercise collects during the systems development process beginning with vague descriptions of the problem and ending (hopefully) with detailed program specifications and user documentation.