Proofreading DeepAndShallowEmbeddings

This commit is contained in:
Adam Chlipala 2018-04-22 14:07:01 -04:00
parent d5c7b9d7ce
commit 7c06dc3541
2 changed files with 7 additions and 7 deletions

View file

@ -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.

View file

@ -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 *)