Skip to main content

resolve_conflict

Function resolve_conflict 

Source
pub fn resolve_conflict(
    a: &DefeasibleRule,
    b: &DefeasibleRule,
    sup: &[(u64, u64)],
    mode: AmbiguityMode,
) -> Conclusion
Expand description

Resolve a conflict between two opposing rules, given the superiority relation and ambiguity mode. Non-conflicting inputs yield a’s polarity. Semantics (Nute / Governatori):

  • A Strict rule dominates a non-strict opponent.
  • Otherwise a side concludes only if its rule is superior to the opponent AND can conclude (a superior Defeater merely blocks → Undecided, never its own polarity).
  • With neither superior, the stand-off is Undecided (blocking) or Ambiguous (propagating).