Consequentialism is the ethical theory that holds that whether an act is morally good or bad depends only on the consequences.

Stanford Encyclopedia of Philosophy


Consequentialism as an ethical paradigm makes a claim about the justification of moral judgments. The focus is on why certain acts are morally good (bad or neutral). Another view is that consequentialism claims that “what matters is how well things go.”1Derek Parfit’s On What Matters, Volume 1, page 26. The idea is that moral judgments should be made by reference to what matters, which is how good or bad the situations are.

Consequentialism is typically used to refer to descendants of utilitarianism2See SEP. which may generalize beyond utility in the sense of measuring satisfaction alone while still adhering to the utilitarian paradigm3State consequentialism, for example, optimizes for the welfare of the state, which is not a direct aggregate of individual welfare.. The consequences prior to the act could be included in moral considerations, too4Derek Parfit notes in Reasons and Persons that if equitable consequences are desired over time, then one must factor in past consequences. One hack is to say that we care about the value of our egalitarian utility function, which is measured in the future light cone of an act, so consequentialist accounting doesn’t technically need to stretch into the past.. Strictly speaking, consequentialism does not need to be utilitarian, e.g., Rule Consequentialism: “Everyone ought to follow the principles whose universal acceptance would make things go best.”5Parfit’s On What Matters, Volume 1, page 23. One can easily imagine Virtue Consequentialism: “Everyone ought to live by the virtues whose universal adoption would make things go best.”6Rule Consequentialism could be argued as superior on consequentialist grounds to optimizing each action individually as per Act Consequentialism.

I found formalizing the consequentialist claim challenging: notions of dependence have not been formalized in SUMO and the precise meaning is unclear. Consequentialism is agnostic as to which protocol is used to determine whether an act is morally good or not. Formal precision seems to ask for less vagueness than is inherent in the definition. The intent seems to be that moral goodness should be determined by an analysis of the consequences; teleologically, the value of the consequences should be maximized. Determining the precise meaning of “consequences” is also tricky: we wish to include any facts about the real world. Parfit’s approach of developing a theory of what it means to have a reason to act and defining the state of affairs as what matters seems philosophically appealing. Consequentialist utilitarianism seems to emerge as one way to specify what consequentialism means: there are some functions of the consequences that represent how good or bad the state of affairs is.

The best approach I found is to define the notion of a justified ethical theory where each sentence is justified by an argument. Such a theory is consequentialist if its preferences are consequences or refer to consequences7Reference is overly vague yet could rule out some deontological or virtue-based theories. Expressing in detail precisely what kinds of theories of appraisals of consequences are permitted or not seems difficult, so the vague meaning postulate may be what I can concisely say for now..

Another approach is to focus on consequentialist utilitarianism and to provide a constraint on the applicable utility functions so that anything influencing the output of the utility function is a possible outcome of the action concerned. This approach could perhaps be generalized to claim that the result of a moral judgment should only be influenced by physical consequences. One can probably justify statements about consequentialist utility functions with arguments that reference to the consequences, so the approaches are related.


(documentation Consequentialism EnglishLanguage "Consequentialism is a moral theory that holds 
that 'whether an act is morally right depends only on consequences' (Stanford Encyclopedia of Philosophy).")
(subclass Consequentialism Ethics)    

(documentation ConsequentialistTheory EnglishLanguage "A set of consequentialist sentences.")
(subclass ConsequentialistTheory MoralTheory)

(theoryPhilosophyPair Consequentialism ConsequentialistTheory)

(documentation JustifiedTheory EnglishLanguage "A justified theory is a theory where each 
sentence has a justification (an argument).")
(subclass JustifiedTheory Theory)

  (instance ?T JustifiedTheory)
    (instance ?T Theory)
    (forall (?S)
        (element ?S ?T)
        (exists (?A ?C)
            (instance ?A Argument)
            (conclusion ?A ?C)
            (containsInformation ?S ?C)))))))

  (instance ?CT ConsequentialistTheory)
    (instance ?CT MoralTheory)
    (instance ?CT JustifiedTheory)
    (forall (?S)
        (element ?S ?CT)
        (exists (?A ?C)
            (instance ?A ConsequentialistArgument)
            (conclusion ?A ?C)
            (containsInformation ?S ?C)))))))

Consequentialism is an ethical philosophy whose moral theories are justified by consequentialist arguments (whether valid or not).

A consequentialist argument is one for which there is a set of consequences, and each premise of the argument is either a consequence or refers to the consequences.

(documentation ConsequentialistArgument EnglishLanguage "An argument that is made on consequentialist grounds, namely, 
by reference to the consequences of some action.")
(subclass ConsequentialistArgument Argument)

  (instance ?ARGUE ConsequentialistArgument)
    (instance ?ARGUE Argument)
    (exists (?CS)
        (instance ?CS ConsequenceSet)
        (forall (?PREM)
              (premise ?ARGUE ?PREM)
              (represents ?P ?PREM))
              (element ?P ?CS)
              (refers ?P ?CS))))))))

A consequence is any entity that results from a process8Usually, I think it’s intended that consequences be physical. However, for example, Unhappiness is an abstract attribute in SUMO, so it seems convoluted to only refer to physical indicators of this state of mind. Thus I kept it general.9I also assume for simplicity that if A causes B then B is a result of A.. A consequence set is a non-empty set generated by the consequence function‘s application to an action. The consequence function takes an action and returns a set containing the action, every process that is transitively caused by the action, and every result of a process in the consequence set.

(documentation Consequence EnglishLanguage "A result of a particular action or situation (")
(subclass Consequence Entity)

  (instance ?C Consequence)
  (exists (?P)
      (instance ?P Process)
      (result ?P ?C))))

(documentation ConsequenceSet EnglishLanguage "A set containing all thec consequences of an 
(subclass ConsequenceSet NonNullSet)

  (instance ?S ConsequenceSet)
    (instance ?S Set)
    (exists (?A)
        (instance ?A AutonomousAgentProcess)
        (equal ?S (ConsequenceFn ?A))))))

(documentation ConsequenceFn EnglishLanguage "A function that maps an action to its set of consequences, 
which contains every transitively caused process and every result of a process in the set.")
(domain ConsequenceFn 1 AutonomousAgentProcess)
(range ConsequenceFn ConsequenceSet)
(instance ConsequenceFn UnaryFunction)

  (equal ?CS (ConsequenceFn ?ACTION))
    (element ?ACTION ?CS))
    (forall (?C)
        (transitiveCauses ?ACTION ?C)
        (element ?C ?CS)))
    (forall (?C ?R)
          (instance ?C Process)
          (element ?C ?CS)
          (result ?C ?R))
        (element ?R CS))))

The notion of transitive causation is defined in terms of the existence of a list where each element causes the next element in the list.

(documentation transitiveCauses EnglishLanguage "A transitive closure of causation, which should in theory have some 'degree of causation', rendering the translation back into causes lossy.")
(domain transitiveCauses 1 Process)
(domain transitiveCauses 2 Process)
(instance transitiveCauses AsymmetricRelation)
(instance transitiveCauses TransitiveRelation)
(instance transitiveCauses BinaryPredicate)
(subrelation causes transitiveCauses)

  (transitiveCauses ?P1 ?P2)
  (exists (?L)
      (equal ?P1 FirstFn ?L)
      (equal ?P2 LastFn ?L)
      (forall (?N)
            (greaterThan ?N 1)
            (lessThan ?N (ListLengthFn ?L)))
            (ListOrderFn ?L ?N)
            (ListOrderFn ?L (AdditionFn ?N 1))))))))