A Formal System: Rigorous Constructions of Computer Models Arxiv:1510.04469V3 [Cs.LO] 13 Apr 2017 G
Total Page:16
File Type:pdf, Size:1020Kb
A Formal System: Rigorous Constructions of Computer Models arXiv:1510.04469v3 [cs.LO] 13 Apr 2017 G. Pantelis Preface This book draws upon a number of converging ideas that have emerged over recent decades from various researchers involved in the construction of computer models. These ideas are challenging the dominant paradigm where a computer model is constructed as an attempt to provide a discrete approximation of some continuum theory. For reasons discussed in the first chapter, there is an argument that supports a departure from this paradigm towards the construction of discrete models based on simple deterministic rules. Although still limited in their use in the sciences, these models are producing results that show promise and cannot be easily dis- missed. But one can take this one step further and argue that such discrete models not only provide alternative tools for simulation but in themselves can be used as a new language that describe real world systems. The question arises as to how one can build a solid foundation for validating such discrete models, both as a simulation tool as well as a language that describe the laws that govern the application. It appears that these two aspects of the model are highly linked and rely heavily upon a single overriding property, namely that of computability. Encouraged by current trends in theoretical physics, we are particularly interested in dynamical systems that model the flow and interaction of information. The state variables of such systems can only take on a finite number of assigned integer or rational values and are subject to the law of conservation of information. Thus there is high degree of compatibility with the discrete model and the machine upon which it is to be executed. It seems plausible then that the laws that govern the computability of any model based on a finite dynamical system can be directly linked to the allowable computational operations on the machine itself. Another important issue is that a computer model based on a finite dynamical system may involve algorithms that are not readily expressible in the notation of conventional mathematics. This suggests a new paradigm in which a real world system is best described by a language of algorithms and programs rather than a language based on any conventional mathematical representation. If this is the case then one should attempt to construct a language that is both simple enough i to be adopted by those whose background is not rooted in the computer sciences and yet be powerful enough to be employed as a tool of analysis at a sufficiently high level. This book is primarily aimed at students and researchers in the mathematical sciences who have little or no knowledge of subjects in the computer sciences, although some experience with programming will be helpful. Specific discrete models will not be discussed in great detail since the focus is directed towards the basic operations of finite state arithmetic on a real world classical computer. A simple language based on functional programs will be constructed for the purposes of analysis. From such a study it is hoped will emerge the basic theoretical tools that will lay down the foundations for both the construction and rigorous validation of this class of computer models. Chapter 1 outlines the motivation behind the material in this book. Chapters 2-5 are largely dedicated to the construction of the formal language based on functional programs. When constructing a new language the reader will be bombarded with many definitions before the language can actually be used in analysis. This cannot be avoided and the reader will need to make some effort to acquire some understanding of these definitions and the motivations behind them. Therefore the material contained in Chapters 2-5 require some patience and perseverance on behalf of the reader. In Chapters 6, 9 and 10 a number of basic properties of scalar, array and matrix arithmetic on a deterministic machine with finite memory will be derived. The reader should be alerted to the subtleties that underly the way in which the axioms are structured and how they differ from the conventional axioms of fields and rings. Although the focus is on basic algebraic identities and inequalities, all proofs are provided for completion. The reader may wish to go through some of these proofs to get a feel of how the formal language works. When the reader is satisfied that they have a sufficient understanding of the process the reader may then wish to skim through the remaining proofs of these chapters. In Chapter 7 we examine the computability of finite dynamical systems based on a single scalar variable. Here we extend the theory of Chapter 6 to include discrete interval enclosures. In Chapter 8 we reflect on the formal language that has been constructed in Chapters 2-5 and where it can be placed in the wider context of the conventional formal methods of proof theory. In Chapter 11 an attempt is made to bring together all of the ideas of the previous chapters to the final goal of formal constructions of computer models based on dynamical systems on lattices. The book concludes with Chapter 12 where future directions are explored that address some of the unresolved issues that surround formal systems and their role in the scientific method. ii Contents 1 Introduction. 1 1.1 Continuous versus discrete. .1 1.2 Machine arithmetic. .7 1.3 Sequential ordering. .9 2 Program Structure. 11 2.1 Types. 11 2.2 Alphabet and strings. 12 2.3 Lists. 14 2.4 Programs. 17 2.5 Computability. 22 2.6 Atomic programs. 25 3 Construction Rules. 29 3.1 Introduction. 29 3.2 Higher order programs. 30 3.3 Program extensions. 34 3.4 The program extension rule. 35 3.5 Program and I/O equivalence. 37 3.6 Additional construction rules. 38 3.7 Options file. 41 3.8 Connection List. 43 4 Disjunctions and False Programs 45 4.1 Axioms/theorems of falsity . 45 4.2 Disjunctions. 47 4.3 Additional disjunction rules. 52 5 Common applications axioms. 55 5.1 Introduction. 55 5.2 I/O type axioms. 56 5.3 Equality/equivalence type checking. 57 5.4 Special non-atomic programs. 58 5.5 Substitution rule. 61 5.6 Application specific axioms of falsity. 62 5.7 I/O data files of VPC. 62 iii 6 Arithmetic over I. 65 6.1 Introduction. 65 6.2 Atomic programs for arithmetic over I................. 67 6.3 Axioms of arithmetic over I....................... 70 6.4 Special non-atomic programs. 76 6.5 Algebraic identities over I........................ 77 6.6 Inequalities. 84 6.7 Semi-inequalities over I......................... 86 6.8 Absolute values over I.......................... 91 6.9 Arithmetic over J............................ 97 7 Finite Dynamical Systems. 101 7.1 Introduction. 101 7.2 Atomic iteration programs. 104 7.3 Discrete intervals. 105 7.4 Atomic programs. 107 7.5 Properties of discrete intervals. 113 7.6 Discrete interval arithmetic. 115 7.7 Axioms of computability. 116 7.8 The tent map. 118 7.9 Partitioned maps. 120 7.10 Multi-dimensional intervals. 121 8 Program Constructions as Proofs. 123 8.1 Human verses machine proofs. 123 8.2 PECR versus conventional theories of logic. 124 8.3 Exploring the Platonic world. 134 8.4 Some properties of the construction rules. 137 9 Arrays. 147 9.1 Dimension lists. 147 9.2 Array atomic programs. 150 9.3 Axioms for array arithmetic. 153 9.4 Scalar multiplication of arrays. 155 9.5 Compatibility. 158 9.6 Basic identities. 158 9.7 Array inequalities. 165 9.8 Linear assignment programs. 167 10 Matrices. 171 10.1 Atomic matrix programs. 171 10.2 Axioms for Matrices. 173 10.3 Compatibility. 175 10.4 Basic identities for matrices. 176 10.5 Linear systems of equations. 182 11 Dynamical Systems on Lattices. 185 iv 11.1 Introduction. 185 11.2 Dynamic networks. 186 11.3 Lattice network. 187 11.4 Lattice refinement. 189 11.5 Closure. 194 11.6 Discrete interval methods. 195 12 Formal Systems in Science. 199 12.1 Introduction. 199 12.2 Theorem connection lists. 204 12.3 Iteration. 205 12.4 The scientific method as a dynamical system. 209 v vi Chapter 1 Introduction. 1.1 Continuous versus discrete. Debates surrounding continuous versus discrete mathematics arise in many sub- disciplines of the mathematical sciences. Where this debate is of paramount importance can be found in the general area of computer modeling. While we will not be discussing any particular computer model in great detail, it is appropriate that we at least start with some background to this topic since it largely represents the motivation behind much of the discourse presented throughout this book. Computer modeling has become an important component of many scientific stud- ies. However, despite its widespread use in the sciences, computer modeling still has a reputation of taking on aspects of an art rather than an exact science. The reasons for this reputation are somewhat historic. While this field has provided many useful results and enhanced the insights into a wide area of scientific re- search there still remain weaknesses in the validation of computer models at a theoretical level. The difficulties largely originate from two, not entirely unrelated, sources. The controversy surrounding the existence of the real numbers, R, is a philosophical debate that has been around since antiquity. More recently, the existence of infinite sets, that are the basis of many mathematical abstractions, is also one that is contested in the philosophical arena. We may include within this debate the existence of the rationals, Q, and the integers, Z.