aboutsummaryrefslogtreecommitdiffstats
path: root/backend/CSE3proof.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-13 18:59:00 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-13 18:59:00 +0100
commit5e569a91cbdf0357cc2df3fb542291e2ba2a8f70 (patch)
tree8f3b8b537fc4a2f7fc91d1c076c265392c6724e0 /backend/CSE3proof.v
parent2e47c928161eebb252fea056495a70d22884efc9 (diff)
downloadcompcert-kvx-5e569a91cbdf0357cc2df3fb542291e2ba2a8f70.tar.gz
compcert-kvx-5e569a91cbdf0357cc2df3fb542291e2ba2a8f70.zip
progress on inductiveness proof
Diffstat (limited to 'backend/CSE3proof.v')
-rw-r--r--backend/CSE3proof.v20
1 files changed, 18 insertions, 2 deletions
diff --git a/backend/CSE3proof.v b/backend/CSE3proof.v
index e18456d2..3cc48cca 100644
--- a/backend/CSE3proof.v
+++ b/backend/CSE3proof.v
@@ -365,6 +365,19 @@ Qed.
Hint Resolve sem_rhs_sop : cse3.
+Lemma sem_rhs_sload :
+ forall sp chunk addr rs args m a v,
+ eval_addressing ge sp addr rs ## args = Some a ->
+ Mem.loadv chunk m a = Some v ->
+ sem_rhs (genv:=ge) (sp:=sp) (SLoad chunk addr) args rs m v.
+Proof.
+ intros. simpl.
+ rewrite H. rewrite H0.
+ reflexivity.
+Qed.
+
+Hint Resolve sem_rhs_sload : cse3.
+
Ltac IND_STEP :=
match goal with
REW: (fn_code ?fn) ! ?mpc = Some ?minstr,
@@ -410,8 +423,11 @@ Proof.
exists (State ts tf sp pc' (rs # dst <- v) m). split.
+ admit.
+ econstructor; eauto.
- eapply wt_exec_Iload with (f:=f); try eassumption.
- eauto with wt.
+ * eapply wt_exec_Iload with (f:=f); try eassumption.
+ eauto with wt.
+ * IND_STEP.
+ apply oper_sound; eauto with cse3.
+
- (* Iload notrap1 *)
exists (State ts tf sp pc' (rs # dst <- Vundef) m). split.
+ admit.