aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling/BTL_SEtheory.v
diff options
context:
space:
mode:
authorSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2021-06-10 08:15:06 +0200
committerSylvain Boulmé <sylvain.boulme@univ-grenoble-alpes.fr>2021-06-10 08:15:06 +0200
commit6c0efaa166b1acbabcdcd051c5ec389b9b562fe6 (patch)
treeb819feeb52867c45d62c8c803ed7ddec5b472de2 /scheduling/BTL_SEtheory.v
parent492a71c60c0dbc810f50b75bdf820c2acfc88d7d (diff)
downloadcompcert-kvx-6c0efaa166b1acbabcdcd051c5ec389b9b562fe6.tar.gz
compcert-kvx-6c0efaa166b1acbabcdcd051c5ec389b9b562fe6.zip
remove history
Diffstat (limited to 'scheduling/BTL_SEtheory.v')
-rw-r--r--scheduling/BTL_SEtheory.v18
1 files changed, 10 insertions, 8 deletions
diff --git a/scheduling/BTL_SEtheory.v b/scheduling/BTL_SEtheory.v
index 9074b071..5a94b235 100644
--- a/scheduling/BTL_SEtheory.v
+++ b/scheduling/BTL_SEtheory.v
@@ -25,6 +25,8 @@ Record iblock_exec_context := Bctx {
(** * Syntax and semantics of symbolic values *)
+(* TODO: introduire les hash-code directement ici - avec les "fake" smart constructors qui mettent un unknown_hid ? *)
+
(* symbolic value *)
Inductive sval :=
| Sundef
@@ -717,12 +719,12 @@ Record soutcome := sout {
_sfv: sfval;
}.
-Fixpoint run_sem_isstate ctx (st:sstate): option soutcome :=
+Fixpoint get_soutcome ctx (st:sstate): option soutcome :=
match st with
| Sfinal sis sfv => Some (sout sis sfv)
| Scond cond args ifso ifnot =>
SOME b <- seval_condition ctx cond args IN
- run_sem_isstate ctx (if b then ifso else ifnot)
+ get_soutcome ctx (if b then ifso else ifnot)
| Sabort => None
end.
@@ -742,7 +744,7 @@ Inductive sem_sstate ctx stk t s: sstate -> Prop :=
Lemma sem_sstate_run ctx stk st t s:
sem_sstate ctx stk t s st ->
exists sis sfv rs m,
- run_sem_isstate ctx st = Some (sout sis sfv)
+ get_soutcome ctx st = Some (sout sis sfv)
/\ sem_sistate ctx sis (str_regs (cf ctx) sfv rs) m
/\ sem_sfval ctx stk sfv rs m t s
.
@@ -753,7 +755,7 @@ Qed.
Local Hint Resolve sem_Sfinal: core.
Lemma run_sem_sstate ctx st sis sfv:
- run_sem_isstate ctx st = Some (sout sis sfv) ->
+ get_soutcome ctx st = Some (sout sis sfv) ->
forall rs m stk s t,
sem_sistate ctx sis (str_regs (cf ctx) sfv rs) m ->
sem_sfval ctx stk sfv rs m t s ->
@@ -1154,8 +1156,8 @@ Qed.
Definition sstate_simu {f1 f2} (ctx: simu_proof_context f1 f2) (st1 st2:sstate): Prop :=
- forall sis1 sfv1, run_sem_isstate (bctx1 ctx) st1 = Some (sout sis1 sfv1) -> si_ok (bctx1 ctx) sis1 ->
- exists sis2 sfv2, run_sem_isstate (bctx2 ctx) st2 = Some (sout sis2 sfv2)
+ forall sis1 sfv1, get_soutcome (bctx1 ctx) st1 = Some (sout sis1 sfv1) -> si_ok (bctx1 ctx) sis1 ->
+ exists sis2 sfv2, get_soutcome (bctx2 ctx) st2 = Some (sout sis2 sfv2)
/\ sistate_simu ctx sis1 sis2
/\ (forall rs m, sem_sistate (bctx1 ctx) sis1 rs m -> sfv_simu ctx sfv1 sfv2)
.
@@ -1261,8 +1263,8 @@ Proof.
Qed.
(* TODO: useless ?
-Lemma run_sem_isstate_preserved sis:
- run_sem_isstate (bctx1 ctx) sis = run_sem_isstate (bctx2 ctx) sis.
+Lemma get_soutcome_preserved sis:
+ get_soutcome (bctx1 ctx) sis = get_soutcome (bctx2 ctx) sis.
Proof.
induction sis; simpl; eauto.
erewrite seval_condition_preserved.