summaryrefslogtreecommitdiff
path: root/common/Smallstep.v
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2007-08-26 09:03:56 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2007-08-26 09:03:56 +0000
commit2b89ae94ffb6dc56fa780acced8ab7ad0afbb3b5 (patch)
tree5e47d0b27d94a85eefa3a5be27b7e45fa0941ff3 /common/Smallstep.v
parenteb5d2ceee173d65bb166f6ffbe8e7da965f43a4b (diff)
Ajout de common/Complements.v
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@405 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'common/Smallstep.v')
-rw-r--r--common/Smallstep.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/common/Smallstep.v b/common/Smallstep.v
index 7f6c776..f60746d 100644
--- a/common/Smallstep.v
+++ b/common/Smallstep.v
@@ -158,6 +158,16 @@ CoInductive forever (ge: genv): state -> traceinf -> Prop :=
step ge s1 t s2 -> forever ge s2 T ->
forever ge s1 (t *** T).
+Lemma star_forever:
+ forall ge s1 t s2, star ge s1 t s2 ->
+ forall T, forever ge s2 T ->
+ forever ge s1 (t *** T).
+Proof.
+ induction 1; intros. simpl. auto.
+ subst t. rewrite Eappinf_assoc.
+ econstructor; eauto.
+Qed.
+
(** An alternate, equivalent definition of [forever] that is useful
for coinductive reasoning. *)