| 
						
					 | 
					
						
						
						
						
							
						
						
							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 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							51accb6438
							
						
					 | 
					
						
						
							
							Define 'minus', too -- with no monotonicity proof.
						
						
						
						
						
						
						
						I'm still thinking about how this should be achieved most easily.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2024-03-10 16:40:49 -07:00 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							afe5bac2dc
							
						
					 | 
					
						
						
							
							Commit result of (unsuccessfully) trying to prove monotonicity of plus.
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2024-03-10 13:54:19 -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 | 
					
					
						
						
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
						
						
							
						
						
							0c30f8be48
							
						
					 | 
					
						
						
							
							Start on sign analysis (mostly just imports)
						
						
						
						
						
						
						
						Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com> 
						
					 | 
					
						2024-03-09 14:00:10 -08:00 | 
					
					
						
						
							
							
							
						
					 |