3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-20 15:34:41 +00:00

bug fixes

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2025-10-27 05:51:42 +01:00
parent c832802183
commit d847a28589
10 changed files with 118 additions and 76 deletions

View file

@ -3338,26 +3338,12 @@ proof * ast_manager::mk_th_lemma(
if (proofs_disabled())
return nullptr;
proof_ref pr(*this);
ptr_buffer<expr> args;
vector<parameter> parameters;
parameters.push_back(parameter(get_family_name(tid)));
for (unsigned i = 0; i < num_params; ++i) {
auto const &p = params[i];
parameters.push_back(p);
if (p.is_symbol())
args.push_back(mk_app(p.get_symbol(), 0, nullptr, mk_proof_sort()));
else if (p.is_ast() && is_expr(p.get_ast()))
args.push_back(to_expr(p.get_ast()));
else if (p.is_rational()) {
arith_util autil(*this);
args.push_back(autil.mk_real(p.get_rational()));
}
}
pr = mk_app(get_family_name(tid), args.size(), args.data(), mk_proof_sort());
args.reset();
for (unsigned i = 0; i < num_params; ++i)
parameters.push_back(params[i]);
ptr_buffer<expr> args;
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());
}