Componolit / AZ3

Ada binding to the Z3 Theorem Prover

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AZ3 - Z3 Binding for Ada

AZ3 is an Ada binding to the Z3 theorem prover.

NOTE: This binding is not complete, yet. If you are missing a feature, feel free to open an issue or contribute through a pull request on GitHub.

Usage

with Ada.Text_IO; use Ada.Text_IO;
with Z3; use Z3;

procedure Use_Z3
is
   S : Solver := Create;
begin
   S.Assert (Int ("X") < Int (3) and Int ("X") > Int (100));
   if S.Check = Result_False then
      Put_Line ("Contradiction found");
   end if;
end Use_Z3;

Background

The thin-binding was extracted from the Z3 sources using

$ gcc -fdump-ada-spec -c z3/z3/src/api/z3.h

GNAT version:

$ gcc --version
gcc (GCC) 9.3.1 20200430 (for GNAT Community 2020 20200429)
Copyright (C) 2019 Free Software Foundation, Inc.

License

MIT License (same as Z3). See LICENSE.txt for details.

About

Ada binding to the Z3 Theorem Prover

License:MIT License


Languages

Language:Ada 99.7%Language:Makefile 0.3%