mirror of
https://github.com/Z3Prover/z3
synced 2025-04-07 09:55:19 +00:00
49 lines
923 B
C++
49 lines
923 B
C++
/*++
|
|
Copyright (c) 2012 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
proof_utils.h
|
|
|
|
Abstract:
|
|
|
|
Utilities for transforming proofs.
|
|
|
|
Author:
|
|
|
|
Nikolaj Bjorner (nbjorner) 2012-10-12.
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#ifndef _PROOF_UTILS_H_
|
|
#define _PROOF_UTILS_H_
|
|
|
|
class proof_utils {
|
|
public:
|
|
/**
|
|
\brief reduce the set of hypotheses used in the proof.
|
|
*/
|
|
static void reduce_hypotheses(proof_ref& pr);
|
|
|
|
/**
|
|
\brief Check that a proof does not contain open hypotheses.
|
|
*/
|
|
static bool is_closed(ast_manager& m, proof* p);
|
|
|
|
/**
|
|
\brief Permute unit resolution rule with th-lemma
|
|
*/
|
|
static void permute_unit_resolution(proof_ref& pr);
|
|
|
|
/**
|
|
\brief Push instantiations created in hyper-resolutions up to leaves.
|
|
This produces a "ground" proof where leaves are annotated by instantiations.
|
|
*/
|
|
static void push_instantiations_up(proof_ref& pr);
|
|
|
|
|
|
};
|
|
|
|
#endif
|