diff options
author | Rutger Broekhoff | 2025-07-07 21:52:08 +0200 |
---|---|---|
committer | Rutger Broekhoff | 2025-07-07 21:52:08 +0200 |
commit | ba61dfd69504ec6263a9dee9931d93adeb6f3142 (patch) | |
tree | d6c9b78e50eeab24e0c1c09ab45909a6ae3fd5db /theories/evallang/tests.v | |
download | verified-dyn-lang-interp-ba61dfd69504ec6263a9dee9931d93adeb6f3142.tar.gz verified-dyn-lang-interp-ba61dfd69504ec6263a9dee9931d93adeb6f3142.zip |
Initialize repository
Diffstat (limited to 'theories/evallang/tests.v')
-rw-r--r-- | theories/evallang/tests.v | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/theories/evallang/tests.v b/theories/evallang/tests.v new file mode 100644 index 0000000..eaba8a0 --- /dev/null +++ b/theories/evallang/tests.v | |||
@@ -0,0 +1,33 @@ | |||
1 | From mininix Require Export evallang.interp. | ||
2 | From stdpp Require Import options. | ||
3 | |||
4 | Import evallang. | ||
5 | |||
6 | Definition interp' (n : nat) (s : string) : res val := | ||
7 | interp n ∅ (EEval ∅ (EString s)). | ||
8 | |||
9 | Lemma test_1_a : interp' 1000 ("(x: x) ""s""") = mret (VString "s"). | ||
10 | Proof. by vm_compute. Qed. | ||
11 | Lemma test_1_b : interp' 1000 ("(""x"": x) ""s""") = mret (VString "s"). | ||
12 | Proof. by vm_compute. Qed. | ||
13 | Lemma test_1_c : interp' 1000 ("((y:y) ""x"": x) ""s""") = mret (VString "s"). | ||
14 | Proof. by vm_compute. Qed. | ||
15 | Lemma test_1_d : interp' 1000 ("(((y:y) ""x""): x) ""s""") = mret (VString "s"). | ||
16 | Proof. by vm_compute. Qed. | ||
17 | |||
18 | Lemma test_2 : interp' 1000 ("(x: y: eval! y) ""s"" ""x""") = mret (VString "s"). | ||
19 | Proof. by vm_compute. Qed. | ||
20 | |||
21 | Lemma test_3 : interp' 1000 ("eval! ""x: x"" ""s""") = mret (VString "s"). | ||
22 | Proof. by vm_compute. Qed. | ||
23 | |||
24 | Lemma test_4_a : | ||
25 | interp' 1000 ("(x: y: eval! y) ""s"" ""x""") = mret (VString "s"). | ||
26 | Proof. by vm_compute. Qed. | ||
27 | Lemma test_4_b : | ||
28 | interp' 1000 ("eval! ""(x: y: eval! y) \""s\"" \""x\""""") = mret (VString "s"). | ||
29 | Proof. by vm_compute. Qed. | ||
30 | |||
31 | Lemma test_5 : | ||
32 | interp' 1000 ("(x: y: eval! ""x: x"" (eval! y)) ""s"" ""x""") = mret (VString "s"). | ||
33 | Proof. by vm_compute. Qed. | ||