|
88a712fa98
|
Implement the more powerful Map-functional theorem
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-25 18:22:24 -07:00 |
|
|
c9ab1152c4
|
Minor cleanup of Map module
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-25 00:10:57 -07:00 |
|
|
850984ec15
|
Do away with implicit arguments in some places where they can't be inferred
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-24 23:58:14 -07:00 |
|
|
4aea9a0358
|
Migrate Maps to including a uniqueness proof
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-24 23:55:09 -07:00 |
|
|
c2bc1c5421
|
Move the implementation details into a private module
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-24 23:12:04 -07:00 |
|
|
232bd65809
|
Add uniqueness preservation proof for merge
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-24 23:02:43 -07:00 |
|
|
87a476ab9e
|
Add proofs of uniqueness preservation for map insert
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-24 22:51:40 -07:00 |
|
|
c50195942d
|
Start moving away from purely list-based maps.
The eventual goal is to make a map be a list and a proof
that all the keys are unique.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-24 20:38:34 -07:00 |
|
|
f2e72b54ce
|
Define unique as a data type to match stdlib All and Any
|
2023-07-23 21:34:24 -07:00 |
|
|
d9c18fe483
|
Prove that maps are functional assuming uniqueness
|
2023-07-23 17:50:25 -07:00 |
|
|
ab7ed2039a
|
Add a generic Map module and prove its induced equivalence relation
|
2023-07-23 00:51:34 -07:00 |
|
|
8febffc8e3
|
Add an equivalence constraint on lattice relations.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-15 15:16:51 -07:00 |
|
|
971d75bb2b
|
Parameterize by equivalence type
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-15 14:40:11 -07:00 |
|
|
46ff4465f2
|
Git rid of the bundles (for now) use IsWhatever
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-15 13:12:21 -07:00 |
|
|
7b993827bf
|
Delete the unneeded <= relation from instances
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-15 12:18:50 -07:00 |
|
|
09d2125aea
|
Add note to self
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-14 22:45:17 -07:00 |
|
|
cdca2528e9
|
Add a lattice instance for products
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-14 21:49:47 -07:00 |
|
|
3b29ee0f74
|
Add a Semilattice isntance for Products.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-14 21:20:16 -07:00 |
|
|
1ee6682c1a
|
Factor the Semilattice instances for Nat into their own module
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-14 19:59:07 -07:00 |
|
|
c9b514e9af
|
Add a preorder instance for product
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-14 19:42:29 -07:00 |
|
|
2b3d429631
|
Get started on a semilattice instances for products
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-14 18:42:29 -07:00 |
|
|
bac68b95f1
|
Add a Lattice instance for natural numbers.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-14 18:18:17 -07:00 |
|
|
c6dddb177e
|
Get started on a lattice instance for naturals.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-13 23:22:29 -07:00 |
|
|
422ea93edb
|
Finish up the Nat semilattices
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-07-13 21:55:51 -07:00 |
|
|
97a3f25fd2
|
[WIP] Start lattice and semilattice proofs for Nat
|
2023-04-06 23:08:49 -07:00 |
|
|
8b805be9d3
|
Add a map from natural numbers for use as a lattice transformer
|
2023-04-04 21:08:41 -07:00 |
|
|
27eeead350
|
Add typeclasses for (semi)lattices and order
|
2023-04-04 21:08:31 -07:00 |
|