diff options
author | Justus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr> | 2020-07-09 09:32:01 +0200 |
---|---|---|
committer | Justus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr> | 2020-07-09 09:32:01 +0200 |
commit | 7f1b9f2a76d13e08f7a00e7ef17f929a6602a32c (patch) | |
tree | 1c86aed732f38481793fa5ab75b51c2b76295266 /aarch64/Asmgenproof.v | |
parent | 932a3eda6a597d534131068d87052967398f0229 (diff) | |
download | compcert-kvx-7f1b9f2a76d13e08f7a00e7ef17f929a6602a32c.tar.gz compcert-kvx-7f1b9f2a76d13e08f7a00e7ef17f929a6602a32c.zip |
Finish proof of Lemma symbol_high_low
Diffstat (limited to 'aarch64/Asmgenproof.v')
-rw-r--r-- | aarch64/Asmgenproof.v | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/aarch64/Asmgenproof.v b/aarch64/Asmgenproof.v index 276e95d1..93899c72 100644 --- a/aarch64/Asmgenproof.v +++ b/aarch64/Asmgenproof.v @@ -45,12 +45,17 @@ Let tge := Genv.globalenv tprog. Definition lk :aarch64_linker := {| Asmblock.symbol_low:=Asm.symbol_low tge; Asmblock.symbol_high:=Asm.symbol_high tge|}. + +Lemma symbols_preserved: + forall (s: ident), Genv.find_symbol tge s = Genv.find_symbol ge s. +Proof (Genv.find_symbol_match TRANSF). + Lemma symbol_high_low: forall (id: ident) (ofs: ptrofs), Val.addl (Asmblock.symbol_high lk id ofs) (Asmblock.symbol_low lk id ofs) = Genv.symbol_address ge id ofs. Proof. - unfold lk; simpl. intros; rewrite Asm.symbol_high_low. -Admitted. - + unfold lk; simpl. intros; rewrite Asm.symbol_high_low; unfold Genv.symbol_address; + rewrite symbols_preserved; reflexivity. +Qed. Lemma transf_program_correct: forward_simulation (Asmblock.semantics lk prog) (Asm.semantics tprog). |