Author: Samuel Mimram
Publisher:
ISBN:
Category :
Languages : en
Pages : 539
Book Description
This course provides a first introduction to the Curry-Howard correspondence between programs and proofs, from a theoretical programmer's perspective: we want to understand the theory behind logic and programming languages, but also to write concrete programs (in OCaml) and proofs (in Agda). After an introduction to functional programming languages, we present propositional logic, λ-calculus, the Curry-Howard correspondence, first-order logic, Agda, dependent types and homotopy type theory.
Program = Proof
Author: Samuel Mimram
Publisher:
ISBN:
Category :
Languages : en
Pages : 539
Book Description
This course provides a first introduction to the Curry-Howard correspondence between programs and proofs, from a theoretical programmer's perspective: we want to understand the theory behind logic and programming languages, but also to write concrete programs (in OCaml) and proofs (in Agda). After an introduction to functional programming languages, we present propositional logic, λ-calculus, the Curry-Howard correspondence, first-order logic, Agda, dependent types and homotopy type theory.
Publisher:
ISBN:
Category :
Languages : en
Pages : 539
Book Description
This course provides a first introduction to the Curry-Howard correspondence between programs and proofs, from a theoretical programmer's perspective: we want to understand the theory behind logic and programming languages, but also to write concrete programs (in OCaml) and proofs (in Agda). After an introduction to functional programming languages, we present propositional logic, λ-calculus, the Curry-Howard correspondence, first-order logic, Agda, dependent types and homotopy type theory.
Interactive Theorem Proving and Program Development
Author: Yves Bertot
Publisher: Springer Science & Business Media
ISBN: 366207964X
Category : Mathematics
Languages : en
Pages : 492
Book Description
A practical introduction to the development of proofs and certified programs using Coq. An invaluable tool for researchers, students, and engineers interested in formal methods and the development of zero-fault software.
Publisher: Springer Science & Business Media
ISBN: 366207964X
Category : Mathematics
Languages : en
Pages : 492
Book Description
A practical introduction to the development of proofs and certified programs using Coq. An invaluable tool for researchers, students, and engineers interested in formal methods and the development of zero-fault software.
Certified Programming with Dependent Types
Author: Adam Chlipala
Publisher: MIT Press
ISBN: 0262317885
Category : Computers
Languages : en
Pages : 437
Book Description
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engineering focus. The technology of mechanized program verification can play a supporting role in many kinds of research projects in computer science, and related tools for formal proof-checking are seeing increasing adoption in mathematics and engineering. This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time. Two topics, rarely discussed elsewhere, are covered in detail: effective dependently typed programming (making productive use of a feature at the heart of the Coq system) and construction of domain-specific proof tactics. Almost every subject covered is also relevant to interactive computer theorem proving in general, not just program verification, demonstrated through examples of verified programs applied in many different sorts of formalizations. The book develops a unique automated proof style and applies it throughout; even experienced Coq users may benefit from reading about basic Coq concepts from this novel perspective. The book also offers a library of tactics, or programs that find proofs, designed for use with examples in the book. Readers will acquire the necessary skills to reimplement these tactics in other settings by the end of the book. All of the code appearing in the book is freely available online.
Publisher: MIT Press
ISBN: 0262317885
Category : Computers
Languages : en
Pages : 437
Book Description
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engineering focus. The technology of mechanized program verification can play a supporting role in many kinds of research projects in computer science, and related tools for formal proof-checking are seeing increasing adoption in mathematics and engineering. This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time. Two topics, rarely discussed elsewhere, are covered in detail: effective dependently typed programming (making productive use of a feature at the heart of the Coq system) and construction of domain-specific proof tactics. Almost every subject covered is also relevant to interactive computer theorem proving in general, not just program verification, demonstrated through examples of verified programs applied in many different sorts of formalizations. The book develops a unique automated proof style and applies it throughout; even experienced Coq users may benefit from reading about basic Coq concepts from this novel perspective. The book also offers a library of tactics, or programs that find proofs, designed for use with examples in the book. Readers will acquire the necessary skills to reimplement these tactics in other settings by the end of the book. All of the code appearing in the book is freely available online.
Mechanizing Proof
Author: Donald MacKenzie
Publisher: MIT Press
ISBN: 9780262632959
Category : Social Science
Languages : en
Pages : 448
Book Description
Most aspects of our private and social lives—our safety, the integrity of the financial system, the functioning of utilities and other services, and national security—now depend on computing. But how can we know that this computing is trustworthy? In Mechanizing Proof, Donald MacKenzie addresses this key issue by investigating the interrelations of computing, risk, and mathematical proof over the last half century from the perspectives of history and sociology. His discussion draws on the technical literature of computer science and artificial intelligence and on extensive interviews with participants. MacKenzie argues that our culture now contains two ideals of proof: proof as traditionally conducted by human mathematicians, and formal, mechanized proof. He describes the systems constructed by those committed to the latter ideal and the many questions those systems raise about the nature of proof. He looks at the primary social influence on the development of automated proof—the need to predict the behavior of the computer systems upon which human life and security depend—and explores the involvement of powerful organizations such as the National Security Agency. He concludes that in mechanizing proof, and in pursuing dependable computer systems, we do not obviate the need for trust in our collective human judgment.
Publisher: MIT Press
ISBN: 9780262632959
Category : Social Science
Languages : en
Pages : 448
Book Description
Most aspects of our private and social lives—our safety, the integrity of the financial system, the functioning of utilities and other services, and national security—now depend on computing. But how can we know that this computing is trustworthy? In Mechanizing Proof, Donald MacKenzie addresses this key issue by investigating the interrelations of computing, risk, and mathematical proof over the last half century from the perspectives of history and sociology. His discussion draws on the technical literature of computer science and artificial intelligence and on extensive interviews with participants. MacKenzie argues that our culture now contains two ideals of proof: proof as traditionally conducted by human mathematicians, and formal, mechanized proof. He describes the systems constructed by those committed to the latter ideal and the many questions those systems raise about the nature of proof. He looks at the primary social influence on the development of automated proof—the need to predict the behavior of the computer systems upon which human life and security depend—and explores the involvement of powerful organizations such as the National Security Agency. He concludes that in mechanizing proof, and in pursuing dependable computer systems, we do not obviate the need for trust in our collective human judgment.
Proof And Computation Ii: From Proof Theory And Univalent Mathematics To Program Extraction And Verification
Author: Klaus Mainzer
Publisher: World Scientific
ISBN: 9811236496
Category : Mathematics
Languages : en
Pages : 425
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.
Publisher: World Scientific
ISBN: 9811236496
Category : Mathematics
Languages : en
Pages : 425
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.
Robot-Proof, revised and updated edition
Author: Joseph E. Aoun
Publisher: MIT Press
ISBN: 0262549859
Category : Education
Languages : en
Pages : 221
Book Description
A fresh look at a “robot-proof” education in the new age of generative AI. In 2017, Robot-Proof, the first edition, foresaw the advent of the AI economy and called for a new model of higher education designed to help human beings flourish alongside smart machines. That economy has arrived. Creative tasks that, seven years ago, seemed resistant to automation can now be performed with a simple prompt. As a result, we must now learn not only to be conversant with these technologies, but also to comprehend and deploy their outputs. In this revised and updated edition, Joseph Aoun rethinks the university’s mission for a world transformed by AI, advocating for the lifelong endeavor of a “robot-proof” education. Aoun puts forth a framework for a new curriculum, humanics, which integrates technological, data, and human literacies in an experiential setting, and he renews the call for universities to embrace lifelong learning through a social compact with government, employers, and learners themselves. Drawing on the latest developments and debates around generative AI, Robot-Proof is a blueprint for the university as a force for human reinvention in an era of technological change—an era in which we must constantly renegotiate the shifting boundaries between artificial intelligence and the capacities that remain uniquely human.
Publisher: MIT Press
ISBN: 0262549859
Category : Education
Languages : en
Pages : 221
Book Description
A fresh look at a “robot-proof” education in the new age of generative AI. In 2017, Robot-Proof, the first edition, foresaw the advent of the AI economy and called for a new model of higher education designed to help human beings flourish alongside smart machines. That economy has arrived. Creative tasks that, seven years ago, seemed resistant to automation can now be performed with a simple prompt. As a result, we must now learn not only to be conversant with these technologies, but also to comprehend and deploy their outputs. In this revised and updated edition, Joseph Aoun rethinks the university’s mission for a world transformed by AI, advocating for the lifelong endeavor of a “robot-proof” education. Aoun puts forth a framework for a new curriculum, humanics, which integrates technological, data, and human literacies in an experiential setting, and he renews the call for universities to embrace lifelong learning through a social compact with government, employers, and learners themselves. Drawing on the latest developments and debates around generative AI, Robot-Proof is a blueprint for the university as a force for human reinvention in an era of technological change—an era in which we must constantly renegotiate the shifting boundaries between artificial intelligence and the capacities that remain uniquely human.
The Programming and Proof System ATES
Author: Armand Puccetti
Publisher: Springer Science & Business Media
ISBN: 3642845428
Category : Computers
Languages : en
Pages : 349
Book Description
Today, people use a large number of "systems" ranging in complexity from washing machines to international airline reservation systems. Computers are used in nearly all such systems: accuracy and security are becoming increasingly essential. The design of such computer systems should make use of development methods as systematic as those used in other engineering disciplines. A systematic development method must provide a way of writing specifications which are both precise and concise; it must also supply a way of relating design to specification. A concise specification can be achieved by restricting attention to what a system has to do: all considerations of implementation details are postponed. With computer systems, this is done by: 1) building an abstract model of the system -operations being specified by pre-and post-conditions; 2) defining languages by mapping program texts onto some collection of objects modelizing the concepts of the system to be dealt with, whose meaning is understood; 3) defining complex data objects in terms of abstractions known from mathematics. This last topic, the use of abstract data types, pervades all work on specifications and is necessary in order to apply ideas to systems of significant complexity. The use of mathematics based notations is the best way to achieve precision. 1.1 ABSTRACT DATA TYPES, PROOF TECHNIQUES From a practical point of view, a solution to these three problems consists to introduce abstract data types in the programming languages, and to consider formal proof methods.
Publisher: Springer Science & Business Media
ISBN: 3642845428
Category : Computers
Languages : en
Pages : 349
Book Description
Today, people use a large number of "systems" ranging in complexity from washing machines to international airline reservation systems. Computers are used in nearly all such systems: accuracy and security are becoming increasingly essential. The design of such computer systems should make use of development methods as systematic as those used in other engineering disciplines. A systematic development method must provide a way of writing specifications which are both precise and concise; it must also supply a way of relating design to specification. A concise specification can be achieved by restricting attention to what a system has to do: all considerations of implementation details are postponed. With computer systems, this is done by: 1) building an abstract model of the system -operations being specified by pre-and post-conditions; 2) defining languages by mapping program texts onto some collection of objects modelizing the concepts of the system to be dealt with, whose meaning is understood; 3) defining complex data objects in terms of abstractions known from mathematics. This last topic, the use of abstract data types, pervades all work on specifications and is necessary in order to apply ideas to systems of significant complexity. The use of mathematics based notations is the best way to achieve precision. 1.1 ABSTRACT DATA TYPES, PROOF TECHNIQUES From a practical point of view, a solution to these three problems consists to introduce abstract data types in the programming languages, and to consider formal proof methods.
Concrete Semantics
Author: Tobias Nipkow
Publisher: Springer
ISBN: 3319105426
Category : Computers
Languages : en
Pages : 304
Book Description
Part I of this book is a practical introduction to working with the Isabelle proof assistant. It teaches you how to write functional programs and inductive definitions and how to prove properties about them in Isabelle’s structured proof language. Part II is an introduction to the semantics of imperative languages with an emphasis on applications like compilers and program analysers. The distinguishing feature is that all the mathematics has been formalised in Isabelle and much of it is executable. Part I focusses on the details of proofs in Isabelle; Part II can be read even without familiarity with Isabelle’s proof language, all proofs are described in detail but informally. The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts. In this sense it represents a formal approach to computer science, not just semantics. The Isabelle formalisation, including the proofs and accompanying slides, are freely available online, and the book is suitable for graduate students, advanced undergraduate students, and researchers in theoretical computer science and logic.
Publisher: Springer
ISBN: 3319105426
Category : Computers
Languages : en
Pages : 304
Book Description
Part I of this book is a practical introduction to working with the Isabelle proof assistant. It teaches you how to write functional programs and inductive definitions and how to prove properties about them in Isabelle’s structured proof language. Part II is an introduction to the semantics of imperative languages with an emphasis on applications like compilers and program analysers. The distinguishing feature is that all the mathematics has been formalised in Isabelle and much of it is executable. Part I focusses on the details of proofs in Isabelle; Part II can be read even without familiarity with Isabelle’s proof language, all proofs are described in detail but informally. The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts. In this sense it represents a formal approach to computer science, not just semantics. The Isabelle formalisation, including the proofs and accompanying slides, are freely available online, and the book is suitable for graduate students, advanced undergraduate students, and researchers in theoretical computer science and logic.
Adapting Proofs-as-Programs
Author: Iman Poernomo
Publisher: Springer Science & Business Media
ISBN: 0387281835
Category : Computers
Languages : en
Pages : 417
Book Description
This monograph details several important advances in the direction of a practical proofs-as-programs paradigm, which constitutes a set of approaches to developing programs from proofs in constructive logic with applications to industrial-scale, complex software engineering problems. One of the books central themes is a general, abstract framework for developing new systems of programs synthesis by adapting proofs-as-programs to new contexts.
Publisher: Springer Science & Business Media
ISBN: 0387281835
Category : Computers
Languages : en
Pages : 417
Book Description
This monograph details several important advances in the direction of a practical proofs-as-programs paradigm, which constitutes a set of approaches to developing programs from proofs in constructive logic with applications to industrial-scale, complex software engineering problems. One of the books central themes is a general, abstract framework for developing new systems of programs synthesis by adapting proofs-as-programs to new contexts.
Metamathematics, Machines and Gödel's Proof
Author: N. Shankar
Publisher: Cambridge University Press
ISBN: 9780521585330
Category : Computers
Languages : en
Pages : 224
Book Description
Describes the use of computer programs to check several proofs in the foundations of mathematics.
Publisher: Cambridge University Press
ISBN: 9780521585330
Category : Computers
Languages : en
Pages : 224
Book Description
Describes the use of computer programs to check several proofs in the foundations of mathematics.