mirror of
https://github.com/Z3Prover/z3
synced 2026-02-20 07:24:40 +00:00
base implementation for cardinality constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
4068460a0f
commit
f8b2268424
8 changed files with 552 additions and 15 deletions
|
|
@ -3356,8 +3356,8 @@ proof * ast_manager::mk_th_lemma(
|
|||
}
|
||||
pr = mk_app(get_family_name(tid), args.size(), args.data(), mk_proof_sort());
|
||||
args.reset();
|
||||
args.push_back(pr.get());
|
||||
args.append(num_proofs, (expr**) proofs);
|
||||
args.push_back(pr.get());
|
||||
args.push_back(fact);
|
||||
return mk_app(basic_family_id, PR_TH_LEMMA, parameters.size(), parameters.data(), args.size(), args.data());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2328,7 +2328,7 @@ public:
|
|||
unsigned get_num_parents(proof const * p) const {
|
||||
SASSERT(is_proof(p));
|
||||
unsigned n = p->get_num_args();
|
||||
return !has_fact(p) ? n : n - 1;
|
||||
return p->get_decl()->get_decl_kind() == PR_TH_LEMMA ? n - 2 : !has_fact(p) ? n : n - 1;
|
||||
}
|
||||
proof * get_parent(proof const * p, unsigned idx) const { SASSERT(is_proof(p)); return to_app(p->get_arg(idx)); }
|
||||
proof * mk_true_proof();
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ Abstract:
|
|||
|
||||
--*/
|
||||
|
||||
#pragma once
|
||||
#include "ast/rewriter/th_rewriter.h"
|
||||
|
||||
struct theory_axiom {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue