Commit Graph

278 Commits

Author SHA1 Message Date
Danila Fedorin 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
Danila Fedorin 3ad7db738a Prove that 'to' preserves equality
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-25 18:43:54 -08:00
Danila Fedorin 53a08b8f79 Prove that 'first' presrves equality
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-25 18:08:03 -08:00
Danila Fedorin d6064ff752 Expose 'locate' and 'forget' from Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-25 18:07:50 -08:00
Danila Fedorin d280f5afdf Make auxillary definitions private
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-25 14:06:45 -08:00
Danila Fedorin b96bac5518 Prove the other direction for inverses.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-25 13:57:45 -08:00
Danila Fedorin 99fc21cef2 Expose 'subset-impl' from Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-25 13:57:28 -08:00
Danila Fedorin 2a06e6ae2d Adjust 'to' to make it easier to reason about
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-25 12:17:19 -08:00
Danila Fedorin 671ffc82df Define to-and-from functions from finite maps to tuples and prove one inverse direction
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-19 14:50:29 -08:00
Danila Fedorin 486b552b59 Try to generalize universe levels where possible
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-19 12:36:46 -08:00
Danila Fedorin aafcb2683d Prove the transport of 'height lattice' property given an isomorphism
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-18 23:26:41 -08:00
Danila Fedorin 8c9f39ac35 Add some additional 'equivalence' definitions to Equivalence
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-18 21:46:42 -08:00
Danila Fedorin 6384f7006e Make 'lattice' public
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-18 20:18:38 -08:00
Danila Fedorin b1c6b4c99a Expose bundles from Unit
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 21:20:05 -08:00
Danila Fedorin 5420bb808e Expose bundles from 'Prod'
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 21:16:41 -08:00
Danila Fedorin 4c0860f4c7 Expose bundle form MapSet
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 21:14:49 -08:00
Danila Fedorin e89418d600 Expose bundle form 'Map'
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 21:12:49 -08:00
Danila Fedorin bfb32092c2 Expose bundles and apply so renames to IterProd
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 21:10:51 -08:00
Danila Fedorin 6e26aa1580 Add a bundle to FiniteMap
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 21:02:43 -08:00
Danila Fedorin 27f40bd42e Add bundles to 'AboveBelow'
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 21:00:28 -08:00
Danila Fedorin 08f3f49640 Rename some definitions in Nat and expose bundle
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 20:56:21 -08:00
Danila Fedorin a920608bef Tweak IterProd to expose more (including a bundle)
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 20:45:14 -08:00
Danila Fedorin 45f2babfa3 Fix typo in FixedHeightLattice definition
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 15:37:00 -08:00
Danila Fedorin 16c4d13242 Prove that iterated products are finite height
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 15:36:12 -08:00
Danila Fedorin 0ba4b46e16 Add proof of decidable equivalence for products
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 15:35:50 -08:00
Danila Fedorin 7e5cc1b316 Add an 'iterated product' lattice for A x A ... x A x B.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 14:19:41 -08:00
Danila Fedorin 33b7bc37f0 Add a 'FiniteHeightLattice' bundle
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 14:19:41 -08:00
Danila Fedorin 6fe8dc2a02 Add an 'iterate' function to Utils
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 14:19:41 -08:00
Danila Fedorin ec31333e9a Add a 'Finite Map' lattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 14:19:41 -08:00
Danila Fedorin ad26d20274 Add facts about equal-key maps
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 12:45:43 -08:00
Danila Fedorin 2b27e397b6 Add another utility proof
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2024-02-11 12:45:33 -08:00
Danila Fedorin 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
Danila Fedorin 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
Danila Fedorin a55c786a51 Tentatively start working on a language to analyze 2024-02-07 22:51:08 -08:00
Danila Fedorin 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
Danila Fedorin 9646096c75 Fix uses of 'absurd' in Fixedpoint.agda 2023-11-23 14:15:40 -08:00
Danila Fedorin bf74b35c14 Add proof of Lattice preservation
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-09-29 21:19:48 -07:00
Danila Fedorin 7b24bae29a Start on the homomorphism / isomorphism proofs 2023-09-29 20:45:13 -07:00
Danila Fedorin 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
Danila Fedorin 4a90a57388 Clean up imports a bit
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-09-23 16:39:11 -07:00
Danila Fedorin 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
Danila Fedorin 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
Danila Fedorin 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
Danila Fedorin 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
Danila Fedorin 845a8a2236 Move the Map into Lattice/Map
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-09-23 15:06:43 -07:00
Danila Fedorin f27dec8904 Add proof of fixed-height chain
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-09-23 12:33:48 -07:00
Danila Fedorin 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
Danila Fedorin 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
Danila Fedorin d338241319 Add a meet operation, too
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-09-17 20:01:32 -07:00
Danila Fedorin 03c0b12a3c Start formalizing the bottom/top lattice
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-09-17 19:50:21 -07:00