Overview

Expresso is a Java library developed at SRI International's Artificial Intelligence Center for representing and evaluating symbolic expressions in Java. The representation portion of Expresso concentrates on:

The evaluation portion of Expression is contained in its package grinder. Its base algorithm is called Symbolic Generic DPLL Modulo Theories (SGDPLL(T)), detailed in the paper

"Probabilistic Inference Modulo Theories",
de Salvo Braz, R., O'Reilly, C., Gogate, V., Dechter, R.,
Proc. of the 25th International Joint Conference on Artificial Intelligence (IJCAI-16).
(revised version, original version, bibtex)

The current implementation includes theories for In the future, we will also have:

AIC-PRAiSE is the motivating application for the functionality developed as part of this library.

Your possible next steps:

Symbolic Shell (requires a browser supporting Java Web Start. You also need to whitelist http://aic-sri-international.github.io and authorize applications to run from the browser in the Java Control Panel, which in Windows is an icon in the Control Panel, and in other platforms is a separate application).

Symbolic shell screenshot