3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-13 20:38:43 +00:00
z3/src/ackermannization/ackr_helper.cpp
Nikolaj Bjorner 228d68f165 enhance ackermannize for constant arguments
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-07 16:36:09 +03:00

31 lines
709 B
C++

/*++
Copyright (c) 2016 Microsoft Corporation
Module Name:
ackr_helper.cpp
Abstract:
Author:
Mikolas Janota (MikolasJanota)
Revision History:
--*/
#include "ackermannization/ackr_helper.h"
double ackr_helper::calculate_lemma_bound(fun2terms_map const& occs1, sel2terms_map const& occs2) {
double total = 0;
for (auto const& kv : occs1) {
total += n_choose_2_chk(kv.m_value->var_args.size());
total += kv.m_value->const_args.size() * kv.m_value->var_args.size();
}
for (auto const& kv : occs2) {
total += n_choose_2_chk(kv.m_value->var_args.size());
total += kv.m_value->const_args.size() * kv.m_value->var_args.size();
}
return total;
}