Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								4ac5e51e3a 
								
							 
						 
						
							
							
								
								#6429  
							
							
							
						 
						
							2022-11-23 18:35:17 +07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								f87e187b62 
								
							 
						 
						
							
							
								
								#6429  
							
							
							
						 
						
							2022-11-23 17:52:14 +07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								22353c2d6c 
								
							 
						 
						
							
							
								
								new core perf - add merge_tf and enable_cgc distinction  
							
							... 
							
							
							
							perf fix for propagation behavior for equalities in the new core.
The old behavior was not to allow congruence closure on equalities.
The new behavior is to just not allow merging tf with equalities unless they appear somewhere in a foreign context (not under a Boolean operator)
The change re-surfaces merge_tf and enable_cgc distinction from the old core.
They can both be turned on or off.
merge_enabled renamed to cgc_enabled
The change is highly likely to introduce regressions in the new core.
Change propagation of literals from congruence:
- track antecedent enode. There are four ways to propagate
literals from the egraph.
- the literal is an equality and the two arguments are congruent
- the antecedent is merged with node n and the antecedent has a Boolean variable assignment.
- the antecedent is true or false, they are merged.
- the merge_tf flag is toggled to true but the node n has not been merged with true/false 
							
						 
						
							2022-11-23 11:37:24 +07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								11b712fee0 
								
							 
						 
						
							
							
								
								switch to new configuration convention in solver object  
							
							
							
						 
						
							2022-11-23 11:37:23 +07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								1dca6402fb 
								
							 
						 
						
							
							
								
								move model and proof converters to self-contained module  
							
							
							
						 
						
							2022-11-03 05:23:01 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								90490cb22f 
								
							 
						 
						
							
							
								
								make visited_helper independent of literals  
							
							... 
							
							
							
							re-introduce shorthands in sat::solver for visited and have them convert literals to unsigned. 
							
						 
						
							2022-11-03 03:54:39 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Clemens Eisenhofer 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6790f18132 
								
							 
						 
						
							
							
								
								Added limit to "visit" to allow detecting multiple visits ( #6435 )  
							
							... 
							
							
							
							* Memory leak in .NET user-propagator
The user-propagator object has to be manually disposed (IDisposable), otherwise it stays in memory forever, as it cannot be garbage collected automatically
* Throw an exception if variable passed to decide is already assigned instead of running in an assertion violation
* Added limit to "visit" to allow detecting multiple visits
* Putting visit in a separate class
(Reason: We will probably need two of them in the sat::solver)
* Bugfix 
							
						 
						
							2022-11-03 03:34:52 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								9fc4015c46 
								
							 
						 
						
							
							
								
								remove ternary clause optimization  
							
							... 
							
							
							
							Removing ternary clause optimization from sat_solver simplifies special case handling of ternary clauses throughout the sat solver and dependent solvers (pb_solver). Benchmarking on QF_BV suggests the ternary clause optimization does not have any effect. While removing ternary clause optimization two bugs in unit propagation were also uncovered: it missed propagations when the only a single undef literal remained in the non-watched literals and it did not update blocked literals in cases where it could in the watch list. These performance bugs were for general clauses, ternary clause propagation did not miss propagations (and don't use blocked literals), but fixing these issues for general clauses appear to have made ternary clause optimization irrelevant based on what was measured. 
							
						 
						
							2022-10-30 03:57:39 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								1fae3aa152 
								
							 
						 
						
							
							
								
								rename set-flat to set-flat-and-or to allow to differentiate parameters  
							
							
							
						 
						
							2022-10-27 11:22:57 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								2258b9b9b6 
								
							 
						 
						
							
							
								
								#6423  
							
							
							
						 
						
							2022-10-26 12:06:11 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								154fed7783 
								
							 
						 
						
							
							
								
								introduce globally visible macro for controlling use of ternary, turn them off  
							
							
							
						 
						
							2022-10-25 10:30:18 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								e1a00f4917 
								
							 
						 
						
							
							
								
								remove unused experimental feature - diff  
							
							
							
						 
						
							2022-10-24 16:13:24 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								280887cc5a 
								
							 
						 
						
							
							
								
								remove deprecated theory aware drat functionality  
							
							... 
							
							
							
							it is handled by the on-clause callback that is owned by the smt solver. 
							
						 
						
							2022-10-24 08:32:10 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nuno Lopes 
								
							 
						 
						
							
							
							
							
								
							
							
								cb3c86736c 
								
							 
						 
						
							
							
								
								fix build  
							
							
							
						 
						
							2022-10-24 10:23:50 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								a24b5a64e1 
								
							 
						 
						
							
							
								
								#6364  proviso for ignore int  
							
							
							
						 
						
							2022-10-24 00:48:57 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								5c7eaec566 
								
							 
						 
						
							
							
								
								#6364  - remove option of redundant clauses from internalization  
							
							... 
							
							
							
							gc-ing definitions leads to unsoundness when they are not replayed.
Instead of attempting to replay definitions theory internalization is irredundant by default.
This is also the old solver behavior where TH_LEMMA is essentially never used, but is valid for top-level theory lemmas. 
							
						 
						
							2022-10-24 00:38:31 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								c8e1e180ea 
								
							 
						 
						
							
							
								
								prefix Boolean variables in log with b  
							
							
							
						 
						
							2022-10-23 11:05:50 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								53adc2afee 
								
							 
						 
						
							
							
								
								update debugging information for new core  
							
							
							
						 
						
							2022-10-21 15:24:44 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								842e8057bc 
								
							 
						 
						
							
							
								
								log also quantifier generation (besides binding)  
							
							... 
							
							
							
							We add also logging for quantifier generation.
It is auxiliary information that is of use for diagnostics (axiom profiler). 
							
						 
						
							2022-10-20 17:49:15 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								c1b355f342 
								
							 
						 
						
							
							
								
								#6364  
							
							... 
							
							
							
							throttle on upwards propagation of default was too restrictive 
							
						 
						
							2022-10-20 17:48:17 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								6d6752b2aa 
								
							 
						 
						
							
							
								
								#6364  
							
							
							
						 
						
							2022-10-20 16:39:43 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								5976978062 
								
							 
						 
						
							
							
								
								move std functions up for potential alignment issues  
							
							... 
							
							
							
							Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> 
							
						 
						
							2022-10-20 09:11:15 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								fc30461828 
								
							 
						 
						
							
							
								
								unused variables  
							
							... 
							
							
							
							Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> 
							
						 
						
							2022-10-20 09:09:06 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								6292b06c67 
								
							 
						 
						
							
							
								
								ensure that initialization order for euf_solver is aligned  
							
							... 
							
							
							
							Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> 
							
						 
						
							2022-10-20 08:48:15 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								2842c27e92 
								
							 
						 
						
							
							
								
								#6364  
							
							
							
						 
						
							2022-10-20 04:48:13 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								f6595c161f 
								
							 
						 
						
							
							
								
								add examples with proof replay  
							
							... 
							
							
							
							Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> 
							
						 
						
							2022-10-19 17:43:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								b084852397 
								
							 
						 
						
							
							
								
								update release notes, fix bug in replay of Boolean variables in new core  
							
							
							
						 
						
							2022-10-19 12:12:32 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								07dd1065db 
								
							 
						 
						
							
							
								
								added API to monitor clause inferences  
							
							... 
							
							
							
							See RELEASE_NOTES for more information
examples pending. 
							
						 
						
							2022-10-19 08:34:55 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								77cbd89420 
								
							 
						 
						
							
							
								
								remove once pragma from cpp file  
							
							... 
							
							
							
							Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> 
							
						 
						
							2022-10-18 14:57:49 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								cdfab8cb13 
								
							 
						 
						
							
							
								
								wip - add bit-vector validator plugins and logging  
							
							
							
						 
						
							2022-10-18 14:50:21 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								f0b85716a9 
								
							 
						 
						
							
							
								
								wip - proof logging fixes  
							
							
							
						 
						
							2022-10-18 11:20:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								1fc77c8c00 
								
							 
						 
						
							
							
								
								wip - proof checking  
							
							... 
							
							
							
							fixes to smt_theory_checker. Generalize it to apply to arrays and fpa.
Missing: bv 
							
						 
						
							2022-10-18 09:02:50 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								7b3a634b8d 
								
							 
						 
						
							
							
								
								wip - features and bug-fixes to proof logging  
							
							
							
						 
						
							2022-10-18 07:54:49 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								3bf1b606df 
								
							 
						 
						
							
							
								
								remove on-the fly ackerman reduction because it interferes with conflict resolution  
							
							
							
						 
						
							2022-10-18 07:53:42 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								b758d5b2b1 
								
							 
						 
						
							
							
								
								wip - proof checking, add support for distinct, other fixes  
							
							
							
						 
						
							2022-10-17 17:51:10 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								98fe2e637a 
								
							 
						 
						
							
							
								
								add generic theory lemma in default case.  
							
							... 
							
							
							
							Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> 
							
						 
						
							2022-10-17 10:17:08 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								a25247aa7b 
								
							 
						 
						
							
							
								
								wip - remove stale skaffolding for retrieving sub-hints.  
							
							
							
						 
						
							2022-10-16 17:18:08 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								3ed791b16a 
								
							 
						 
						
							
							
								
								fix build  
							
							... 
							
							
							
							Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> 
							
						 
						
							2022-10-16 15:01:42 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								ac1552d194 
								
							 
						 
						
							
							
								
								wip - updates to proof logging and self-checking  
							
							... 
							
							
							
							move self-checking functionality to inside sat/smt so it can be used on-line and not just off-line.
when self-validation fails, use vs, not clause, to check. It allows self-validation without checking and maintaining RUP validation.
new options sat.smt.proof.check_rup, sat.smt.proof.check for online validation.
z3 sat.smt.proof.check=true sat.euf=true /v:1 sat.smt.proof.check_rup=true /st file.smt2 sat.smt.proof=p.smt2 
							
						 
						
							2022-10-16 23:33:30 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								993ff40826 
								
							 
						 
						
							
							
								
								fixes to proof logging and checking  
							
							
							
						 
						
							2022-10-15 12:42:50 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								4388719848 
								
							 
						 
						
							
							
								
								adjust logging  
							
							
							
						 
						
							2022-10-14 18:56:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								e2cfc53c9f 
								
							 
						 
						
							
							
								
								#6364  
							
							... 
							
							
							
							skip proof hint unless proofs are on 
							
						 
						
							2022-10-13 15:31:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nuno Lopes 
								
							 
						 
						
							
							
							
							
								
							
							
								a7f018aa03 
								
							 
						 
						
							
							
								
								fix compiler warnings  
							
							
							
						 
						
							2022-10-12 10:02:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								a2e0646eed 
								
							 
						 
						
							
							
								
								wip - proof checker  
							
							
							
						 
						
							2022-10-12 09:34:49 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								1b3684c9c1 
								
							 
						 
						
							
							
								
								wip - fixes to implied-eq proof hints  
							
							
							
						 
						
							2022-10-11 09:54:00 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								ffeb8f4572 
								
							 
						 
						
							
							
								
								wip - tseitin check  
							
							... 
							
							
							
							```
(set-option :sat.euf true)
(set-option :sat.smt.proof tseitinproof.smt2)
(set-option :tactic.default_tactic smt)
(declare-const a1 Bool)
(declare-const a2 Bool)
(declare-const a3 Bool)
(declare-const a4 Bool)
(declare-const a5 Bool)
(declare-const a6 Bool)
(declare-const a7 Bool)
(declare-const a8 Bool)
(declare-const a9 Bool)
(declare-const a10 Bool)
(declare-const a11 Bool)
(declare-const a12 Bool)
(declare-const a13 Bool)
(declare-const a14 Bool)
(declare-const a15 Bool)
(declare-const a16 Bool)
(declare-const a17 Bool)
(declare-const a18 Bool)
(declare-const a19 Bool)
(declare-const x1 Bool)
(declare-const x2 Bool)
(declare-const x3 Bool)
(declare-const x4 Bool)
(declare-const x5 Bool)
(declare-const x6 Bool)
(declare-const x7 Bool)
(declare-const x8 Bool)
(declare-const x9 Bool)
(declare-const b1 Int)
(declare-const b2 Int)
(declare-const b3 Int)
(declare-const b4 Int)
(assert (= x1 (and a1 a2)))
(assert (= x2 (or a3 a4)))
(assert (= x3 (=> a5 a6)))
(assert (= x4 (=  a7 a8)))
(assert (= x5 (if a9 a10 a11)))
(assert (= x6 (=> a12 a13)))
(assert (= x7 (xor a1 a2 a3)))
(assert (= x7 (xor a1 a2 a3 a4 a5 (not a6))))
(assert (= x8 (= (ite a1 b1 b2) b3)))
(check-sat)
(exit)
``` 
							
						 
						
							2022-10-11 09:21:36 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								62438da0f5 
								
							 
						 
						
							
							
								
								wip - add xor and non-bool ite tseitin rules  
							
							
							
						 
						
							2022-10-11 09:15:18 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								cd8b8b603a 
								
							 
						 
						
							
							
								
								tseitin rule checking - wip  
							
							... 
							
							
							
							Unit test
```
(set-option :sat.euf true)
(set-option :sat.smt.proof tseitinproof.smt2)
(declare-const a1 Bool)
(declare-const a2 Bool)
(declare-const a3 Bool)
(declare-const a4 Bool)
(declare-const a5 Bool)
(declare-const a6 Bool)
(declare-const a7 Bool)
(declare-const a8 Bool)
(declare-const a9 Bool)
(declare-const a10 Bool)
(declare-const a11 Bool)
(declare-const a12 Bool)
(declare-const a13 Bool)
(declare-const a14 Bool)
(declare-const a15 Bool)
(declare-const a16 Bool)
(declare-const a17 Bool)
(declare-const a18 Bool)
(declare-const a19 Bool)
(declare-const x1 Bool)
(declare-const x2 Bool)
(declare-const x3 Bool)
(declare-const x4 Bool)
(declare-const x5 Bool)
(declare-const x6 Bool)
(declare-const x7 Bool)
(declare-const x8 Bool)
(declare-const x9 Bool)
(assert (= x1 (and a1 a2)))
(assert (= x2 (or a3 a4)))
(assert (= x3 (=> a5 a6)))
(assert (= x4 (=  a7 a8)))
(assert (= x5 (if a9 a10 a11)))
(assert (= x6 (=> a12 a13)))
(check-sat)
```
Output proof
```
(declare-fun a1 () Bool)
(declare-fun a2 () Bool)
(define-const $26 Bool (and a1 a2))
(declare-fun tseitin (Bool Bool) Proof)
(define-const $60 Bool (not $26))
(define-const $61 Proof (tseitin $60 a1))
(infer a1 (not $26) $61)
(define-const $62 Proof (tseitin $60 a2))
(infer a2 (not $26) $62)
(declare-fun tseitin (Bool Bool Bool) Proof)
(define-const $64 Bool (not a2))
(define-const $63 Bool (not a1))
(define-const $65 Proof (tseitin $63 $64 $26))
(infer (not a1) (not a2) $26 $65)
(declare-fun x1 () Bool)
(assume (not x1) $26)
(assume x1 (not $26))
(declare-fun a3 () Bool)
(declare-fun a4 () Bool)
(define-const $31 Bool (or a3 a4))
(define-const $66 Bool (not a3))
(define-const $67 Proof (tseitin $66 $31))
(infer (not a3) $31 $67)
(define-const $68 Bool (not a4))
(define-const $69 Proof (tseitin $68 $31))
(infer (not a4) $31 $69)
(define-const $70 Bool (not $31))
(define-const $71 Proof (tseitin a3 a4 $70))
(infer a3 a4 (not $31) $71)
(declare-fun x2 () Bool)
(assume (not x2) $31)
(assume x2 (not $31))
(declare-fun a6 () Bool)
(declare-fun a5 () Bool)
(define-const $38 Bool (not a5))
(define-const $39 Bool (or a6 $38))
(define-const $72 Bool (not a6))
(define-const $73 Proof (tseitin $72 $39))
(infer (not a6) $39 $73)
(define-const $74 Proof (tseitin a5 $39))
(infer a5 $39 $74)
(define-const $75 Bool (not $39))
(define-const $76 Proof (tseitin a6 $38 $75))
(infer a6 (not a5) (not $39) $76)
(declare-fun x3 () Bool)
(assume (not x3) $39)
(assume x3 (not $39))
(declare-fun a7 () Bool)
(declare-fun a8 () Bool)
(define-const $44 Bool (= a7 a8))
(define-const $78 Bool (not a7))
(define-const $77 Bool (not $44))
(define-const $79 Proof (tseitin $77 a8 $78))
(infer (not a7) a8 (not $44) $79)
(define-const $80 Bool (not a8))
(define-const $81 Proof (tseitin $77 $80 a7))
(infer a7 (not a8) (not $44) $81)
(define-const $82 Proof (tseitin $44 a8 a7))
(infer a7 a8 $44 $82)
(define-const $83 Proof (tseitin $44 $80 $78))
(infer (not a7) (not a8) $44 $83)
(declare-fun x4 () Bool)
(assume (not x4) $44)
(assume x4 (not $44))
(declare-fun a9 () Bool)
(declare-fun a10 () Bool)
(declare-fun a11 () Bool)
(define-const $50 Bool (ite a9 a10 a11))
(define-const $85 Bool (not a9))
(define-const $84 Bool (not $50))
(define-const $86 Proof (tseitin $84 $85 a10))
(infer (not a9) a10 (not $50) $86)
(define-const $87 Proof (tseitin $84 a9 a11))
(infer a9 a11 (not $50) $87)
(define-const $88 Bool (not a10))
(define-const $89 Proof (tseitin $50 $85 $88))
(infer (not a9) (not a10) $50 $89)
(define-const $90 Bool (not a11))
(define-const $91 Proof (tseitin $50 a9 $90))
(infer a9 (not a11) $50 $91)
(define-const $92 Proof (tseitin $88 $90 $50))
(infer (not a10) (not a11) $50 $92)
(define-const $93 Proof (tseitin a10 a11 $84))
(infer a10 a11 (not $50) $93)
(declare-fun x5 () Bool)
(assume (not x5) $50)
(assume x5 (not $50))
(declare-fun a13 () Bool)
(declare-fun a12 () Bool)
(define-const $57 Bool (not a12))
(define-const $58 Bool (or a13 $57))
(define-const $94 Bool (not a13))
(define-const $95 Proof (tseitin $94 $58))
(infer (not a13) $58 $95)
(define-const $96 Proof (tseitin a12 $58))
(infer a12 $58 $96)
(define-const $97 Bool (not $58))
(define-const $98 Proof (tseitin a13 $57 $97))
(infer a13 (not a12) (not $58) $98)
(declare-fun x6 () Bool)
(assume (not x6) $58)
(assume x6 (not $58))
``` 
							
						 
						
							2022-10-10 23:44:03 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								fceedf60dc 
								
							 
						 
						
							
							
								
								wip - proofs  
							
							
							
						 
						
							2022-10-10 16:41:09 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Nikolaj Bjorner 
								
							 
						 
						
							
							
							
							
								
							
							
								de69874076 
								
							 
						 
						
							
							
								
								wip - adding proof checkers, fixes to quantifier proof certificates  
							
							
							
						 
						
							2022-10-10 09:46:22 +02:00