aboutsummaryrefslogtreecommitdiffstats
path: root/theories/evallang/tests.v
diff options
context:
space:
mode:
authorRutger Broekhoff2025-07-07 21:52:08 +0200
committerRutger Broekhoff2025-07-07 21:52:08 +0200
commitba61dfd69504ec6263a9dee9931d93adeb6f3142 (patch)
treed6c9b78e50eeab24e0c1c09ab45909a6ae3fd5db /theories/evallang/tests.v
downloadverified-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.v33
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 @@
1From mininix Require Export evallang.interp.
2From stdpp Require Import options.
3
4Import evallang.
5
6Definition interp' (n : nat) (s : string) : res val :=
7 interp n ∅ (EEval ∅ (EString s)).
8
9Lemma test_1_a : interp' 1000 ("(x: x) ""s""") = mret (VString "s").
10Proof. by vm_compute. Qed.
11Lemma test_1_b : interp' 1000 ("(""x"": x) ""s""") = mret (VString "s").
12Proof. by vm_compute. Qed.
13Lemma test_1_c : interp' 1000 ("((y:y) ""x"": x) ""s""") = mret (VString "s").
14Proof. by vm_compute. Qed.
15Lemma test_1_d : interp' 1000 ("(((y:y) ""x""): x) ""s""") = mret (VString "s").
16Proof. by vm_compute. Qed.
17
18Lemma test_2 : interp' 1000 ("(x: y: eval! y) ""s"" ""x""") = mret (VString "s").
19Proof. by vm_compute. Qed.
20
21Lemma test_3 : interp' 1000 ("eval! ""x: x"" ""s""") = mret (VString "s").
22Proof. by vm_compute. Qed.
23
24Lemma test_4_a :
25 interp' 1000 ("(x: y: eval! y) ""s"" ""x""") = mret (VString "s").
26Proof. by vm_compute. Qed.
27Lemma test_4_b :
28 interp' 1000 ("eval! ""(x: y: eval! y) \""s\"" \""x\""""") = mret (VString "s").
29Proof. by vm_compute. Qed.
30
31Lemma test_5 :
32 interp' 1000 ("(x: y: eval! ""x: x"" (eval! y)) ""s"" ""x""") = mret (VString "s").
33Proof. by vm_compute. Qed.