3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-08 01:50:55 +00:00

Spacer engine for HORN logic

The algorithms implemented in the engine are described in the following papers

Anvesh Komuravelli, Nikolaj Bjørner, Arie Gurfinkel, Kenneth L. McMillan:
Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays. FMCAD 2015: 89-96

Nikolaj Bjørner, Arie Gurfinkel:
Property Directed Polyhedral Abstraction. VMCAI 2015: 263-281

Anvesh Komuravelli, Arie Gurfinkel, Sagar Chaki:
SMT-Based Model Checking for Recursive Programs. CAV 2014: 17-34
This commit is contained in:
Arie Gurfinkel 2017-07-31 15:33:41 -04:00
parent 9f9dc5e19f
commit 5b9bf74787
54 changed files with 18050 additions and 3 deletions

View file

@ -0,0 +1,46 @@
/*++
Copyright (c) 2017 Arie Gurfinkel
Module Name:
spacer_matrix.h
Abstract:
a matrix
Author:
Bernhard Gleiss
Revision History:
--*/
#ifndef _SPACER_MATRIX_H_
#define _SPACER_MATRIX_H_
#include "ast.h"
namespace spacer {
class spacer_matrix {
public:
spacer_matrix(unsigned m, unsigned n); // m rows, n colums
unsigned num_rows();
unsigned num_cols();
rational get(unsigned i, unsigned j);
void set(unsigned i, unsigned j, rational v);
unsigned perform_gaussian_elimination();
void print_matrix();
void normalize();
private:
unsigned m_num_rows;
unsigned m_num_cols;
vector<vector<rational>> m_matrix;
};
}
#endif