+
Skip to content

erdos/cogent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cogent

A small and naive rule engine with Equality Saturation[1] in Clojure.

example workflow contributions welcome EPL 2.0

Usage

  1. Install Leiningen
  2. Clone this repository
  3. Enter the REPL: $ lein repl

Check if two expressions are in the same e-class:

cogent.core=> (congruent? 3 '(d x (* 3 x)))
true

congruent.core=> (tautology? '(or x (and true (not x))))
true

Status

Goal Status
Equality Saturation engine done
Congruence checker done
Tautology checker done
Contradiction checker done
Performance improvements work in progress
General purpose simplifier design phase
General purpose solver design phase

Implemented rule sets:

  • Calculus: symbolic differentiation: work in progress
  • First order logic: work in progress
  • Elementary algebra: work in progress
  • SKI-calculus: done

Resources

  1. egg: Fast and extensible equality saturation
  2. Efficiency of a Good But Not Linear Set Union Algorithm

License

Copyright © 2021 Janos Erdos

This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

About

a small theorem prover in clojure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载