Commit Graph

23 Commits

Author SHA1 Message Date
c848f443e0 Add a lattice instance for Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-05 18:33:49 -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
56147cfc82 Implement map intersection
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-08-03 23:46:26 -07:00
77e2572157 Tweak the style of the Semilattice instance 2023-07-30 21:50:28 -07:00
1b7a3f02eb Add an instance of Semilattice for Map.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-07-30 20:36:19 -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
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
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
27eeead350 Add typeclasses for (semi)lattices and order 2023-04-04 21:08:31 -07:00