|
69d1ecebae
|
Prove that the bottom map's valyes are all bottoms
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 20:48:32 -07:00 |
|
|
b78cb91f2a
|
Strengthen lemma about IterProd bottom to definition equality
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 20:20:11 -07:00 |
|
|
16fa4cd1d8
|
Use records rather than nested pairs to represent 'fixed height'
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 20:11:04 -07:00 |
|
|
95669b2c65
|
Prove that the iterated product is made from iterated bottom elements
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 19:45:15 -07:00 |
|
|
6857f60465
|
Rename the min/max elements top bottom and top in Prod
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 19:08:46 -07:00 |
|
|
f4392b32c0
|
Finish the last proof obligation for trace walking
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 19:01:36 -07:00 |
|
|
794c04eee9
|
Prove the foldr-implies lemma
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 18:37:50 -07:00 |
|
|
a22c0c9252
|
Prove a property of multi-key lookup
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 17:56:26 -07:00 |
|
|
cfa3375de5
|
Expose more functions from FiniteMap
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-08 20:50:05 -07:00 |
|
|
6b116ed960
|
Forward some map function to Finite{,Value}Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-08 20:34:15 -07:00 |
|
|
1a7b2a1736
|
Adjust behavior of eval to not require constant 'k in vars' threading
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-22 17:15:40 -07:00 |
|
|
040c13caba
|
Use instances to simplify printing code
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-11 12:50:05 -07:00 |
|
|
56da61b339
|
Delete the bundles since they did not turn out all that useful
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-11 12:14:53 -07:00 |
|
|
8964ba59a1
|
Prove monotonicity of eval
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-10 20:29:05 -07:00 |
|
|
237250cf72
|
Stop using modules in 'Sign' analysis
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-10 19:23:48 -07:00 |
|
|
8515491327
|
Simplify AboveBelow a bit to avoid nested modules
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-10 18:43:10 -07:00 |
|
|
3305de4710
|
Remove need for explicit arguments in map derivatives
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-10 18:35:29 -07:00 |
|
|
f21ebdcf46
|
Start working on the evaluation operation.
Proving monotonicity is the main hurdle here.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-10 18:13:01 -07:00 |
|
|
0705df708e
|
Prove that variables in a program all come from the program's code
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-10 16:41:21 -07:00 |
|
|
f84a1c923c
|
Prove that the 'join' transformation is monotonic
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-09 23:06:47 -08:00 |
|
|
1b1b80465c
|
Use named modules to avoid having to pass redundant parameters
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-09 21:46:15 -08:00 |
|
|
ca99e18184
|
Tweak exports from finite value bundle to avoid (some) redundant arguments
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-09 13:59:22 -08:00 |
|
|
702cf2c298
|
Expose more functionaity from the set lattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-09 13:58:40 -08:00 |
|
|
0c088ca2ae
|
Prove multi-key access monotonicity in finite maps
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-09 13:58:07 -08:00 |
|
|
bc138d87f0
|
Prove things about key-based access in map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-09 13:57:29 -08:00 |
|
|
311ed75186
|
Expose more helpers from 'Map'
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-09 13:57:02 -08:00 |
|
|
7905d106e2
|
Tweak signature of 'forget' to simplify proofs
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-07 20:04:33 -08:00 |
|
|
34203840c8
|
Use the new provenance function to clean up some proofs
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-07 19:59:14 -08:00 |
|
|
48983c55b1
|
Prove exercise 4.26 from the textbook
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-06 00:35:29 -08:00 |
|
|
2ddac38c3f
|
Update with new changes to Agda
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-03 16:44:10 -08:00 |
|
|
f00dabfc93
|
More cleanup to FiniteValueMap
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-02 16:23:33 -08:00 |
|
|
01f4e02026
|
More cleanup to FiniteValueMap
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-02 16:05:42 -08:00 |
|
|
fbbcd72037
|
Some early refactors of FiniteValueMap
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-02 15:18:10 -08:00 |
|
|
03cdc65a7b
|
Format AboveBelow a bit better (round two)
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-02 14:56:04 -08:00 |
|
|
ec2b1ec3ba
|
Format FiniteMap a little bit better
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-02 14:54:44 -08:00 |
|
|
112dcb2208
|
Clean up AboveBelow slightly
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-02 14:34:15 -08:00 |
|
|
0774946211
|
Expose decidability from Map modules
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 23:27:49 -08:00 |
|
|
ae3e2c28b0
|
Create bundles and add a program to evaluate some code with finite maps
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 21:58:58 -08:00 |
|
|
97a4165b58
|
Expose bundles from FiniteValueMap
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 21:35:40 -08:00 |
|
|
754714d770
|
Restore bundles in IterProd
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 21:12:22 -08:00 |
|
|
ae09a27f64
|
Prove that finite value-maps are finite height
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 21:03:23 -08:00 |
|
|
ca90f6509c
|
Re-write the IterProd proofs to couple lattice and finite height lattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 21:02:56 -08:00 |
|
|
29898e738b
|
Clean up a bit
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 19:08:29 -08:00 |
|
|
52e7a7a208
|
Prove distributivity in the other direction, too
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-03-01 19:07:59 -08:00 |
|
|
8715d6d89c
|
Finish proof of from distributivity
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-26 00:00:18 -08:00 |
|
|
b083561629
|
Add most of the proof of from distributivity.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-25 20:28:07 -08:00 |
|
|
3ad7db738a
|
Prove that 'to' preserves equality
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-25 18:43:54 -08:00 |
|
|
53a08b8f79
|
Prove that 'first' presrves equality
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-25 18:08:03 -08:00 |
|
|
d6064ff752
|
Expose 'locate' and 'forget' from Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-25 18:07:50 -08:00 |
|
|
b96bac5518
|
Prove the other direction for inverses.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-25 13:57:45 -08:00 |
|