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
Programming in Lean
Release 3.4.2A Tableau Prover for Classical Propositional Logic . . . . . . . . . . . . . . . . . . . . . . . . 43 i ii CHAPTER ONE INTRODUCTION This tutorial can be viewed as a companion to Theorem Proving in 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 programming language that 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 proof0 码力 | 51 页 | 220.07 KB | 1 年前3
The Idris Tutorial Version 0.11.2Release 0.11 The Idris Community May 18, 2016 Contents 1 Type Providers in Idris 3 2 The Interactive Theorem Prover 7 i ii Idris Tutorial Series, Release 0.11 Tutorials submitted by community members CHAPTER 2 The Interactive Theorem Prover This short guide contributed by a community member illustrates how to prove associativity of addition on Nat using the interactive theorem prover. First we define :warranty. Type checking ./Foo.idr Metavariables: Foo.rhs *Foo> 2.1 Explore the Context We start the interactive session by asking Idris to prove the hole rhs using the command :p rhs. Idris by default will show0 码力 | 14 页 | 120.71 KB | 1 年前3
The Idris Tutorial Version 0.12.10.12 The Idris Community July 26, 2016 Contents 1 Type Providers in Idris 3 2 The Interactive Theorem Prover 7 i ii Idris Tutorial Series, Release 0.12 Tutorials submitted by community members CHAPTER 2 The Interactive Theorem Prover This short guide contributed by a community member illustrates how to prove associativity of addition on Nat using the interactive theorem prover. First we define :warranty. Type checking ./Foo.idr Metavariables: Foo.rhs *Foo> 2.1 Explore the Context We start the interactive session by asking Idris to prove the hole rhs using the command :p rhs. Idris by default will show0 码力 | 14 页 | 120.74 KB | 1 年前3
The Idris Tutorial Version 0.12.3The Idris Community September 18, 2016 Contents 1 Type Providers in Idris 3 2 The Interactive Theorem Prover 7 i ii Idris Tutorial Series, Release 0.12.3 Tutorials submitted by community members CHAPTER 2 The Interactive Theorem Prover This short guide contributed by a community member illustrates how to prove associativity of addition on Nat using the interactive theorem prover. First we define :warranty. Type checking ./Foo.idr Metavariables: Foo.rhs *Foo> 2.1 Explore the Context We start the interactive session by asking Idris to prove the hole rhs using the command :p rhs. Idris by default will show0 码力 | 14 页 | 121.89 KB | 1 年前3
The Idris Tutorial Version 0.11.1Release 0.11 The Idris Community May 02, 2016 Contents 1 Type Providers in Idris 3 2 The Interactive Theorem Prover 7 i ii Idris Tutorial Series, Release 0.11 Tutorials submitted by community members CHAPTER 2 The Interactive Theorem Prover This short guide contributed by a community member illustrates how to prove associativity of addition on Nat using the interactive theorem prover. First we define :warranty. Type checking ./Foo.idr Metavariables: Foo.rhs *Foo> 2.1 Explore the Context We start the interactive session by asking Idris to prove the hole rhs using the command :p rhs. Idris by default will show0 码力 | 14 页 | 120.52 KB | 1 年前3
The Idris Tutorial Version 0.120.12 The Idris Community July 26, 2016 Contents 1 Type Providers in Idris 3 2 The Interactive Theorem Prover 7 i ii Idris Tutorial Series, Release 0.12 Tutorials submitted by community members CHAPTER 2 The Interactive Theorem Prover This short guide contributed by a community member illustrates how to prove associativity of addition on Nat using the interactive theorem prover. First we define :warranty. Type checking ./Foo.idr Metavariables: Foo.rhs *Foo> 2.1 Explore the Context We start the interactive session by asking Idris to prove the hole rhs using the command :p rhs. Idris by default will show0 码力 | 14 页 | 120.74 KB | 1 年前3
The Idris Tutorial Version 0.10.310.2 The Idris Community March 19, 2016 Contents 1 Type Providers in Idris 3 2 The Interactive Theorem Prover 7 i ii Idris Tutorial Series, Release 0.10.2 Tutorials submitted by community members CHAPTER 2 The Interactive Theorem Prover This short guide contributed by a community member illustrates how to prove associativity of addition on Nat using the interactive theorem prover. First we define :warranty. Type checking ./Foo.idr Metavariables: Foo.rhs *Foo> 2.1 Explore the Context We start the interactive session by asking Idris to prove the hole rhs using the command :p rhs. Idris by default will show0 码力 | 14 页 | 122.17 KB | 1 年前3
The Lean Reference Manual
Release 3.3.0for the project. 1.4 Using the Package Manager leanpkg is the package manager for the Lean theorem prover. It downloads dependencies and manages what modules you can import in your Lean files. This or structure declaration. Similarly, objects can be defined in various ways, such as using def, theorem, or the equation compiler. See Chapter 4 for more information. Writing an expression (t : α) forces Implicit Arguments When declaring arguments to defined objects in Lean (for example, with def, theorem, constant, inductive, or structure; see Chapter 4) or when declaring variables and parameters in0 码力 | 67 页 | 266.23 KB | 1 年前3
An Introduction to Lean. . 35 3.6 An Example: Abstract Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 36 4 Theorem Proving in Lean 38 4.1 Assertions in Dependent Type Theory . . . . . . . . . . . . . . . . . . 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 options: 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
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













