z3-src 503.2.2

Source distribution of the Z3 SMT solver, for use as a build dependency
Documentation
/*++
Copyright (c) 2026 Romain Soulat

Module Name:

    ff_solve_tactic.h

Abstract:

    Registration entry points for the prime-field tactics: ff-solve,
    ff-sat, ff-simplify, and ff-unique.

Author:

    Romain Soulat

--*/
#pragma once
#include "util/params.h"
class ast_manager;
class tactic;
tactic *mk_ff_solve_tactic(ast_manager &m, params_ref const &p = params_ref());
tactic *mk_ff_sat_tactic(ast_manager &m, params_ref const &p = params_ref());
tactic *mk_ff_simplify_tactic(ast_manager &m, params_ref const &p = params_ref());
tactic *mk_ff_unique_tactic(ast_manager &m, params_ref const &p = params_ref());
#include "tactic/tactic.h"
Z3_ADD_TACTIC(ff_sat, "ff-sat", "combine Boolean SAT search with modular field algebra.", mk_ff_sat_tactic(m, p));
Z3_ADD_TACTIC(ff_solve, "ff-solve", "solve prime-field conjunctions using modular elimination and Groebner bases.",
              mk_ff_solve_tactic(m, p));
Z3_ADD_TACTIC(ff_simplify, "ff-simplify", "simplify field expressions and propagate constants (no certificates).",
              mk_ff_simplify_tactic(m, p));
Z3_ADD_TACTIC(ff_unique, "ff-unique", "decide field circuit determinism queries by uniqueness propagation.",
              mk_ff_unique_tactic(m, p));