```
PosetRelation transitivity(PosetRelation R, PosetRelation S)
{
// These if conditions are typically ordered from easiest to
// most involved-to-check.
if (R.op == S.op &&
is(typeof(R) == typeof(S)) &&
R.right == S.left)
{
return new typeof(R)(
R.left, S.right,
by("transitivity of " ~ R.op)); // Proof by this
axiom
}
return null; } ``` Not sure if that would work yet. Have to test it.
