- Homepage
- Documentation
- [Email](mailto:jweissman1986 at gmail.com)
Logic is a logic programming framework for Ruby.
- Symbolic logic
- Very simple SAT solver
require 'logic'
include Logic
prelude! # => [:a, :b, :c, :d, :t, :u, :v, :w, :x, :y, :z]
# construct logical propositions algebraically
expr = (a ^ -b) | (a > b) # => (a and not b) or (a then b)
# find solutions
expr.solve
# => [{:a=>true, :b=>true},
# {:a=>true, :b=>false},
# {:a=>false, :b=>true},
# {:a=>false, :b=>false}]
# simplify
((a > b) ^ a).reduce
# => b
Ruby 2.x
$ gem install logic
[...gem installation...]
$ logic
[...interactive environment, wip...]
Copyright (c) 2016 Joseph Weissman
See {file:LICENSE.txt} for details.