The Hitchhiker’s Guide to
Logical Verification2.1 Tactic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2 Basic Tactics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3 Reasoning about Connectives 4 Reasoning about Equality . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5 Rewriting Tactics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6 Proofs by Mathematical Induction Induction Tactic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.8 Cleanup Tactics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.9 Summary of New Lean Constructs0 码力 | 215 页 | 1.95 MB | 1 年前3
Theorem Proving in Lean
Release 3.23.0. . . . . . . . . . . 49 5 Tactics 53 5.1 Entering Tactic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2 Basic Tactics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.3 More Tactics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4 Structuring Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.6 Tactics for Inductive Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 173 页 | 777.93 KB | 1 年前3
The Lean Reference Manual
Release 3.3.0. . . . . . . . . . . . 43 6 Tactics 45 6.1 Tactic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.2 Basic Tactics . . . . . . . . . . . . . . . and Congruence Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.9 Other Tactics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.10 style of writing proofs is most effective when it is used in conjunction with the simp and rewrite tactics. 3.7 Computation Two expressions that differ up to a renaming of their bound variables are said0 码力 | 67 页 | 266.23 KB | 1 年前3
Programming in Lean
Release 3.4.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5 Writing Tactics 31 5.1 A First Look at the Tactic Monad . . . . . . . . . . . . . . . . . . . . . . . . . . . . value a if a is of the form some a0, and b otherwise. 30 Chapter 4. Monads CHAPTER FIVE WRITING TACTICS 5.1 A First Look at the Tactic Monad The canonical way to invoke a tactic in Lean is to use the and the option monad. Because it is a monad, we have the usual do notation. So, if r, s, and t are tactics, you should think of do a ← r, b ← s, t as meaning “apply tactic r to the state, and store the0 码力 | 51 页 | 220.07 KB | 1 年前3
Lean 2 Quick Referencefor calc-expressions, tactics and simplifier symm : symmetry lemma, used for calc-expressions, tactics and simplifier trans : transitivity lemma, used for calc-expressions, tactics and simplifier subst definitions have : introduce auxiliary fact (opaque, in the body) assert : like "have", but visible to tactics show : make result type explicit suffices : show that the goal follows from this fact obtain ... name. Tactic Mode At any point in a proof or definition you can switch to tactic mode and apply tactics to finish that part of the proof or definition. begin ... end : enter tactic mode, and blocking0 码力 | 9 页 | 62.97 KB | 1 年前3
An Introduction to Leandistributivity of multiplication over addition. Lean supports another style of writing proofs, namely, using tactics. These are instruc- tions, or procedures, that tell Lean how to construct the requisite expression virtual machine, however, handles calls to the API appropriately. This makes it possible to write Lean tactics in Lean itself. For example, the procedure contra_aux searches through two lists of expressions, to the environment. Substantial tactics can be written in such a way, even, as noted above, a full-blown resolution theorem prover. Indeed, many of Lean’s core tactics are implemented in Lean itself. The0 码力 | 48 页 | 191.92 KB | 1 年前3
Lean in Leaneffectively infinite number of states, and then verified the property using Lean. We used some custom tactics for proving the correctness of the byte-level serialization/ deserialization routines, defined an behavior of individual components, and then verified those components primarily using existing Lean tactics.” https://github.com/GaloisInc/lean-protocol-support SQL Query Equivalence Checker Axiomatic Trace messages are just strings. Lean 4 • Implement Lean in Lean • Parser, elaborator, compiler, tactics and formatter. • Hygienic macro system. • Structured trace messages. • Only the runtime and basic0 码力 | 54 页 | 4.78 MB | 1 年前3
Advancing the Tactical Edge with K3s and SUSE RGSdoes support distrib- uted processing across devices.” Pioneering a New Frontier in Military Tactics As the innovation team at Booz Allen have come to understand, many organiza- tions continue to Not only can I check my heart rate, I can check yours too, look after my team better, adjust my tactics ac- cording to environmental and physical fac- tors. This drives better outcomes.” Historically0 码力 | 8 页 | 888.26 KB | 1 年前3
Agda User Manual v2.6.1.3that they are solved rules out many useful cases in practice. Tactic arguments You can declare tactics to be used to solve a particular implicit argument using the @(tactic t) attribute, where t : Term hole v thm : (a b : Nat) → plus-to-times (a + b) ≡ a * b thm a b = refl Macros lets you write tactics that can be applied without any syntactic overhead. For instance, suppose you have a solver: magic magic tactic as a normal function: thm : ¬ P ≡ NP thm = by-magic Tactic Arguments You can declare tactics to be used to solve a particular implicit argument using a @(tactic t) annotation. The provided tactic0 码力 | 305 页 | 375.80 KB | 1 年前3
Agda User Manual v2.6.1.2that they are solved rules out many useful cases in practice. Tactic arguments You can declare tactics to be used to solve a particular implicit argument using the @(tactic t) attribute, where t : Term hole v thm : (a b : Nat) → plus-to-times (a + b) ≡ a * b thm a b = refl Macros lets you write tactics that can be applied without any syntactic overhead. For instance, suppose you have a solver: magic magic tactic as a normal function: thm : ¬ P ≡ NP thm = by-magic Tactic Arguments You can declare tactics to be used to solve a particular implicit argument using a @(tactic t) annotation. The provided tactic0 码力 | 304 页 | 375.60 KB | 1 年前3
共 67 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













