logic_adjoint.rb revision 930c3dc1d778b713c3c77550f1c82d8ef8d7fa8e