mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 13:29:11 +00:00 
			
		
		
		
	add recfun rewriting, remove quantifier based recfun
This commit is contained in:
		
							parent
							
								
									7f1b147cba
								
							
						
					
					
						commit
						f9193809ea
					
				
					 13 changed files with 94 additions and 143 deletions
				
			
		| 
						 | 
				
			
			@ -72,14 +72,11 @@ extern "C" {
 | 
			
		|||
        expr * const* ps = reinterpret_cast<expr * const*>(patterns);
 | 
			
		||||
        expr * const* no_ps = reinterpret_cast<expr * const*>(no_patterns);
 | 
			
		||||
        symbol qid = to_symbol(quantifier_id);
 | 
			
		||||
        bool is_rec = mk_c(c)->m().rec_fun_qid() == qid;
 | 
			
		||||
        if (!is_rec) {
 | 
			
		||||
            pattern_validator v(mk_c(c)->m());
 | 
			
		||||
            for (unsigned i = 0; i < num_patterns; i++) {
 | 
			
		||||
                if (!v(num_decls, ps[i], 0, 0)) {
 | 
			
		||||
                    SET_ERROR_CODE(Z3_INVALID_PATTERN, nullptr);
 | 
			
		||||
                    return nullptr;
 | 
			
		||||
                }
 | 
			
		||||
        pattern_validator v(mk_c(c)->m());
 | 
			
		||||
        for (unsigned i = 0; i < num_patterns; i++) {
 | 
			
		||||
            if (!v(num_decls, ps[i], 0, 0)) {
 | 
			
		||||
                SET_ERROR_CODE(Z3_INVALID_PATTERN, nullptr);
 | 
			
		||||
                return nullptr;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        sort* const* ts = reinterpret_cast<sort * const*>(sorts);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue