| 
						
					 | 
					
						
						
						
						
							
						
						
							c48bd0272e
							
						
					 | 
					
						
						
							
							Define "less than or equal" for partial lattices and prove some properties
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-07-05 14:53:00 -07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							d251915772
							
						
					 | 
					
						
						
							
							Show that lifted equality preserves equivalences
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-07-05 14:52:40 -07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							da6e82d04b
							
						
					 | 
					
						
						
							
							Add helper definitions for partial commutativity, associativity, reflexivity
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-07-02 15:11:12 -05:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							dd101c6e9b
							
						
					 | 
					
						
						
							
							Start working on a general lattice builder framework
						
						
						
						
						
					 | 
					
						2025-06-29 10:35:37 -07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							a611dd0f31
							
						
					 | 
					
						
						
							
							Add 'ExtendBelow' lattice, which adds new bottom to lattices
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-04-20 19:13:07 -07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							33cc0f9fe9
							
						
					 | 
					
						
						
							
							Implement constant analysis
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-05 19:39:12 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							ca375976b7
							
						
					 | 
					
						
						
							
							Re-export members of isLattice together with the record where needed
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 22:43:13 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							c0238fea25
							
						
					 | 
					
						
						
							
							Clean up how proofs of fixed height are imported
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 22:34:49 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							1432dfa669
							
						
					 | 
					
						
						
							
							Clean up FiniteMap module structure a bit
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 22:28:47 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							ffe9d193d9
							
						
					 | 
					
						
						
							
							Parameterize FiniteMap by its keys right away
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 22:19:02 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							cf824dc744
							
						
					 | 
					
						
						
							
							Switch product to using instances
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 21:33:59 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							70847d51db
							
						
					 | 
					
						
						
							
							Swich AboveBelow to using instances
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 21:23:07 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							d96eb97b69
							
						
					 | 
					
						
						
							
							Switch maps (and consequently most of the code) to using instances
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 21:16:22 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							d90b544436
							
						
					 | 
					
						
						
							
							Use binary operator for decidable equality consistently
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 19:08:28 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							b0488c9cc6
							
						
					 | 
					
						
						
							
							Make 'IsDecidable' into a record to aid instance search
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 18:58:56 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							8abf6f8670
							
						
					 | 
					
						
						
							
							Make 'isLattice' for simple types be an instance
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2025-01-04 17:27:38 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							4da9b6d3cd
							
						
					 | 
					
						
						
							
							Fuse 'FiniteMap' and 'FiniteValueMap'
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2024-12-31 19:21:23 -08:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							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 | 
					
					
						
						
							
							
							
						
					 |