aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-01-11 19:11:52 +0000
committerYann Herklotz <git@yannherklotz.com>2021-01-11 19:11:52 +0000
commite9de87c29c446a4e0169f55131a678535630ff18 (patch)
treeb923b8e5fdd483db7df217a1bd3d2e543a3f99da /src
parent489b93c3e257e37f45c1f0eafeff950b97249c3f (diff)
downloadvericert-e9de87c29c446a4e0169f55131a678535630ff18.tar.gz
vericert-e9de87c29c446a4e0169f55131a678535630ff18.zip
Add proof of empty items
Proof that correct items are returned from an empty forest.
Diffstat (limited to 'src')
-rw-r--r--src/hls/Scheduleoracle.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/hls/Scheduleoracle.v b/src/hls/Scheduleoracle.v
index 2c60e96..1625238 100644
--- a/src/hls/Scheduleoracle.v
+++ b/src/hls/Scheduleoracle.v
@@ -362,6 +362,16 @@ Proof.
congruence.
Qed.
+Definition empty : forest := Rtree.empty _.
+
+Lemma get_empty:
+ forall r, empty#r = Ebase r.
+Proof.
+ intros r. unfold get_forest.
+ destruct (Rtree.get r empty) eqn:Heq; auto.
+ rewrite Rtree.gempty in Heq. discriminate.
+Qed.
+
(*|
We define the top-level oracle that will check if two basic blocks are equivalent after a scheduling
transformation.