Computer Arithmetic and Formal Proofs


Book Description

Floating-point arithmetic is ubiquitous in modern computing, as it is the tool of choice to approximate real numbers. Due to its limited range and precision, its use can become quite involved and potentially lead to numerous failures. One way to greatly increase confidence in floating-point software is by computer-assisted verification of its correctness proofs. This book provides a comprehensive view of how to formally specify and verify tricky floating-point algorithms with the Coq proof assistant. It describes the Flocq formalization of floating-point arithmetic and some methods to automate theorem proofs. It then presents the specification and verification of various algorithms, from error-free transformations to a numerical scheme for a partial differential equation. The examples cover not only mathematical algorithms but also C programs as well as issues related to compilation. - Describes the notions of specification and weakest precondition computation and their practical use - Shows how to tackle algorithms that extend beyond the realm of simple floating-point arithmetic - Includes real analysis and a case study about numerical analysis




Proof and Disproof in Formal Logic


Book Description

Proof and Disproof in Formal Logic is a lively and entertaining introduction to formal logic providing an excellent insight into how a simple logic works. Formal logic allows you to check a logical claim without considering what the claim means. This highly abstracted idea is an essential and practical part of computer science. The idea of a formal system—a collection of rules and axioms which define a universe of logical proofs—is what gives us programming languages and modern-day programming. This book concentrates on using logic as a tool: making and using formal proofs and disproofs of particular logical claims. The logic it uses—natural deduction—is very small and very simple; working with it helps you see how large mathematical universes can be built on small foundations. The book is divided into four parts: · Part I "Basics" gives an introduction to formal logic with a short history of logic and explanations of some technical words. · Part II "Formal syntactic proof" show you how to do calculations in a formal system where you are guided by shapes and never need to think about meaning. Your experiments are aided by Jape, which can operate as both inquisitor and oracle. · Part III "Formal semantic disproof" shows you how to construct mathematical counterexamples to show that proof is impossible. Jape can check the counterexamples you build. · Part IV "Program specification and proof" describes how to apply your logical understanding to a real computer science problem, the accurate description and verification of programs. Jape helps, as far as arithmetic allows. Aimed at undergraduates and graduates in computer science, logic, mathematics, and philosophy, the text includes reference to and exercises based on the computer software package Jape, an interactive teaching and research tool designed and hosted by the author that is freely available on the web.




Proofs and Computations


Book Description

Driven by the question, 'What is the computational content of a (formal) proof?', this book studies fundamental interactions between proof theory and computability. It provides a unique self-contained text for advanced students and researchers in mathematical logic and computer science. Part I covers basic proof theory, computability and Gödel's theorems. Part II studies and classifies provable recursion in classical systems, from fragments of Peano arithmetic up to Π11-CA0. Ordinal analysis and the (Schwichtenberg-Wainer) subrecursive hierarchies play a central role and are used in proving the 'modified finite Ramsey' and 'extended Kruskal' independence results for PA and Π11-CA0. Part III develops the theoretical underpinnings of the first author's proof assistant MINLOG. Three chapters cover higher-type computability via information systems, a constructive theory TCF of computable functionals, realizability, Dialectica interpretation, computationally significant quantifiers and connectives and polytime complexity in a two-sorted, higher-type arithmetic with linear logic.




Computer Assisted Proof


Book Description

What Is Computer Assisted Proof A mathematical proof is considered to be computer-assisted if it has been generated by the computer in some way, even if just in part. How You Will Benefit (I) Insights, and validations about the following topics: Chapter 1: Computer-assisted proof Chapter 2: Mathematical proof Chapter 3: Theorem Chapter 4: Metamath Chapter 5: Model checking Chapter 6: Computer algebra Chapter 7: Formal verification Chapter 8: Validated numerics Chapter 9: Logic Theorist Chapter 10: Seventeen or Bust (II) Answering the public top questions about computer assisted proof. (III) Real world examples for the usage of computer assisted proof in many fields. (IV) 17 appendices to explain, briefly, 266 emerging technologies in each industry to have 360-degree full understanding of computer assisted proof' technologies. Who This Book Is For Professionals, undergraduate and graduate students, enthusiasts, hobbyists, and those who want to go beyond basic knowledge or information for any kind of computer assisted proof.




Concepts of Proof in Mathematics, Philosophy, and Computer Science


Book Description

A proof is a successful demonstration that a conclusion necessarily follows by logical reasoning from axioms which are considered evident for the given context and agreed upon by the community. It is this concept that sets mathematics apart from other disciplines and distinguishes it as the prototype of a deductive science. Proofs thus are utterly relevant for research, teaching and communication in mathematics and of particular interest for the philosophy of mathematics. In computer science, moreover, proofs have proved to be a rich source for already certified algorithms. This book provides the reader with a collection of articles covering relevant current research topics circled around the concept 'proof'. It tries to give due consideration to the depth and breadth of the subject by discussing its philosophical and methodological aspects, addressing foundational issues induced by Hilbert's Programme and the benefits of the arising formal notions of proof, without neglecting reasoning in natural language proofs and applications in computer science such as program extraction.




Proof And Computation Ii: From Proof Theory And Univalent Mathematics To Program Extraction And Verification


Book Description

This book is for graduate students and researchers, introducing modern foundational research in mathematics, computer science, and philosophy from an interdisciplinary point of view. Its scope includes proof theory, constructive mathematics and type theory, univalent mathematics and point-free approaches to topology, extraction of certified programs from proofs, automated proofs in the automotive industry, as well as the philosophical and historical background of proof theory. By filling the gap between (under-)graduate level textbooks and advanced research papers, the book gives a scholarly account of recent developments and emerging branches of the aforementioned fields.




Handbook of Floating-Point Arithmetic


Book Description

Floating-point arithmetic is the most widely used way of implementing real-number arithmetic on modern computers. However, making such an arithmetic reliable and portable, yet fast, is a very difficult task. As a result, floating-point arithmetic is far from being exploited to its full potential. This handbook aims to provide a complete overview of modern floating-point arithmetic. So that the techniques presented can be put directly into practice in actual coding or design, they are illustrated, whenever possible, by a corresponding program. The handbook is designed for programmers of numerical applications, compiler designers, programmers of floating-point algorithms, designers of arithmetic operators, and more generally, students and researchers in numerical analysis who wish to better understand a tool used in their daily work and research.




PROCEEDINGS OF THE 24TH CONFERENCE ON FORMAL METHODS IN COMPUTER-AIDED DESIGN – FMCAD 2024


Book Description

Die Proceedings zur Konferenz „Formal Methods in Computer-Aided Design 2024“ geben aktuelle Einblicke in ein spannendes Forschungsfeld. Zum fünften Mal erscheinen die Beiträge der Konferenzreihe „Formal Methods in Computer-Aided Design“ (FMCAD) als Konferenzband bei TU Wien Academic Press. Der aktuelle Band der seit 2006 jährlich veranstalteten Konferenzreihe präsentiert in 35 Beiträgen neueste wissenschaftliche Erkenntnisse aus dem Bereich des computergestützten Entwerfens. Die Beiträge behandeln formale Aspekte des computergestützten Systemdesigns einschließlich Verifikation, Spezifikation, Synthese und Test. Die FMCAD-Konferenz findet im Oktober 2024 in Prag, Tschechische Republik, statt. Sie gilt als führendes Forum im Bereich des computer-aided design und bietet seit ihrer Gründung Forschenden sowohl aus dem akademischen als auch dem industriellen Umfeld die Möglichkeit, sich auszutauschen und zu vernetzen.




Computer Aided Proofs in Analysis


Book Description

This IMA Volume in Mathematics and its Applications COMPUTER AIDED PROOFS IN ANALYSIS is based on the proceedings of an IMA Participating Institutions (PI) Conference held at the University of Cincinnati in April 1989. Each year the 19 Participating Institutions select, through a competitive process, several conferences proposals from the PIs, for partial funding. This conference brought together leading figures in a number of fields who were interested in finding exact answers to problems in analysis through computer methods. We thank Kenneth Meyer and Dieter Schmidt for organizing the meeting and editing the proceedings. A vner Friedman Willard Miller, Jr. PREFACE Since the dawn of the computer revolution the vast majority of scientific compu tation has dealt with finding approximate solutions of equations. However, during this time there has been a small cadre seeking precise solutions of equations and rigorous proofs of mathematical results. For example, number theory and combina torics have a long history of computer-assisted proofs; such methods are now well established in these fields. In analysis the use of computers to obtain exact results has been fragmented into several schools.




Handbook of Logic and Proof Techniques for Computer Science


Book Description

Logic is, and should be, the core subject area of modern mathemat ics. The blueprint for twentieth century mathematical thought, thanks to Hilbert and Bourbaki, is the axiomatic development of the subject. As a result, logic plays a central conceptual role. At the same time, mathematical logic has grown into one of the most recondite areas of mathematics. Most of modern logic is inaccessible to all but the special ist. Yet there is a need for many mathematical scientists-not just those engaged in mathematical research-to become conversant with the key ideas of logic. The Handbook of Mathematical Logic, edited by Jon Bar wise, is in point of fact a handbook written by logicians for other mathe maticians. It was, at the time of its writing, encyclopedic, authoritative, and up-to-the-moment. But it was, and remains, a comprehensive and authoritative book for the cognoscenti. The encyclopedic Handbook of Logic in Computer Science by Abramsky, Gabbay, and Maibaum is a wonderful resource for the professional. But it is overwhelming for the casual user. There is need for a book that introduces important logic terminology and concepts to the working mathematical scientist who has only a passing acquaintance with logic. Thus the present work has a different target audience. The intent of this handbook is to present the elements of modern logic, including many current topics, to the reader having only basic mathe matical literacy.