processRule method

void processRule(
  1. Logic a,
  2. Logic b
)

Process a -> b rule

Implementation

void processRule(Logic a, Logic b) {
  if (_rulesSeen.contains((a, b))) {
    return;
  } else {
    _rulesSeen.add((a, b));
  }

  // this is the core of processing
  try {
    _processRule(a, b);
  } on _TautologyDetected {
    // ignore
  }
}