All Projects → namin → clpsmt-miniKanren

namin / clpsmt-miniKanren

Licence: MIT license
CLP(SMT) on top of miniKanren

Programming Languages

scheme
763 projects
racket
414 projects

Projects that are alternatives of or similar to clpsmt-miniKanren

Pysmt
pySMT: A library for SMT formulae manipulation and solving
Stars: ✭ 352 (+1035.48%)
Mutual labels:  constraints, smt
VanillaConstraints
🍦 Simplified and chainable AutoLayout constraints for iOS.
Stars: ✭ 42 (+35.48%)
Mutual labels:  constraints
stevia
A simple (unfinished) SMT solver for QF_ABV.
Stars: ✭ 30 (-3.23%)
Mutual labels:  smt
kanren
An extensible, lightweight relational/logic programming DSL written in pure Python
Stars: ✭ 111 (+258.06%)
Mutual labels:  minikanren
conjure
Conjure: The Automated Constraint Modelling Tool
Stars: ✭ 84 (+170.97%)
Mutual labels:  constraints
TargomanSMT
Targoman SMT framework source code
Stars: ✭ 29 (-6.45%)
Mutual labels:  smt
scalogno
prototyping logic programming in Scala
Stars: ✭ 38 (+22.58%)
Mutual labels:  smt
Flask-Validator
Validator for SQLAlchemy Models
Stars: ✭ 27 (-12.9%)
Mutual labels:  constraints
SuperPuperDuperLayout
Super puper duper mega easy awesome wrapper over auto layout!!111!!1!!!1!!!11111!!!1!!
Stars: ✭ 14 (-54.84%)
Mutual labels:  constraints
symbolic-pymc
Tools for the symbolic manipulation of PyMC models, Theano, and TensorFlow graphs.
Stars: ✭ 58 (+87.1%)
Mutual labels:  minikanren
PyMiniSolvers
A Python API for the MiniSat and MiniCard constraint solvers.
Stars: ✭ 18 (-41.94%)
Mutual labels:  constraints
the-thoralf-plugin
This a type-checker plugin to rule all type checker plugins involving type-equality reasoning using smt solvers.
Stars: ✭ 22 (-29.03%)
Mutual labels:  smt
django-db-constraints
Add database table-level constraints to your Django model's Meta
Stars: ✭ 43 (+38.71%)
Mutual labels:  constraints
StoryboardConstraint
A simple way to use programmatically Autolayout Constraint created in Storyboard.
Stars: ✭ 25 (-19.35%)
Mutual labels:  constraints
Driftwood
Driftwood is a DSL to make Auto Layout easy on iOS, tvOS and macOS.
Stars: ✭ 14 (-54.84%)
Mutual labels:  constraints
gominikanren
a Go implementation of miniKanren, an embedded Domain Specific Language for logic programming.
Stars: ✭ 28 (-9.68%)
Mutual labels:  minikanren
mv-postgresql
Postgresql constraints in migrations similiar to ActiveRecord validations
Stars: ✭ 19 (-38.71%)
Mutual labels:  constraints
Formidable
The PHP pragmatic forms library
Stars: ✭ 116 (+274.19%)
Mutual labels:  constraints
GHOST
General meta-Heuristic Optimization Solving Toolkit
Stars: ✭ 28 (-9.68%)
Mutual labels:  constraints
py2many
Transpiler of Python to many other languages
Stars: ✭ 420 (+1254.84%)
Mutual labels:  smt

CLP(SMT)-miniKanren

Canonical miniKanren implementation, augmented with CLP(SMT).

This repository adds SMT hooks: z/assert takes a boolean arithmetic expression with variables (integer by default), z/ takes an SMT statement, z/purge manually purges the SMT constraints into an enumeration of models, z/check only fails if the constraints are unsatisfiable.

See also:

Background on miniKanren

Starts with the language described in the paper:

William E. Byrd, Eric Holk, and Daniel P. Friedman. miniKanren, Live and Untagged: Quine Generation via Relational Interpreters (Programming Pearl). To appear in the Proceedings of the 2012 Workshop on Scheme and Functional Programming, Copenhagen, Denmark, 2012.

CORE LANGUAGE

Logical operators:

== fresh conde

Interface operators:

run run*

EXTENDED LANGUAGE

Constraint operators:

=/= symbolo numbero absento

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].