33cc0f9fe9 
							
						 
					 
					
						
						
							
							Implement constant analysis  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2025-01-05 19:39:12 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							9f2790c500 
							
						 
					 
					
						
						
							
							Actually force proof of 'analyze-correct'  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2025-01-05 19:39:12 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							105321971f 
							
						 
					 
					
						
						
							
							Slightly help along implicit inference by moving binary less-than  
						
						 
						
						... 
						
						
						
						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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							4da9b6d3cd 
							
						 
					 
					
						
						
							
							Fuse 'FiniteMap' and 'FiniteValueMap'  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-12-31 19:21:23 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c2c04e3ecd 
							
						 
					 
					
						
						
							
							Rewrite Forward analysis to use statement-based evaluators.  
						
						 
						
						... 
						
						
						
						To keep old (expression-based) analyses working, switch to using
instance search and provide "adapters" that auto-construct statement
analyzers from expression analyzers.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-12-31 17:31:01 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							f01df5af4b 
							
						 
					 
					
						
						
							
							Slightly tweak module style in Forward.agda  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-12-31 12:55:29 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							b28994e1d2 
							
						 
					 
					
						
						
							
							Tighten exported definitions in Forward.agda  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-12-31 00:29:39 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							10332351ea 
							
						 
					 
					
						
						
							
							Use instance search to avoid multiply-nested modules  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-12-31 00:21:10 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							7d2928ed81 
							
						 
					 
					
						
						
							
							Prove that the sign analysis is correct  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-10 22:31:47 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							5f946de5e8 
							
						 
					 
					
						
						
							
							Remove last remaining assumption for correctness  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-10 21:30:56 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							3d2a507f2f 
							
						 
					 
					
						
						
							
							Almost prove correctness  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-09 22:49:53 -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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							80069e76e6 
							
						 
					 
					
						
						
							
							Prove the recursive step of trace walking  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-09 17:56:47 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							20dc99ba1f 
							
						 
					 
					
						
						
							
							Re-indent some code to take up less horizontal space  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-09 16:57:03 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							f0b0d51b48 
							
						 
					 
					
						
						
							
							Add unproven lemma about fold implication  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 23:38:23 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8ff88f9f9e 
							
						 
					 
					
						
						
							
							Move helper code into separate function  
						
						 
						
						... 
						
						
						
						I'll need to reuse it.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 23:35:02 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							838aaf9c58 
							
						 
					 
					
						
						
							
							Start end-to-end proof of correctness  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 23:30:03 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							4ac9dffa9b 
							
						 
					 
					
						
						
							
							Prove that the var->lattice maps respect equality  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 22:53:21 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							3f5551d70c 
							
						 
					 
					
						
						
							
							Add a lemma about the effect of joinAll  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 22:34:02 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							5837fdf19b 
							
						 
					 
					
						
						
							
							Prove that 'updateAll' has preservation  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 22:29:36 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							4350919871 
							
						 
					 
					
						
						
							
							Add proof about setVariablesForState  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 22:09:56 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							7fe46b014c 
							
						 
					 
					
						
						
							
							Slightly simplify evaluation code  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 22:05:50 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							66d229c493 
							
						 
					 
					
						
						
							
							Prove that multi-statement evaluation "preserves" the validity of the analysis  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 21:51:53 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							1b8bea8957 
							
						 
					 
					
						
						
							
							Use foldl in multi-statement evaluation  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 21:50:38 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							ad4592d4d2 
							
						 
					 
					
						
						
							
							Switch to using implicit arguments where needed  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 21:34:17 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8d0d87d2d9 
							
						 
					 
					
						
						
							
							Start on proofs of correctness  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-05-08 20:50:21 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							3859826293 
							
						 
					 
					
						
						
							
							Define interpretation of the sign lattice  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-04-30 21:58:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							de956cdc6a 
							
						 
					 
					
						
						
							
							Split the Language file into modules  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-04-13 18:39:38 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							44f04e4020 
							
						 
					 
					
						
						
							
							Get forward analysis working again  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-04-13 14:08:40 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							5d56a7ce2d 
							
						 
					 
					
						
						
							
							Fix comments in Forward.agda  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-03-23 12:09:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							2e096bd64e 
							
						 
					 
					
						
						
							
							Extract common parts of forward analyses into Forward.agda  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-03-22 17:50:29 -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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							f0da9a9020 
							
						 
					 
					
						
						
							
							Move more code out of Sign and into Main  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-03-11 13:07:42 -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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							3e88a64ed9 
							
						 
					 
					
						
						
							
							Add some debugging code to sign analysis to print the results  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-03-10 22:23:45 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8a85c4497c 
							
						 
					 
					
						
						
							
							Prove that evaluation is monotonic and complete sign analysis  
						
						 
						
						... 
						
						
						
						Other than monotonicity of plus and minus, god damn it.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-03-10 21:25:46 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8964ba59a1 
							
						 
					 
					
						
						
							
							Prove monotonicity of eval  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-03-10 20:29:05 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							96f3ceaeb2 
							
						 
					 
					
						
						
							
							Use the previous join function directly in GeneralizedUpdate  
						
						 
						
						... 
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 
					
						2024-03-10 19:41:02 -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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							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