aboutsummaryrefslogtreecommitdiffstats
path: root/src/hls/GiblePargenproof.v
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2023-08-10 12:09:03 +0100
committerYann Herklotz <git@yannherklotz.com>2023-08-10 12:09:03 +0100
commit86e64fd05cea7b1da996701cd3653db5f471f8d1 (patch)
tree5cee338b89c4b1b2906cbf8e62d8f8dffdff0abb /src/hls/GiblePargenproof.v
parent4d62c7f35533ebd36ae4a0bdef6cd64fcc0be375 (diff)
downloadvericert-86e64fd05cea7b1da996701cd3653db5f471f8d1.tar.gz
vericert-86e64fd05cea7b1da996701cd3653db5f471f8d1.zip
Finish final forward simulation correctness
Diffstat (limited to 'src/hls/GiblePargenproof.v')
-rw-r--r--src/hls/GiblePargenproof.v6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/hls/GiblePargenproof.v b/src/hls/GiblePargenproof.v
index afa554c..95f0bb1 100644
--- a/src/hls/GiblePargenproof.v
+++ b/src/hls/GiblePargenproof.v
@@ -129,6 +129,12 @@ Definition state_lessdef := GiblePargenproofEquiv.match_states.
Definition match_prog (prog : GibleSeq.program) (tprog : GiblePar.program) :=
match_program (fun cu f tf => transl_fundef f = OK tf) eq prog tprog.
+ Lemma transf_program_match:
+ forall p tp, transl_program p = OK tp -> match_prog p tp.
+ Proof.
+ intros. apply Linking.match_transform_partial_program; auto.
+ Qed.
+
(* TODO: Fix the `bb` and add matches for them. *)
Inductive match_stackframes: GibleSeq.stackframe -> GiblePar.stackframe -> Prop :=
| match_stackframe: