static transformable record BasicLogicRule(lhs, rhs) { O trail; toString { ret lhs + " => " + rhs; } }