•        1

Dependency: See .pro. Use a lot of C++1y feature so need a good compiler. Build: This is a header only library. Include the header you want.



Related Projects

HOL - Canonical sources for HOL4 theorem-proving system

  •    Standard

This is the distribution directory for the Kananaskis release of HOL4. See for online resources. The following is a brief listing of what's available in the distribution.

HOL theorem-proving system


HOL is a system for proving theorems in Higher Order Logic. It comes with a large variety of existing theories formalising various parts of mathematics and theoretical computer science.


  •    Java

Euler Yet another proof Engine

Intercalation Calculus Prover


An ML-based automated theorem prover for propositional logic making use of an algorithm in the intercalation calculus.

cakeml - CakeML: A Verified Implementation of ML

  •    Standard

CakeML is a verified implementation of a significant subset of Standard ML. The source and proofs for CakeML are developed in the HOL4 theorem prover. We use the latest development version of HOL4, which we build on PolyML 5.7. Example build instructions can be found in

lean - Lean Theorem Prover

  •    C++

Stable and nightly binary releases of Lean are available on the homepage. For building Lean from source, see the build instructions.

certigrad - Bug-free machine learning on stochastic computation graphs

  •    Lean

Specifically, Certigrad is a system for optimizing over stochastic computation graphs, that we debugged systematically in the Lean Theorem Prover, and ultimately proved correct in terms of the underlying mathematics. Stochastic computation graphs extend the computation graphs that underlie systems like TensorFlow and Theano by allowing nodes to represent random variables and by defining the loss function to be the expected value of the sum of the leaf nodes over all the random choices in the graph. Certigrad allows users to construct arbitrary stochastic computation graphs out of the primitives that we provide. The main purpose of the system is to take a program describing a stochastic computation graph and to run a randomized algorithm (stochastic backpropagation) that, in expectation, samples the gradients of the loss function with respect to the parameters.



A beginners' level theorem prover project for logic students. Okitsune is written in Haskell and open for contributions.


  •    Java

Artificial Intelligence techniques applied to common software tasks, using First Order Logic; N3, OWL ontologies and rules. Enables component-based application building, platform independence, user-friendliness. Leverage on Euler inference engine + GUI.

Citizen Privacy Service

  •    Java

The Citizen Privacy Service is an asynchronous component using artificial intelligence capabilities including DL decidability and first order logic provenance that provide policy decision and policy enforcement points based on the US Privacy Act of 1974.


  •    Java

Sigma knowledge engineering system is an system for developing, viewing and debugging theories in first order logic. It works with Knowledge Interchange Format (KIF) and is optimized for the Suggested Upper Merged Ontology (SUMO)

jAllinOne ERP/CRM/Mobile/eCommerce

  •    Java

JAllInOne is a suite of products First of all, it is an ERP/CRM SOA based application having a Swing UI. It manages item variants, warehouse, selling, POS, provisioning, order tracking, BOM, manufactures, accounting, callouts, agenda, documents and supports multiple languages/companies/currencies. JAllInOne Mobile is an Ajax based application, tuned for mobile devices to use for warehouse management (inward/outwards, inventory, etc) JAllInOne eCommerce is an Ajax based web application. It

transient - A full stack, reactive architecture for general purpose programming

  •    Haskell

It's a bit mind bending in that it's like using a higher-level list monad, but it's very, very cool. For beginning Haskellers, what would be really useful is a visualisation of what happens when you do various distributed/parallel stuff. It's almost shocking how effortlessly you can run computations across threads/nodes. The cool part is the composability in the distributed setting. You can make higher-order monadic functions that allow you to compose & reuse a long chain of distributed transactions via wormhole and teleport. Another benefit is that the transaction becomes first class and you can see exactly what's going on in one place instead of distributing the logic across actors making the code equivalent to event callbacks, as you've stated.

Caledon - Logic Programming Language

  •    Haskell

Caledon is a dependently typed, polymorphic, higher order logic programming language. ie, everything you need to have a conversation with your computer. A language/system for conversing with the machine in a manner less one sided and instructional than regular programming. It is good at defining DSLs.

reclare - Declarative State and Logic Management

  •    Javascript

Reclare is a lightweight library to manage the application state alongside business logic, without compromising from the predictability of the state. It is inspired by Redux and the Elm architecture and includes many of the familiar concepts. Upon the broadcast of increment, the first declaration will be invoked. It will increment the counter and log the updated number. decrement event hits two declarations. First one only invokes when the counter is greater than zero and decrements the counter. Second one invokes when counter is zero, and alerts the error message.

cello - Genetic circuit design automation

  •    Java

The Cello input is a high-level logic specification written in Verilog, a hardware description language. The code is parsed to generate a truth table, and logic synthesis produces a circuit diagram with the genetically available gate types to implement the truth table. The gates in the circuit are assigned using experimentally characterized genetic gates. In assignment, a predicted circuit score guides a breadth-first search, or a Monte Carlo simulated annealing search. The assignment with the highest score is chosen, and this assignment can be physically implemented in a combinatorial number of different genetic layouts. The Eugene language is used for rule-based constrained combinatorial design of one or more final DNA sequence(s) for the designed circuit. Verilog programs start with a module keyword, followed by the module name, followed by the list of output and input wire names. Within a module definition, Cello currently parses three forms of Verilog: case statements, assign statements, and structural elements (examples below). Verilog code can be entered using a text editor and saved with a .v extension.

AxonFramework - High Performance and Scalability framework for Java

  •    Java

A CQRS (Command Query Responsibility Segregation) Framework for Scalable, High-Performance Java Applications.

vue-express-mongo-boilerplate - :star: MEVN Full stack JS web app boilerplate with NodeJS, Express, Mongo and VueJS

  •    Javascript

This is a full stack webapp boilerplate project with VueJS + ExpressJS + MongoDB. It is NOT an out-of-box project. I make it in order to create an up-to-date starter repo which contains all important functions (user signup, login, oauth, profile, ...etc) except the business-logic. So when neccessary I can create a new webapp and only need to develop the business logic.

The Ambisonic Reflector

  •    C++

The Ambisonic Reflector is a VST plugin which combines an Ambisonic panner with first, second or third order capabilities coupled with a first reflections generator, also capable of first, second or third order operation.

FStar - Verification system for effectful programs

  •    OCaml

The F* tutorial provides a first taste of verified programming in F*, explaining things by example. The F* wiki contains additional, usually more in-depth, technical documentation on F*.