diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-05 13:16:05 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-05 13:16:05 +0200 |
commit | 339d7e5ff093a2002aa8c939aece10bafe2914d7 (patch) | |
tree | 215e81469385f4715005cc1a0b8f4f80a762732c /mppa_k1c/Op.v | |
parent | 4284ab56c71cd64ebf6ce22ad13d3cd5533ac7ed (diff) | |
download | compcert-kvx-339d7e5ff093a2002aa8c939aece10bafe2914d7.tar.gz compcert-kvx-339d7e5ff093a2002aa8c939aece10bafe2914d7.zip |
more proofs
Diffstat (limited to 'mppa_k1c/Op.v')
-rw-r--r-- | mppa_k1c/Op.v | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mppa_k1c/Op.v b/mppa_k1c/Op.v index c75a1a22..7aea2929 100644 --- a/mppa_k1c/Op.v +++ b/mppa_k1c/Op.v @@ -1903,6 +1903,19 @@ Proof. econstructor; eauto. rewrite Ptrofs.add_zero_l; auto. Qed. +Lemma eval_addressing_inject_none: + forall addr vl1 vl2, + Val.inject_list f vl1 vl2 -> + eval_addressing genv (Vptr sp1 Ptrofs.zero) addr vl1 = None -> + eval_addressing genv (Vptr sp2 Ptrofs.zero) (shift_stack_addressing delta addr) vl2 = None. +Proof. + intros. + rewrite eval_shift_stack_addressing. + eapply eval_addressing_inj_none with (sp1 := Vptr sp1 Ptrofs.zero); eauto. + intros. apply symbol_address_inject. + econstructor; eauto. rewrite Ptrofs.add_zero_l; auto. +Qed. + Lemma eval_operation_inject: forall op vl1 vl2 v1 m1 m2, Val.inject_list f vl1 vl2 -> |