Lurch is a math word processor which allows you to create documents, insert a full mathematical argument, and validate it, too. Not just arithmetic, either: the program also supports algebra, calculus and proofs.
At its simplest, Lurch can be used as a basic editor with OpenMath-based support for equations. Create a text document with the usual core text formatting options - font, alignment, indentation, lists - and enter math expressions as required in calculator or TeX notation. Or just by clicking your preferred symbols on the toolbar.
Whatever you create is immediately rendered using MathJax, the same display engine used to display equations in just about every browser. And Lurch can save your work as an HTML page, or just a fragment of HTML code, ready for sharing with others.
The program isn't just about static text entry, though. Simple markup tools allow you to tell Lurch what different parts of the document mean. In the example expression "Since 1<2 and 2<3 we know that 1<3 by transitivity", you would mark up "1<2", "2<3" and "1<3" as meaningful, "transitivity" as the reason, and click "Validate" to have the program check and confirm your work.
Better still, the power behind all this isn't buried in the source code. Lurch validates your arguments using more than 100 predefined rules, covering everything from "addition" and "multiplication" to "logic", "DeMorgan" and "Cartesian product". These are all freely viewable (click Meaning > List all defined rules), and you can even add new rules of your own, as necessary.
Lurch isn't for math beginners. You still have to construct an argument before the program can validate it. But if that's no problem, the rest of the program works very well indeed: it's easy to use, gives you plenty of freedom in defining your proof, and can easily be extended with custom validation rules.