aboutsummaryrefslogtreecommitdiffstats
path: root/backend
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-12-09 11:02:56 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-12-09 11:02:56 +0100
commita0529ae7a4eb991c39f258a8dbc003dd83ad3d36 (patch)
tree6d35230a3bccc42d7a3b8132957ea65b70fb9070 /backend
parenta54ea2bfba2ca35b968bbad36bd7e24e5da124c0 (diff)
downloadcompcert-kvx-a0529ae7a4eb991c39f258a8dbc003dd83ad3d36.tar.gz
compcert-kvx-a0529ae7a4eb991c39f258a8dbc003dd83ad3d36.zip
apply_cond_sound
Diffstat (limited to 'backend')
-rw-r--r--backend/CSE3analysisproof.v14
1 files changed, 14 insertions, 0 deletions
diff --git a/backend/CSE3analysisproof.v b/backend/CSE3analysisproof.v
index a012771c..29d171eb 100644
--- a/backend/CSE3analysisproof.v
+++ b/backend/CSE3analysisproof.v
@@ -1341,6 +1341,20 @@ Section SOUNDNESS.
unfold sem_rel in REL.
eapply REL; eassumption.
Qed.
+
+ Lemma apply_cond_sound :
+ forall pc cond args rel rs m
+ (COND : (eval_condition cond (rs ## args) m) = Some true)
+ (REL : (sem_rel rel rs m)),
+ (sem_rel_b (apply_cond (ctx:=ctx) pc cond args rel) rs m).
+ Proof.
+ unfold apply_cond.
+ intros.
+ pose proof (apply_cond1_sound pc cond args rel rs m COND REL) as SOUND1.
+ destruct apply_cond1 eqn:COND1.
+ { apply apply_cond0_sound; auto. }
+ exact SOUND1.
+ Qed.
(*
Section INDUCTIVENESS.