All Downloads are FREE. Search and download functionalities are using the official Maven repository.

z3-z3-4.12.6.src.qe.mbp.mbp_qel_util.h Maven / Gradle / Ivy

There is a newer version: 4.13.0.1
Show newest version
/*++
Copyright (c) 2022 Microsoft Corporation

Module Name:

    mbp_qel_util.h

Abstract:

    Utility methods for mbp_qel

Author:

    Hari Govind V K (hgvk94) 2023-03-07

Revision History:

--*/

#pragma once

#include "ast/array_decl_plugin.h"
#include "ast/ast.h"
#include "ast/ast_pp.h"
#include "ast/ast_util.h"
#include "ast/for_each_expr.h"
#include "ast/pp.h"

// check if e contains any apps from vars
// if fid and dk are not null, check if the variable is of desired sort
bool contains_vars(expr *e, obj_hashtable const &vars, ast_manager &man,
                   family_id fid = null_family_id,
                   decl_kind dk = null_decl_kind);

app_ref new_var(sort *s, ast_manager &m);

// Return all uninterpreted constants of \p q
void collect_uninterp_consts(expr *e, obj_hashtable &out);
// collect all uninterpreted consts used as array indices or values
void collect_selstore_vars(expr *fml, obj_hashtable &vars,
                           ast_manager &man);




© 2015 - 2024 Weber Informatics LLC | Privacy Policy