Matteo Marescotti 
								
							 
						 
						
							
							
							
							
								
							
							
								a4e67b8bb6 
								
							 
						 
						
							
							
								
								Wire JSON printing into Spacer  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Matteo Marescotti 
								
							 
						 
						
							
							
							
							
								
							
							
								3248f57434 
								
							 
						 
						
							
							
								
								Add support for printing spacer pobs in JSON  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Matteo Marescotti 
								
							 
						 
						
							
							
							
							
								
							
							
								28ef9ab9d1 
								
							 
						 
						
							
							
								
								User option to enable starting spacer from a given level  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Matteo Marescotti 
								
							 
						 
						
							
							
							
							
								
							
							
								ff7c949be8 
								
							 
						 
						
							
							
								
								Fix: call collect_statistics() in virtual_solver  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Matteo 
								
							 
						 
						
							
							
							
							
								
							
							
								65885f7eba 
								
							 
						 
						
							
							
								
								add_constraint API  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Matteo 
								
							 
						 
						
							
							
							
							
								
							
							
								3c7165780c 
								
							 
						 
						
							
							
								
								Extend spacer with callback events  
							
							... 
							
							
							
							Callback events allow the client of spacer to
get events during exection. The events include
new lemmas and unfolding. 
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								b51251f394 
								
							 
						 
						
							
							
								
								Move tout under TRACE  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								fd7bcc7afc 
								
							 
						 
						
							
							
								
								Format  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yakir Vizel 
								
							 
						 
						
							
							
							
							
								
							
							
								5df7a08d1c 
								
							 
						 
						
							
							
								
								A simple version for finding the stride between different indices in a POB  
							
							... 
							
							
							
							This current version is very limited.
It assumes a pre-defined structure (namely, an ADDER). 
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								04a778f2fd 
								
							 
						 
						
							
							
								
								Option to enable cube normalization in quic generalizer  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								852e181fed 
								
							 
						 
						
							
							
								
								New quic3 lemma generalizer  
							
							
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								9cdb63ae4a 
								
							 
						 
						
							
							
								
								Handle conversion of quantified lemma to quantifier free  
							
							... 
							
							
							
							When a cube is updated, a lemma might loose all of its quantified
variables. In this case, it is effectively quantifier free
and might be a version of an already existing lemma.
For that reason, we convert it to quantifier free lemma when
this happens. 
							
						 
						
							2018-06-14 16:08:48 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yakir Vizel 
								
							 
						 
						
							
							
							
							
								
							
							
								23a8e59493 
								
							 
						 
						
							
							
								
								Initial commit of QGen  
							
							... 
							
							
							
							Controlled by fixedpoint.spacer.use_quanti_generalizer
measure cumulative time, number of invocations, and number of failed
SMT calls
Relaxing equality in a pattern: if a variable equals a numeral, relax with GE
pob::get_skolems() returns all skolems that might appear in the pob.
New skolems must be added above the largest index in that map,
even if they are not used in the pob itself.
pattern generalization should be done before the pattern is skolemized and
added into the new cube. 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								a1efb88318 
								
							 
						 
						
							
							
								
								Semantic matcher  
							
							... 
							
							
							
							Extends matcher with rewrites based on semantics of arithmetic operations
Like matcher, but uses arithmetic and logic rewrites to try to
get a semantic match. 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								7dee36358d 
								
							 
						 
						
							
							
								
								Allow bool_ind_generalizer to skip non-array literals  
							
							... 
							
							
							
							Currently a hack to skip generalizing some literals.
Used together with quic generalizer to remove all array terms if possible
before quic generalization 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								46fb0d928a 
								
							 
						 
						
							
							
								
								Fix in spacer_term_graph  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yakir Vizel 
								
							 
						 
						
							
							
							
							
								
							
							
								068b77d43a 
								
							 
						 
						
							
							
								
								Normalizing LE and GE with constants  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								0c1ef7155a 
								
							 
						 
						
							
							
								
								Option to rewrite expression in term_graph  
							
							... 
							
							
							
							Rewrite expressions to minimize uses of constants 0 and 1
Currently disabled due to interaction with quic 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								ecf9c629b0 
								
							 
						 
						
							
							
								
								Fix binding handling for quantifier free lemmas  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								a8318b8822 
								
							 
						 
						
							
							
								
								Fix lemma::has_binding()  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								ec179da0fa 
								
							 
						 
						
							
							
								
								API to get num of free variables in a pob  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								05e876d684 
								
							 
						 
						
							
							
								
								Fix n-arry applications in spacer_term_graph  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								7b82ec1bee 
								
							 
						 
						
							
							
								
								Attempt bug fix  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								981e521b18 
								
							 
						 
						
							
							
								
								Cleanup lemma definition  
							
							... 
							
							
							
							exposes a potential bug. See comments in code. 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yakir Vizel 
								
							 
						 
						
							
							
							
							
								
							
							
								f51c07adf6 
								
							 
						 
						
							
							
								
								Moving skolems to lemma  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								ea73acef45 
								
							 
						 
						
							
							
								
								Implements mk_num_pat  
							
							... 
							
							
							
							Abstracts interpreted numeric constants with variables in a ground expression 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								9bc11b2122 
								
							 
						 
						
							
							
								
								Wire term graph into eq_generalizer  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								09d54c10a6 
								
							 
						 
						
							
							
								
								Wire term graph into spacer normalizer  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								be77b1de39 
								
							 
						 
						
							
							
								
								Improve interface of term_graph  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								6407ec8725 
								
							 
						 
						
							
							
								
								spacer_term_graph: an egraph of terms  
							
							... 
							
							
							
							Used to determine and factor out equalities 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								088bd3ed8e 
								
							 
						 
						
							
							
								
								Fix compiler warning  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bernhard Gleiss 
								
							 
						 
						
							
							
							
							
								
							
							
								25fad153d1 
								
							 
						 
						
							
							
								
								added option fixedpoint.spacer.iuc.debug_proof to debug proof which is used for generation of iuc  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bernhard Gleiss 
								
							 
						 
						
							
							
							
							
								
							
							
								c3a66217e1 
								
							 
						 
						
							
							
								
								improved options for IUC computation  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bernhard Gleiss 
								
							 
						 
						
							
							
							
							
								
							
							
								370667722d 
								
							 
						 
						
							
							
								
								New option fixedpoint.spacer.print_farkas_stats  
							
							... 
							
							
							
							Prints the number of Farkas lemmas in each proof 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								880fc77655 
								
							 
						 
						
							
							
								
								Further rewrite equalities  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								5a37518e58 
								
							 
						 
						
							
							
								
								Improve statistics from spacer  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bernhard Gleiss 
								
							 
						 
						
							
							
							
							
								
							
							
								00a99f01b4 
								
							 
						 
						
							
							
								
								improved options for IUC computation  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bernhard Gleiss 
								
							 
						 
						
							
							
							
							
								
							
							
								fba995294d 
								
							 
						 
						
							
							
								
								refactored options regarding farkas lemma handling  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bernhard Gleiss 
								
							 
						 
						
							
							
							
							
								
							
							
								56fcb8e6fd 
								
							 
						 
						
							
							
								
								added option fixedpoint.spacer.print_farkas_stats to print number of Farkas lemmas in each proof  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Bernhard Gleiss 
								
							 
						 
						
							
							
							
							
								
							
							
								4148ee128c 
								
							 
						 
						
							
							
								
								fixed bug, which added too many edges between super-source and source in the case where the source was used by multiple inferences  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								9b050e8d30 
								
							 
						 
						
							
							
								
								Fix benign warning  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								e7815c703c 
								
							 
						 
						
							
							
								
								Fix a typo  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								321cad70d6 
								
							 
						 
						
							
							
								
								improve comments for scoped_weakness  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								890bc0f7c9 
								
							 
						 
						
							
							
								
								fix scoped_weakness  
							
							... 
							
							
							
							forgot to save current state of params before resetting them 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								68518b0e32 
								
							 
						 
						
							
							
								
								propagate weakness from pob down to all related checks  
							
							... 
							
							
							
							If a pob was discharged with a weak solver, propagate the level of
weakness to inductive generalization and to lemma propagation. 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								b8b3703511 
								
							 
						 
						
							
							
								
								improved implementation of is_qblocked()  
							
							... 
							
							
							
							Disabled by default. Has no effect if ran with the default set of
options where qlemmas=true  and instantiate=true 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								371ba4fbc0 
								
							 
						 
						
							
							
								
								added parameters that seem to work well with quantifiers and arith  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								27d8fa4a34 
								
							 
						 
						
							
							
								
								hard-code quantifier weight to 15  
							
							... 
							
							
							
							With default settings, the eager threshold is 10 and lazy is 20.  15
puts us in the middle ensuring that lemmas are instantiated when UNSAT
and otherwise delayed. 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								135a4a765f 
								
							 
						 
						
							
							
								
								Adding grounding of the current lemma  
							
							... 
							
							
							
							In addition to adding the necessary instance of a quantified lemma,
add its grounding over the global set of skolems. 
							
						 
						
							2018-06-14 16:08:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Arie Gurfinkel 
								
							 
						 
						
							
							
							
							
								
							
							
								e8befc072c 
								
							 
						 
						
							
							
								
								cleaned up lemma instantiation code  
							
							
							
						 
						
							2018-06-14 16:08:47 -07:00