mirror of
https://github.com/achlipala/frap.git
synced 2024-11-27 23:06:20 +00:00
Revising for Wednesday's lecture
This commit is contained in:
parent
eb53c0d714
commit
955fd59327
2 changed files with 20 additions and 20 deletions
|
@ -50,7 +50,7 @@ Unset Printing All.
|
|||
* theorem. This Ltac procedure always works (at least on machines with
|
||||
* infinite resources), but it has a serious drawback, which we see when we
|
||||
* print the proof it generates that 256 is even. The final proof term has
|
||||
* length super-linear in the input value, which we reveal with
|
||||
* length superlinear in the input value, which we reveal with
|
||||
* [Set Printing All], to disable all syntactic niceties and show every node of
|
||||
* the internal proof AST. The problem is that each [Even_SS] application needs
|
||||
* a choice of [n], and we wind up giving every even number from 0 to 254 in
|
||||
|
@ -59,7 +59,7 @@ Unset Printing All.
|
|||
* It is also unfortunate not to have static-typing guarantees that our tactic
|
||||
* always behaves appropriately. Other invocations of similar tactics might
|
||||
* fail with dynamic type errors, and we would not know about the bugs behind
|
||||
* these errors until we happened to attempt to prove complex enough goals.
|
||||
* these errors until we happened to attempt to prove complex-enough goals.
|
||||
*
|
||||
* The techniques of proof by reflection address both complaints. We will be
|
||||
* able to write proofs like in the example above with constant size overhead
|
||||
|
@ -416,7 +416,7 @@ Proof.
|
|||
|
||||
apply multiStepClosure_ok.
|
||||
simplify.
|
||||
(* Here we'll see that the Frap libary uses slightly different, optimized
|
||||
(* Here we'll see that the Frap library uses slightly different, optimized
|
||||
* versions of the model-checking relations. For instance, [multiStepClosure]
|
||||
* takes an extra set argument, the _worklist_ recording newly discovered
|
||||
* states. There is no point in following edges out of states that were
|
||||
|
|
|
@ -171,7 +171,7 @@ Proof.
|
|||
|
||||
apply multiStepClosure_ok.
|
||||
simplify.
|
||||
(* Here we'll see that the Frap libary uses slightly different, optimized
|
||||
(* Here we'll see that the Frap library uses slightly different, optimized
|
||||
* versions of the model-checking relations. For instance, [multiStepClosure]
|
||||
* takes an extra set argument, the _worklist_ recording newly discovered
|
||||
* states. There is no point in following edges out of states that were
|
||||
|
|
Loading…
Reference in a new issue