dxo: A System for Relational Algebra and Differentiation
Julie Steele, William Byrd

TL;DR
dxo is a miniKanren-based relational system capable of algebraic manipulation and differentiation of mathematical expressions, supporting forward and backward reasoning for differentiation, integration, simplification, and evaluation.
Contribution
It introduces a novel relational framework for algebra and differentiation implemented in miniKanren, enabling bidirectional reasoning over expressions.
Findings
dxo can differentiate polynomials accurately
dxo can perform symbolic integration by running differentiation backwards
dxo simplifies and reorders expressions effectively
Abstract
We present dxo, a relational system for algebra and differentiation, written in miniKanren. dxo operates over math expressions, represented as s-expressions. dxo supports addition, multiplication, exponentiation, variables (represented as tagged symbols), and natural numbers (represented as little-endian binary lists). We show the full code for dxo, and describe in detail the four main relations that compose dxo. We present example problems dxo can solve by combining the main relations. Our differentiation relation, do, can differentiate polynomials, and by running backwards, can also integrate. Similarly, our simplification relation, simpo, can simplify expressions that include addition, multiplication, exponentiation, variables, and natural numbers, and by running backwards, can complicate any expression in simplified form. Our evaluation relation, evalo, takes the same types of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
