Theorem Proving in Lean
Release 3.23.0Theorem Proving in Lean Release 3.23.0 Jeremy Avigad, Leonardo de Moura, and Soonho Kong Apr 25, 2023 CONTENTS 1 Introduction 1 1.1 Computers and Theorem Proving . . . . . . . . . . . . . . . . . . . . . . . 163 Bibliography 167 iii iv CHAPTER ONE INTRODUCTION 1.1 Computers and Theorem Proving Formal verification involves the use of logical and computational methods to establish claims correctness becomes a form of theorem proving. Conversely, the proof of a mathematical theorem may require a lengthy computation, in which case verifying the truth of the theorem requires verifying that the0 码力 | 173 页 | 777.93 KB | 1 年前3
The Hitchhiker’s Guide to
Logical Verificationassis- tants, or interactive theorem provers, but a mischievous student coined the phase “proof-preventing beasts,” and dictation software occasionally misunderstands “theorem prover” as “fear improver.” ” Consider yourself warned. Rigorous and Formal Proofs Interactive theorem proving has its own terminol- ogy, already starting with the notion of “proof.” A formal proof is a logical argu- ment expressed ics have been the proof of the four-color theorem by Gonthier et al. [8], the proof 1https://www.scottaaronson.com/teaching.pdf vii of the odd-order theorem by Gonthier et al. [9], and the proof of the0 码力 | 215 页 | 1.95 MB | 1 年前3
An Introduction to Lean35 3.6 An Example: Abstract Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 36 4 Theorem Proving in Lean 38 4.1 Assertions in Dependent Type Theory . . . . . . . . . . . . . . . . . . . . programs can be written in Lean and run by the bytecode interpreter. In fact, a full-blown resolution theorem prover for Lean has been written in Lean itself. You can profile your code by setting the relevant expressed, and any theorem that can be proved using conventional mathematical means can be carried out formally, with enough effort. Here is a proof that the sum of two even numbers is even: theorem even_add :0 码力 | 48 页 | 191.92 KB | 1 年前3
Programming in Lean
Release 3.4.2This tutorial can be viewed as a companion to Theorem Proving in Lean, which presents Lean as a system for building mathematical libraries and stating and proving mathematical theorems. From that perspective ” or ff, for “false.” This provides another perspective on Lean: instead of thinking of it as a theorem prover whose language just happens to have a computational interpretation, think of it as a programming just happens to come equipped with a rich specification language and an interactive environment for proving that programs meet their specifications. The specification language and proof system are quite powerful0 码力 | 51 页 | 220.07 KB | 1 年前3
The Idris Tutorial Version 0.9.18rule — matching intermediate values . . . . . . . . . . . . . . . . . . . . . . . . . . 39 9 Theorem Proving 41 9.1 Equality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a ghci style interface which allows evaluation of, as well as type checking of, expressions; theorem proving, compilation; editing; and various other operations. The command :? gives a list of supported Definitions to complete the definition of parity. 40 Chapter 8. Views and the “with” rule CHAPTER 9 Theorem Proving 9.1 Equality Idris allows propositional equalities to be declared, allowing theorems about0 码力 | 69 页 | 316.20 KB | 1 年前3
The Idris Tutorial Version 0.11Idris Packages 35 8 Example: The Well-Typed Interpreter 37 9 Views and the “with” rule 41 10 Theorem Proving 43 11 Provisional Definitions 47 12 Interactive Editing 51 13 Syntax Extensions 55 14 Miscellany a ghci style interface which allows evaluation of, as well as type checking of, expressions; theorem proving, compilation; editing; and various other operations. The command :? gives a list of supported to complete the definition of parity. 42 Chapter 9. Views and the “with” rule CHAPTER 10 Theorem Proving 10.1 Equality Idris allows propositional equalities to be declared, allowing theorems about0 码力 | 71 页 | 314.20 KB | 1 年前3
The Idris Tutorial Version 0.9.20.1rule — matching intermediate values . . . . . . . . . . . . . . . . . . . . . . . . . . 41 10 Theorem Proving 43 10.1 Equality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a ghci style interface which allows evaluation of, as well as type checking of, expressions; theorem proving, compilation; editing; and various other operations. The command :? gives a list of supported to complete the definition of parity. 42 Chapter 9. Views and the “with” rule CHAPTER 10 Theorem Proving 10.1 Equality Idris allows propositional equalities to be declared, allowing theorems about0 码力 | 71 页 | 316.18 KB | 1 年前3
Agda User Manual v2.6.3Taste of Agda Preliminaries Programming With Dependent Types: Vectors Agda as a Proof Assistant: Proving Associativity of Addition Building an Executable Agda Program Where to go from here? A List of Tutorials type Fin 0. For more details, see the section on coverage checking. Agda as a Proof Assistant: Proving Associativity of Addition In this section we state and prove the associativity of addition on the that x and y are equal objects. By writing a function that returns an object of type x ≡ y, we are proving that the two terms are equal. Now we can state associativity: given three (possibly different) natural0 码力 | 379 页 | 354.83 KB | 1 年前3
Agda User Manual v2.6.2Taste of Agda Preliminaries Programming With Dependent Types: Vectors Agda as a Proof Assistant: Proving Associativity of Addition Building an Executable Agda Program Where to go from here? A List of Tutorials type Fin 0. For more details, see the section on coverage checking. Agda as a Proof Assistant: Proving Associativity of Addition In this section we state and prove the associativity of addition on the that x and y are equal objects. By writing a function that returns an object of type x ≡ y, we are proving that the two terms are equal. Now we can state associativity: given three (possibly different) natural0 码力 | 348 页 | 414.11 KB | 1 年前3
Agda User Manual v2.6.2.2Taste of Agda Preliminaries Programming With Dependent Types: Vectors Agda as a Proof Assistant: Proving Associativity of Addition Building an Executable Agda Program Where to go from here? A List of Tutorials type Fin 0. For more details, see the section on coverage checking. Agda as a Proof Assistant: Proving Associativity of Addition In this section we state and prove the associativity of addition on the that x and y are equal objects. By writing a function that returns an object of type x ≡ y, we are proving that the two terms are equal. Now we can state associativity: given three (possibly different) natural0 码力 | 354 页 | 433.60 KB | 1 年前3
共 180 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18













