GitXplorerGitXplorer
e

guile-smt

public
6 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
0304f3ba0a1072e1159b34b03654f3ea60e06aa3

point to example directory

eedoput committed 6 years ago
Unverified
420cd72e926be5c6ec8ec2107dd7a3a52370fea8

enable support for parametric records

eedoput committed 6 years ago
Unverified
4804b6882040e65ecec55cd4892512f8e2b11dcc

fix deletion of scalar datatypes

eedoput committed 6 years ago
Unverified
3165a1cfff796227a396d4cd0b98459e4d4d23c5

add support for records using datatypes

eedoput committed 6 years ago
Unverified
1ebb150c78790621dcab1ead6aec904738fd8af6

add makefile, handle install and uninstall

eedoput committed 6 years ago
Unverified
26d2350d5d821c4230f5851c1332104a2185f701

fix distinct by changing from macro to function

eedoput committed 6 years ago

README

The README file for this repository.

SMT

Write SMT syntax from Guile.

Some examples in the examples directory

SMT Scheme
assert e smt-assert 'e
declare-sort A smt-sort 'A
define-sort A () Int smt-sort 'A 'Int
define-sort A (T) (Array Int T) smt-sort 'A '(T) '(Array Int T)
declare-fun foo ((p Int) (q Int)) Int smt-fun 'foo '((p Int) (q Int)) 'Int
define-fun foo ((p Int) (q Int)) Int (+ p q) smt-fun 'foo '((p Int) (q Int)) 'Int (+ p q)
declare-const bar Int smt-const 'foo 'Int
minimize e smt-minimize e
maximize e smt-maximize e
declare-datatypes () ((A (Foo Bar Baz ))) smt-scalar 'A '(Foo Bar Baz)
declare-datatypes () ((A (mk-A ((Foo T) (Bar V) (Baz K))))) smt-record 'A '((Foo T) (Bar V) (Baz K))
declare-datatypes (T V K) ((A (mk-A ((Foo T) (Bar V) (Baz K))))) smt-record 'A '((Foo T) (Bar V) (Baz K)) '(T V K)
; a comment smt-comment "a comment"
check-sat smt-check-sat
get-model smt-get-model