mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-03 21:09:11 +00:00 
			
		
		
		
	merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
						commit
						c513f3ca09
					
				
					 883 changed files with 13979 additions and 16480 deletions
				
			
		| 
						 | 
				
			
			@ -73,6 +73,7 @@ namespace opt {
 | 
			
		|||
        generic_model_converter& m_fm;
 | 
			
		||||
        progress_callback * m_callback;
 | 
			
		||||
        symbol              m_logic;
 | 
			
		||||
        model_ref           m_model;
 | 
			
		||||
        svector<smt::theory_var>  m_objective_vars;
 | 
			
		||||
        vector<inf_eps>     m_objective_values;
 | 
			
		||||
        sref_vector<model>  m_models;
 | 
			
		||||
| 
						 | 
				
			
			@ -85,6 +86,31 @@ namespace opt {
 | 
			
		|||
        bool                m_was_unknown;
 | 
			
		||||
    public:
 | 
			
		||||
        opt_solver(ast_manager & m, params_ref const & p, generic_model_converter& fm);
 | 
			
		||||
        ~opt_solver() override;
 | 
			
		||||
 | 
			
		||||
        solver* translate(ast_manager& m, params_ref const& p) override;
 | 
			
		||||
        void updt_params(params_ref const& p) override;
 | 
			
		||||
        void collect_param_descrs(param_descrs & r) override;
 | 
			
		||||
        void collect_statistics(statistics & st) const override;
 | 
			
		||||
        void assert_expr_core(expr * t) override;
 | 
			
		||||
        void push_core() override;
 | 
			
		||||
        void pop_core(unsigned n) override;
 | 
			
		||||
        lbool check_sat_core(unsigned num_assumptions, expr * const * assumptions) override;
 | 
			
		||||
        void get_unsat_core(ptr_vector<expr> & r) override;
 | 
			
		||||
        void get_model_core(model_ref & _m) override;
 | 
			
		||||
        proof * get_proof() override;
 | 
			
		||||
        std::string reason_unknown() const override;
 | 
			
		||||
        void set_reason_unknown(char const* msg) override;
 | 
			
		||||
        void get_labels(svector<symbol> & r) override;
 | 
			
		||||
        void set_progress_callback(progress_callback * callback) override;
 | 
			
		||||
        unsigned get_num_assertions() const override;
 | 
			
		||||
        expr * get_assertion(unsigned idx) const override;
 | 
			
		||||
        ast_manager& get_manager() const override { return m; }
 | 
			
		||||
        lbool find_mutexes(expr_ref_vector const& vars, vector<expr_ref_vector>& mutexes) override;
 | 
			
		||||
        lbool preferred_sat(expr_ref_vector const& asms, vector<expr_ref_vector>& cores) override;
 | 
			
		||||
        expr_ref_vector cube(expr_ref_vector&, unsigned) override { return expr_ref_vector(m); }
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
        virtual ~opt_solver();
 | 
			
		||||
 | 
			
		||||
        virtual solver* translate(ast_manager& m, params_ref const& p);
 | 
			
		||||
| 
						 | 
				
			
			@ -108,7 +134,7 @@ namespace opt {
 | 
			
		|||
        virtual ast_manager& get_manager() const { return m; } 
 | 
			
		||||
        virtual lbool find_mutexes(expr_ref_vector const& vars, vector<expr_ref_vector>& mutexes);
 | 
			
		||||
        virtual lbool preferred_sat(expr_ref_vector const& asms, vector<expr_ref_vector>& cores);
 | 
			
		||||
        virtual expr_ref_vector cube(expr_ref_vector&, unsigned) { return expr_ref_vector(m); }
 | 
			
		||||
#endif
 | 
			
		||||
        void set_logic(symbol const& logic);
 | 
			
		||||
 | 
			
		||||
        smt::theory_var add_objective(app* term);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue