diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-12-09 11:02:56 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2020-12-09 11:02:56 +0100 |
commit | a0529ae7a4eb991c39f258a8dbc003dd83ad3d36 (patch) | |
tree | 6d35230a3bccc42d7a3b8132957ea65b70fb9070 | |
parent | a54ea2bfba2ca35b968bbad36bd7e24e5da124c0 (diff) | |
download | compcert-kvx-a0529ae7a4eb991c39f258a8dbc003dd83ad3d36.tar.gz compcert-kvx-a0529ae7a4eb991c39f258a8dbc003dd83ad3d36.zip |
apply_cond_sound
-rw-r--r-- | backend/CSE3analysisproof.v | 14 |
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. |