aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-06-29 16:55:08 +0100
committerYann Herklotz <git@yannherklotz.com>2020-06-29 16:55:08 +0100
commit8398615fea7ab754854cb10e16e86de6415f1f2d (patch)
treec4d793f5cddf7898fab8d04fb37a646202a56a13 /src
parent0c360ec297c42d73c1090958d061447c2bfbe31b (diff)
downloadvericert-8398615fea7ab754854cb10e16e86de6415f1f2d.tar.gz
vericert-8398615fea7ab754854cb10e16e86de6415f1f2d.zip
Work on addition proof
Diffstat (limited to 'src')
-rw-r--r--src/verilog/Value.v22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/verilog/Value.v b/src/verilog/Value.v
index e7b2362..c380ca7 100644
--- a/src/verilog/Value.v
+++ b/src/verilog/Value.v
@@ -108,6 +108,12 @@ Definition boolToValue (sz : nat) (b : bool) : value :=
Definition unify_word (sz1 sz2 : nat) (w1 : word sz2): sz1 = sz2 -> word sz1.
intros; subst; assumption. Defined.
+Lemma unify_word_unfold :
+ forall sz w,
+ unify_word sz sz w eq_refl = w.
+Proof.
+ intros. unfold unify_word. Admitted.
+
Definition value_eq_size:
forall v1 v2 : value, { vsize v1 = vsize v2 } + { True }.
Proof.
@@ -382,7 +388,21 @@ Qed.
Lemma boolToValue_ValueToBool :
forall b,
valueToBool (boolToValue 32 b) = b.
-Proof. destruct b; unfold valueToBool, boolToValue; simpl; trivial. Qed.
+Proof. destruct b; auto. Qed.
+
+Lemma intToValue_eq_size :
+ forall n1 n2,
+ vsize (intToValue n1) = vsize (intToValue n2).
+Proof. auto. Qed.
+
+Local Open Scope Z.
+
+Lemma zadd_vplus :
+ forall z1 z2,
+ valueToZ (vplus (ZToValue 32 z1) (ZToValue 32 z2) eq_refl) = z1 + z2.
+Proof.
+ intros. unfold valueToZ, ZToValue. simpl.
+ Admitted.
(*Lemma ZToValue_valueToNat :
forall x sz,