Wyrm – Exact conditional-sound symbolic algebra engine

Show HN: Wyrm – Solve algebra by touch, built on an open-source soundness engine

Wyrm is an open-source, conditionally-sound symbolic algebra engine built in Pure TypeScript that powers gesture-based math interfaces. It enables users to solve equations by dragging terms, tapping powers, or pulling out factors, ensuring that every legal move is possible while illegal ones are impossible. By treating conditions like division by zero as first-class visible assumptions, Wyrm guarantees mathematical soundness without floating-point approximations. The engine runs anywhere from Node to browsers and native webviews, offering a robust foundation for building intuitive, manipulative math applications like the Wyrm Math app.

The core invariant: legal moves are possible, illegal moves are impossible.
  1. dharmatech

    Very cool!

    Here's a demo of a library for interactively eliminating variables from sets of equations:

    https://youtu.be/7ysUdxTfKhU?is=lE5o9Besk1XNnggP

    Source:

    https://github.com/dharmatech/combine-equations.py

    The interactive gui part starts at 4:08. Before that is the setup and context of the example.

    If you ever move in the direction of supporting sets of equations and isolating variables, consider using colors to indicate known values and unknown values as is done in this library.

    I test this library on exercises you'd find in college physics (motion, constant acceleration, projectile motion, Newton's laws, etc.) since these involve sets of equations and eliminating variables so that you have expressions in terms of known values.

    The above demo uses a jupyterlite notebook, so everything runs client side in the browser. No server side kernel necessary.

    To use your interactive fluid style in this library to eliminate variables, I could see the user first isolating that variable. Then dragging that variable they want to eliminate over an instance of that variable in another equation. So that's effectively the user saying "replace this variable with this expression".

  2. siraben

    This is very cool! I'd like to see a version for theorem proving/equational reasoning as well because I think the ideas behind reasoning about functional programs and proving properties about them are just many cases of rule-applying but people don't staring at equations or jump straight to a theorem prover, whereas a visual interface might make the transition a lot easier.

  3. senkora

    This is awesome. Congrats on shipping!

    The nearest thing that I've heard of is Wolfram Alpha's step-by-step solution solvers, but the worry with those is always that it's too easy for the student to just keep clicking next step and not learn anything.

    I appreciate how this frames algebra as a puzzle instead of a problem :)

    The Wolfram thing: https://www.wolframalpha.com/examples/pro-features/step-by-s...

    Specifically this one: https://www.wolframalpha.com/input?i=find+t+for+t%5E2+%2B+3t...

More from this day

2026-07-10