aboutsummaryrefslogtreecommitdiffstats
path: root/backend/CSE3analysisproof.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-10 09:45:34 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-10 09:45:34 +0100
commit0892b99d00aac6ad9f7467f1383fe5dc1b45e94f (patch)
treef3415a55149b8ab2af86c08b2c9bfee699b835ab /backend/CSE3analysisproof.v
parent9cf4ca7760982b40e5721b2d6510eae0ced248a8 (diff)
downloadcompcert-kvx-0892b99d00aac6ad9f7467f1383fe5dc1b45e94f.tar.gz
compcert-kvx-0892b99d00aac6ad9f7467f1383fe5dc1b45e94f.zip
eq_find_sound
Diffstat (limited to 'backend/CSE3analysisproof.v')
-rw-r--r--backend/CSE3analysisproof.v16
1 files changed, 16 insertions, 0 deletions
diff --git a/backend/CSE3analysisproof.v b/backend/CSE3analysisproof.v
index 027a874a..4fa093c6 100644
--- a/backend/CSE3analysisproof.v
+++ b/backend/CSE3analysisproof.v
@@ -373,4 +373,20 @@ Section SOUNDNESS.
Qed.
Hint Resolve kill_mem_sound : cse3.
+
+ Theorem eq_find_sound:
+ forall no eq id,
+ eq_find (ctx := ctx) no eq = Some id ->
+ eq_catalog ctx id = Some eq.
+ Proof.
+ unfold eq_find.
+ intros.
+ destruct (eq_find_oracle ctx no eq) as [ id' | ].
+ 2: discriminate.
+ destruct (eq_catalog ctx id') as [eq' |] eqn:CATALOG.
+ 2: discriminate.
+ destruct (eq_dec_equation eq eq').
+ 2: discriminate.
+ congruence.
+ Qed.
End SOUNDNESS.