mirror of
https://github.com/achlipala/frap.git
synced 2024-11-10 00:07:51 +00:00
Proofreading DeepAndShallowEmbeddings
This commit is contained in:
parent
d5c7b9d7ce
commit
7c06dc3541
2 changed files with 7 additions and 7 deletions
|
@ -22,9 +22,9 @@ Example h0 : heap := $0 $+ (0, 2) $+ (1, 1) $+ (2, 8) $+ (3, 6).
|
|||
Hint Rewrite max_l max_r using linear_arithmetic.
|
||||
|
||||
Ltac simp := repeat (simplify; subst; propositional;
|
||||
try match goal with
|
||||
| [ H : ex _ |- _ ] => invert H
|
||||
end); try linear_arithmetic.
|
||||
try match goal with
|
||||
| [ H : ex _ |- _ ] => invert H
|
||||
end); try linear_arithmetic.
|
||||
|
||||
|
||||
(** * Basic concepts of shallow, deep, and mixed embeddings *)
|
||||
|
@ -510,7 +510,7 @@ End Deep.
|
|||
Module Deeper.
|
||||
(* All programs in the last embedding must terminate, but let's add loops with
|
||||
* the potential to run forever, which takes us beyond what is representable
|
||||
* in the shallow embedding, since Gallina enforces terminating of all
|
||||
* in the shallow embedding, since Gallina enforces termination for all
|
||||
* programs. *)
|
||||
|
||||
(* We use this type to represent the outcome of a single loop iteration.
|
||||
|
|
|
@ -17,9 +17,9 @@ Example h0 : heap := $0 $+ (0, 2) $+ (1, 1) $+ (2, 8) $+ (3, 6).
|
|||
Hint Rewrite max_l max_r using linear_arithmetic.
|
||||
|
||||
Ltac simp := repeat (simplify; subst; propositional;
|
||||
try match goal with
|
||||
| [ H : ex _ |- _ ] => invert H
|
||||
end); try linear_arithmetic.
|
||||
try match goal with
|
||||
| [ H : ex _ |- _ ] => invert H
|
||||
end); try linear_arithmetic.
|
||||
|
||||
|
||||
(** * Basic concepts of shallow, deep, and mixed embeddings *)
|
||||
|
|
Loading…
Reference in a new issue