diff options
Diffstat (limited to 'backend/CSE3proof.v')
-rw-r--r-- | backend/CSE3proof.v | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/backend/CSE3proof.v b/backend/CSE3proof.v index 7af62b95..9a55f529 100644 --- a/backend/CSE3proof.v +++ b/backend/CSE3proof.v @@ -449,6 +449,7 @@ Lemma step_simulation: exists S2', RTL.step tge S1' t S2' /\ match_states S2 S2'. Proof. induction 1; intros S1' MS; inv MS. + all: try set (ctx := (context_from_hints (snd (preanalysis tenv f)))). - (* Inop *) exists (State ts tf sp pc' rs m). split. + apply exec_Inop; auto. @@ -779,9 +780,14 @@ Proof. cbn in IND. rewrite H in IND. assert (RB.ge (fst (preanalysis tenv f)) # (if b then ifso else ifnot) - match (fst (preanalysis tenv f)) # pc with - | Some x => apply_instr (ctx:=(context_from_hints (snd (preanalysis tenv f)))) pc tenv (Icond cond args ifso ifnot predb) x - | None => None + match + match (fst (preanalysis tenv f)) # pc with + | Some x => + apply_instr (ctx:=ctx) pc tenv (Icond cond args ifso ifnot predb) x + | None => Abst_same RB.bot + end + with + | Abst_same rel' => rel' end) as INDUCTIVE by (destruct b; intuition). clear IND. |