aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Duplicateproof.v
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-09-04 11:49:32 +0200
committerCyril SIX <cyril.six@kalray.eu>2019-09-04 11:49:32 +0200
commit4a5f1db8abe7831649f6f15178958e0c57955a25 (patch)
tree9c7c227494b39b5b6d2228983ee228309caba1f2 /backend/Duplicateproof.v
parentf91f8296b6d2f663878223d473cd9e887403f73f (diff)
downloadcompcert-kvx-4a5f1db8abe7831649f6f15178958e0c57955a25.tar.gz
compcert-kvx-4a5f1db8abe7831649f6f15178958e0c57955a25.zip
Duplicate: exec_function_internal
Diffstat (limited to 'backend/Duplicateproof.v')
-rw-r--r--backend/Duplicateproof.v36
1 files changed, 34 insertions, 2 deletions
diff --git a/backend/Duplicateproof.v b/backend/Duplicateproof.v
index b30c2c14..69fc41ae 100644
--- a/backend/Duplicateproof.v
+++ b/backend/Duplicateproof.v
@@ -144,15 +144,47 @@ Theorem transf_final_states:
forall s1 s2 r,
match_states s1 s2 -> final_state s1 r -> final_state s2 r.
Proof.
-Admitted.
+ intros. inv H0. inv H. inv STACKS. constructor.
+Qed.
Theorem step_simulation:
forall s1 t s1', step ge s1 t s1' ->
- forall s2, match_states s1 s2 ->
+ forall s2 (MS: match_states s1 s2),
exists s2',
step tge s2 t s2'
/\ match_states s1' s2'.
Proof.
+ induction 1; intros; inv MS.
+(* Inop *)
+ - admit.
+(* Iop *)
+ - admit.
+(* Iload *)
+ - admit.
+(* Istore *)
+ - admit.
+(* Icall *)
+ - admit.
+(* Itailcall *)
+ - admit.
+(* Ibuiltin *)
+ - admit.
+(* Icond *)
+ - admit.
+(* Ijumptable *)
+ - admit.
+(* Ireturn *)
+ - admit.
+(* exec_function_internal *)
+ - monadInv TRANSF. eexists. split.
+ + econstructor. erewrite <- transf_function_fnstacksize; eauto.
+ + erewrite transf_function_fnentrypoint; eauto.
+ erewrite transf_function_fnparams; eauto.
+ econstructor; eauto. constructor.
+(* exec_function_external *)
+ - admit.
+(* exec_return *)
+ - admit.
Admitted.
Theorem transf_program_correct: