After more trying, I don't actually understand its syntax despite looking at the quick reference and instructions and the language
x,Hx->Mx
Hs
->
Ms
returns: necessarily true
x,Hx->Mx
Hs->Ms
returns: contingent
The only change is newlines. The quick reference says nothing about newlines. What's going on?
To do ~(Hs->Ms) instead of Hs->~Ms I have no choice but to put it on one line, if I try to use parenthesis on a multiline statement it gives errors. So how can I compare the multiline Hs->~Ms with a ~(Hs->Ms) that has the same newline behavior?
It could really use more examples, starting as simple as possible, e.g. something with fruits and colors with all simple combinations of true and contingent and self-contradictory things...
Is this syntax based on the syntax used in some scientific field? I also know some things about logic, but in the field of electronics with logic gates, CPU instructions, bit twiddling and programming languages :)
EDIT: update for hacker news itself destroying newlines