Moral Dilemmas

A moral dilemma is a situation in which every option is morally bad.

Wikipedia: Ethical Dilemma

A moral dilemma is a situation in which there are at least two obligations that cannot all be done.

Stanford Encyclopedia of Philosophy: Moral Dilemmas

A moral dilemma is a situation in which the moral guidance provides no good choice, generally due to conflicting suggestions.

Discussion

A moral dilemma is a dilemma in the context of a moral judgment: a situation in which it’s not clear what is right. A desired property of moral theories is to be uniquely action-guiding1See SEP: Moral Dilemmas. A local solution is to add information to the theory to give precedence to one option over the others2The GenEth system works with high-level principles and learns from human feedback to determine rules and weights that produce the correct moral recommendations.. I know of no general solution to solve moral dilemmas.

The SUMO formalization from draft 3 involves the notion of a choice point, which is a non-empty set of processes from which an agent could decide what to do.

SUMO

Two ways to formalize the Wikipedia-style definition:

  1. A choice point is a moral dilemma if and only if there’s an agent facing its decision who judges every option to be morally bad.
  2. A choice point is a moral dilemma if and only if for every option, there is a valid deductive argument that it is morally bad.
(documentation MoralDilemma EnglishLanguage "A moral dilemma is a choice point where there exist arguments that each option is morally bad.")
(subclass MoralDilemma ChoicePoint)

(<=>
  (instance ?MD MoralDilemma)
  (and
    (instance ?MD ChoicePoint)
    (exists (?DECIDE ?AGENT)
      (and
        (instance ?DECIDE Deciding)
        (patient ?DECIDE ?MD)
        (agent ?DECIDE AGENT)
        (forall (?BEHAVE)
          (=> 
            (element ?BEHAVE ?MD)
            (exists (?JUDGE)
                (and 
                  (instance ?JUDGE MoralJudging)
                  (agent ?JUDGE ?AGENT)
                  (result ?JUDGE 
                    (modalAttribute 
                      (exists (?I)
                        (instance ?I ?BEHAVE)) MorallyBad))))))))))

(<=>
  (instance ?MD MoralDilemma)
  (and
    (instance ?MD ChoicePoint)
    (forall (?BEHAVE)
      (=> 
        (element ?BEHAVE MD)
        (exists (?ARG)
          (and 
            (instance ?ARG ValidDeductiveArgument)
            (conclusion 
              (modalAttribute 
                (exists (?I)
                  EHAVE(instance ?I ?B)) MorallyBad) ?ARG)))))))

One formalization of the SEP-style definition is that a choice point and imperative deontological theory is a moral dilemma if and only if there are (at least) two behaviors and obligations (entailed by the theory) that cannot both be realized.

(<=>
  (instance ?MD MoralDilemma)
  (and
    (instance ?MD ChoicePoint)
    (instance ?MT DeontologicalImperativeTheory)
    (exists (?BEHAVE1 ?BEHAVE2 ?AGENT ?DECIDE ?OBL1 ?OBL2)
      (and 
        (element ?BEHAVE1 ?MD)
        (element ?BEHAVE2 ?MD)
        (equal ?OBL1 (modalAttribute (exists (?I) (instance ?I ?BEHAVE1)) Obligation))
        (equal ?OBL2 (modalAttribute (exists (?I) (instance ?I ?BEHAVE2)) Obligation))
        (not (modalAttribute 
          (exists (?I1 ?I2)
            (and 
              (instance ?I1 ?BEHAVE1)
              (instance ?I2 ?BEHAVE2))) Possibility))
        (entails (ListAndFn (SetToListFn ?MT)) ?OBL1)
        (entails (ListAndFn (SetToListFn ?MT)) ?OBL2)))))