Pythia is Praline v2 + Meringue v2.
In its current form, Pythia is an interpreter for a language, also called Pythia, with Python-ish syntax.
The Pythia language is a meta-language for a higher-order epistemic logic.
This repo is a snapshot of work-in-progress. There are a small number (~50) of test cases, most of which are passing (though a handful spuriously).
git clone https://git.sr.ht/~ptrj/pythia
cd pythia
git submodule update --init --recursive
make
make i
./target/release/pythia <source.pythia>
Currently, our primary motivation is for Pythia to be an excellent programming environment in which to scalably implement a parser from natural language to logical forms (e.g. for auto-formalizing natural language mathematics). Pythia can be understood as an operationalization of the program described in:
- https://peterhj.github.io/notes/loglang.html
- https://peterhj.github.io/notes/parse.html
- https://peterhj.github.io/notes/roadmap.html
The design of Pythia intentionally addresses limitations in the implementation of Praline v1, and also unifies the logical frameworks in both Praline and Meringue.
- Dodona (Daniel Selsam, Jesse Michael Han, Leonardo de Moura, Patrice Godefroid)
- Dusa (Chris Martens, Robert J. Simmons, Michael Arntzenius)
- Executable semantic parsing (Percy Liang)
- Operational semantics of smart choices (Martín Abadi, Gordon D. Plotkin)
- Prolog (Alain Colmerauer, Philippe Roussel, Robert Kowalski)
Apache 2.0 License