|
ad26d20274
|
Add facts about equal-key maps
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-11 12:45:43 -08:00 |
|
|
2b27e397b6
|
Add another utility proof
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-11 12:45:33 -08:00 |
|
|
d718338759
|
Clean up 'Map' to hide implementation details, extract code
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-10 16:51:43 -08:00 |
|
|
1b8c88b1a2
|
Expose only a 'public' "keys" function from Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-10 16:35:21 -08:00 |
|
|
a55c786a51
|
Tentatively start working on a language to analyze
|
2024-02-07 22:51:08 -08:00 |
|
|
512cd22be5
|
Fix definition of 'less than' to not involve a third variable.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-02-07 21:04:13 -08:00 |
|
|
9646096c75
|
Fix uses of 'absurd' in Fixedpoint.agda
|
2023-11-23 14:15:40 -08:00 |
|
|
bf74b35c14
|
Add proof of Lattice preservation
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-29 21:19:48 -07:00 |
|
|
7b24bae29a
|
Start on the homomorphism / isomorphism proofs
|
2023-09-29 20:45:13 -07:00 |
|
|
3c346dcd15
|
Add a 'set' lattice backed by maps
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 17:12:12 -07:00 |
|
|
4a90a57388
|
Clean up imports a bit
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 16:39:11 -07:00 |
|
|
6cd37a212f
|
Move the product instances into its own file
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 16:34:30 -07:00 |
|
|
8eaec3facd
|
Provide a 'fixed height' predicate from Lattice for convenience
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 16:20:58 -07:00 |
|
|
dce21b3696
|
Moved the Nat lattice instance into an actual file
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 15:34:59 -07:00 |
|
|
5d54e62c3a
|
Move the lattice etc. instances into Lattice.Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 15:08:04 -07:00 |
|
|
845a8a2236
|
Move the Map into Lattice/Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 15:06:43 -07:00 |
|
|
f27dec8904
|
Add proof of fixed-height chain
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-23 12:33:48 -07:00 |
|
|
fa7e2b5bb6
|
Add a proof that AboveBelow is a fixed-height lattice (phew!)
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-18 22:34:58 -07:00 |
|
|
c0db2ccd46
|
Add a lattice instance for the AboveBelow type
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-18 20:56:08 -07:00 |
|
|
d338241319
|
Add a meet operation, too
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-17 20:01:32 -07:00 |
|
|
03c0b12a3c
|
Start formalizing the bottom/top lattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-17 19:50:21 -07:00 |
|
|
e4f87175a0
|
Remove IsDecidable record in favor of a plain definition
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-17 19:43:24 -07:00 |
|
|
e3b8cc39f1
|
Put the fixed point algorithm code into its own file
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-16 13:39:35 -07:00 |
|
|
cbebe599b2
|
Prove that it's a least fixed point
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-16 13:07:31 -07:00 |
|
|
c338fa3ee5
|
Implement the fixed point algorithm
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-16 00:23:44 -07:00 |
|
|
866bc9124a
|
Add a lemma about chains of length h+1
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-16 00:23:30 -07:00 |
|
|
266c3dd81e
|
Prove that a finite height lattice is bounded below
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-15 21:07:14 -07:00 |
|
|
5cab39ca82
|
Prove that AxB is a finite height semilattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-03 23:56:39 -07:00 |
|
|
fb86d3f84f
|
Generalize chains to allow equivalences
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-03 21:05:57 -07:00 |
|
|
67e96b27cf
|
Add congruence instances for < and <= on semilattices
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-03 19:33:04 -07:00 |
|
|
c9ec50c0ca
|
Add a congruence requirement on Lattice.
|
2023-09-03 17:08:37 -07:00 |
|
|
eee814ae3c
|
Add congruence for Map union and intersect
|
2023-09-03 16:57:56 -07:00 |
|
|
29fb828ee2
|
Extract the equivalence code into its own module
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-09-02 20:36:12 -07:00 |
|
|
b6292bf9bd
|
Prove that a lattice of height h1+h2 exists for products
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-20 21:53:27 -07:00 |
|
|
acf4a04814
|
Prove the chain mapping property
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-20 20:49:08 -07:00 |
|
|
561d0f343a
|
Move < definition to Semilattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-20 19:57:26 -07:00 |
|
|
421f187e8b
|
Clean up the Lattice definitions a fair bit
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-20 19:02:47 -07:00 |
|
|
e62f429b86
|
Add instances for decidability and finite height lattices
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-20 18:35:57 -07:00 |
|
|
99cc5af243
|
Prove that Map equivalence is decidable
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-19 16:30:53 -07:00 |
|
|
3755a31bee
|
Remove the starter files in NatMap
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-19 14:22:40 -07:00 |
|
|
46c084d24c
|
Add the beginnings of a formalization of chains
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-19 14:22:03 -07:00 |
|
|
c848f443e0
|
Add a lattice instance for Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-05 18:33:49 -07:00 |
|
|
7b93654c4f
|
Prove the second absorption law for maps
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-05 17:54:33 -07:00 |
|
|
dc405b989f
|
Prove one absorption law
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-05 14:13:06 -07:00 |
|
|
990a785463
|
Add a witness for Map being an intersect semilattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-05 12:48:44 -07:00 |
|
|
d3e0db449c
|
Prove semilattice properties for intersect
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-05 12:40:30 -07:00 |
|
|
12e76527cc
|
Prove provenance for intersection
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-05 00:36:41 -07:00 |
|
|
1780cdbda4
|
Add more properties of update(s) and start work on provenance
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-05 00:02:50 -07:00 |
|
|
66dfe14207
|
Prove that restrict needs the key in both maps
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-04 00:07:10 -07:00 |
|
|
56147cfc82
|
Implement map intersection
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-08-03 23:46:26 -07:00 |
|