Home » Ethics » A Theory of Ethics » Formal Ethics

Formal Ethics

The following is a proposed theory of ethics, presented in formal, fully rigorous form.

Notation Notes
| = Given; e.g. P(x) | A means the probability of x given A.  This includes all the contingent consequences of A.
† = Given; e.g. P(x) † A means the necessary probability of x given A.  This notation includes only the necessary incremental consequences of A obtaining vs. P(x) = 0.  These are usually when the probabilities are necessarily the same, e.g. P(B) = P(A), or for probability renormalization.
In most places below, I will use the notation P(x) | A.  However, in some cases I will substitute P(x) † A, in which cases the definition and all requisite definitions are understood to use † instead of |.
|| = Logical OR


Time – A point in time.
Entity – Ent – Any object with identity.
Agent – Agnt – Any entity with teleological goals and/or intentionality.
Consciousness – Cnc – An attribute of some Agents, especially the ability to feel pain.
Rationality – Rat – An attribute of some Agents, in particular the ability to reason and think rationally; i.e. Turing equivalence.  Any Rational Agent is also Conscious.

Action – Act
– Anything class of things that Agents do that affects the world outside the Agent; e.g. physical actions including communications, and is done intentionally of their own free will.  Purely internal actions such as thoughts are not considered Actions.  In addition, the decision to not perform a particular Action, such as saving someone who is drowning, is not an Action.  An Action A will consist of a set of ordered n-tuples <a,t0,t1,x1,x2…xN>, where xi∈Ent, and N is an integer ≥ 0, and is referred to as the Order of the Action.  xi must be directly affected by the Action, i.e. Joe picks up a rock, or Joe punches Jim.  It cannot include anything that is indirectly affected; i.e. Joe built a dam and then stole Jim’s water supply.  Jointly done actions are represented as two separate actions; i.e. Joe & Jim lifting a rock consists of the two Actions: Joe lifting the rock with Jim (x0 = rock and x1 = Jim), and Jim lifting the rock with Joe.

Resource Consumption Rate – R – A particular rate of resource consumption; e.g., by a single Agent.
Probability of Executed Action – PA(X,t) – The probability that Executed Action X will obtain after time t, where Executed Action is defined rigorously below.  Note for now that X = <a,A,t0,t1,x0,x1…xN>,so this is the probability that Agent a will execute Action A from time t0 to time t1 involving entites x0, x1…xN.  I will use the shorthand notation PAi = PA(Xi,t).
Resource Consumption Probability Density Function – pR(R,a,t,PA1, PA2…PAN) – The probability density that Agent a will have a resource consumption rate of R at time t, given that the probability of all Executed Actions i that affect this function are given by PAi.  I will write for shorthand simply pR(R,a,t) when the PA’s do not need to be referenced explicitly.
Well-Being Function from Resources – WBR(a,R) – The function for a particular Agent that converts a particular Resource Consumption Rate into Well-Being.  It is assumed that WBR has two properties:

  • WBR(a,R) = 0 for some R>0  – i.e., some minimal amount of resources is required to keep an Agent alive
  • δ2WBR/δR2 < 0 for all R  – i.e., the law of diminishing returns holds
  • Well-Being Contribution from Effects – WBE(a,t,X) – The contribution to the Well-Being of Agent a at time t from the effects of Executed Action X.

    Well-Being Unit Equivalent – WBU(a,f) – The amount of Well-Being at the current time equivalent to one unit of Well-Being at time f in the future for agent a.  This does not include a current time parameter t because it is assumed that this curve is the same at all current times.  Thus WBU(a,1) now be the same as WBU(a,1) in one year from now.  This is NOT the same as saying that WBU(a,2)/WBU(a,1) = WBU(a,1).  I speculate that this curve may flatten out as f gets larger.

    Collective NPWB – NPWBT(Sa,t) – A measure of the NPWB for a set of Agents Sa at time t.  For now I will treat this as a primitive, but it can be defined in terms of more primitive concepts, depending on whether we adopt a utilitarian or communitarian philosophy, as follows:

  • Utilitarianism: NPWBT(Sa,t) = ∑i NPWB(ai,t) for all Agents ai∈Sa.  NPWB(ai,t) is defined below.
  • Communitarianism: Let Collective WBT(Sa,t) = The Well-Being of the set Agents at time (t).  This would be determined from a objective formula for measuring Well-Being of a set of Agents, and would be a new primitive term.  Then NPWBT(Sa,t) = ∫t WBT(Sa,f) * exp(-cr(a,f)*f ) df, where cr is the Discount Rate for WBT, defined similarly to Discount Rate (for individual WB) below; i.e. using WBT(Sa,t) instead of WB(a,t).  I will further assume a format for WBT such that WBT(Sa,t) = g0(Sa,t) + gr(Sa,t) + ge(Sa,t) where
    • gr(Sa,t) = gr( {wb: ∃a[ a∈Sa & wb = WBR(a,t) ]} )
      ge(Sa,t) = ge( {wb: ∃a[ a∈Sa & wb = WBE(a,t) ]} )
      g0, gr, and ge are functions to be specified, and WBR(a,t) and WBE(a,t) are defined below.

    Note that whatever the form of WBT, it must be the case that if Sa = {a}, then WBT(Sa,t) = WB(a,t).  In other words, total Well Being for a set consisting of a single Agent must always reduce to the Well Being of that Agent.

    Unconscious Agent – Aunc – a∈Aunc ≡ (a∈Agnt) & (a∉Cnc)
    Conscious Agent – Acnc – a∈Acnc ≡ (a∈Agnt) & (a∈Cnc) & (a∉Rat) – For convenience, therefore, Acnc⊄Arat, defined next.
    Rational Agent – Arat – a∈Arat ≡ (a∈Agnt) & (a∈Rat)

    Executed Action – Exec – <a,A,t0,t1,x1,x2…xN>∈Exec ≡ A∈Act & <a,t0,t1,x1,x2…xN>∈A.  Ontologically, this is true for the past only if the action was actually executed.  For the future, this is true of any contingently possible action.

    Resource Consumption Rate for an Agent – R(a,t) – R(a,t) ≡ ∫0 pR(R,a,t) * R dR.
    Well-Being Contribution from Effects for an Agent – WBE(a,t) – WBE(a,t) ≡ ∑i PA(Xi,t) * WBE(a,t,Xi)
    Well-Being Contribution from Resources for an Agent – WBR(a,t)WBR(a,t) ≡ WBR(a, R(a,t) )
    Well-Being – WB(a,t) – WB(a,t) ≡ WBR(a,t) + WBE(a,t)

    Conditional Well-Being – WB(a,t) | SA(Px)WB(a,t) | SA(Px) – WB(a,t) defined as above except that for all X∈SA, PA(X,t) is fixed at Px (in WBE(a,t) and pR).
    Well-Being Discount Rate – r(a,f) – r(a,f) ≡ -ln[ WBU(a,f)/f ]; f here is meant to indicate time in the future.
    Net Present Well-Being – NPWB(a,t) – NPWB(a,t) ≡ ∫t { WB(a,f) * exp[ -r(a,f)*f ] } df
    Conditional Net Present Well-Being – NPWB(a,t) | SA(Px) – NPWB(a,t) | SA(Px) ≡ ∫t { [WB(a,f) | SA(Px)] * exp[ -r(a,f)*f ] } df

    Delta Net Present Well-Being from a Set of Actions – dNPWB(a,t) | SA  – dNPWB(a,t) | SA ≡ NPWB(a,t) | SA(1) – NPWB(a,t) | SA(0)
    Delta Collective Net Present Well-Being from a Set of Actions – dNPWBT(Sa,t) | SA – where Sa is a set of Agents.  This is defined differently for each definition of NPWBT:

  • Utilitarianism: dNPWBT(Sa,t) | SA ≡ ∑i dNPWBT(ai,t) | SA for each Agent ai∈Sa.
  • Communitarianism: Let NPWBT(Sa,t) | SA(Px) be NPWBT(Sa,t) defined as above for Communitarianism except that for all X∈SA, PA(X,t) is fixed at Px (in WBE(a,t) and pR), with PA(Y) for all Y≠X unchanged.  Then dNPWBT(Sa,t) | SA ≡ NPWBT(Sa,t) | SA(1) – NPWBT(Sa,t) | SA(0).

    Optimal Resource Consumption Rate Ropt(a,t) = R(a,t) such that WBR(a,R)/R = δWBR(a,R)/δR.  I conjecture that it can be proven that if WBR(a,R) has the properties described above then this point exists and is unique.
    Optimal Well-Being – WBopt(a,t) – WBopt(a,t) ≡ WBR( a, Ropt(a,t) ).  Note that this assumes that WBE(a,t) = 0.  This may be an unrealistic assumption but I could not think of a way to have a positive realistic value > 0 without being arbitrary.
    Optimal NPWB – NPWBopt(a,t) – NPWBopt(a,t) ≡ ∫t WBopt(a,t) * exp[ -r(a,f) ] df
    Threshold NPWB – NPWBlim(a,t) = a scalar function of the Agent a such that:

    a∈Arat  ⇒ NPWBlim(a,t) = ∞
    a∈Acnc  ⇒ NPWBlim(a,t) = NPWBopt(a,t)
    a∈Aunc  ⇒ NPWBlim(a,t) = 0

    Define the following for any set SA⊆Exec

    Earliest Start Time – u0-min(SA) – u0-min(SA) ≡ min{u0: ∃a∃A∃u1∃x1∃x2…∃xN[ <a,A,u0,u1,x1,x2…xN> ∈ SA ]} where min(R) ≡ {rj: ∀ri[ ri∈R ⇒ rj ≤ ri]}
    Latest End Time – u1-max(SA)  – u1-max(SA) ≡ max{u1: ∃aA∃u0∃x1∃x2…∃xN[ <a,A,u0,u1,x1,x2…xN> ∈ SA ]} where max(R) ≡ {rj: ∀ri[ ri∈R ⇒ rj ≥ ri]}
    Actors – Actr(SA) – Actr(SA) ≡ {a: ∃A∃u0∃u1∃x1∃x2…∃xN[ <a,A,u0,u1,x1,x2…xN>∈SA ]}
    Harmed Agents – Harm(SA) – a∈Harm(SA) ≡ ∃t[ dNPWB(a,t) | SA < 0 ];  a∈Harm†(SA) ≡ ∃t[ dNPWB(a,t) † SA < 0 ]  — The Actions in SA caused or will cause a’s NPWB to drop
    Wronged Agents – Wrong(SA) – a∈Wrong(SA) ≡ a∈Harm(SA) & ∃t[ NPWB(a,t) | SA(1) < NPWBlim(a,t) ];   a∈Wrong†(SA) ≡ a∈Harm†(SA) & ∃t[ NPWB(a,t) † SA(1) < NPWBlim(a,t) ]  — The Harm done lowered a’s NPWB below its threshold level
    Victim Agents – Vctm(SA) – v∈Vctm(SA) ≡ v∈Wrong(SA) & v∉Actr(SA) – the Wronged agents that were not Actors in any of the Actions
    Benefited Agents – Gain(SA) – a∈Gain(SA) ≡ ∃t[ dNPWB(a,t) | SA > 0 ];  a∈Gain†(SA) ≡ ∃t[ dNPWB(a,t) † SA > 0 ]
    Effected Agents – Eff(SA) – Eff(SA) ≡ Harm(SA) ∪ Gain(SA);  Eff†(SA) ≡ Harm†(SA) ∪ Gain†(SA)
    Executed Actions – Ex(SA,t) – X∈Ex(SA,t) ≡ X∈SA & u0-min({X})<t – a set of Actions all of which have been executed or have started to be executed.
    For each of the above use the shorthand notation in which a symbol for a single Action replaces SA above to mean SA is the set containing just that Action.  For example, Actr(X) means Actr( {X} ).
    Unopened Action Set – UAS(t) – SA∈UAS(t) ≡ ¬∃X[ X∈Ex(SA,t) ] – a set of Actions none of which have been executed or have started to be executed.
    Closed Action Set – CAS(t) – SA∈CAS(t) ≡ ∀X[ X∈SA ⇒ X∈Ex(SA,t) ] – a set of Actions all of which have been executed or have started to be executed.
    Open Action Set – OAS(t) – SA∈OAS(t) ≡ SA∉CAS(t) – a set of Actions that is not Closed; i.e., as least one Action has not started to be executed.
    Proper Open Action Set – POAS(t) – SA∈POAS(t) ≡ SA∈OAS(t) & ∃X[ X∈SA & XEx(SA,t) ] – a set of Actions at least one of which has been executed or has started to be executed, and at least one of which has not started to be executed.

    Super Beneficial Action Set – SBAS – SB∈SBAS ≡ SB⊆Exec & 

  • ∃X∃Y[ X∈SB & Y∈SB & X≠Y ] & ∀X[ X∈SB ⇒ dNPWBT( Eff(SB), u0-min(X) ) † {X}  > 0  ] &   – executing any Action in SB raises the NPWBT for the set of all Agents affected by any of these actions
  • ∀a[ a∈Eff(SB) ⇒ dNPWB(a, u0-min(SB)) † SB > 0 ]  – executing all Actions in SB raises the NPWB of each Agent effected by any of the Actions.
  • Beneficial Action Set – BAS – SB∈BAS ≡ SB∈SBAS & ¬∃SS[ SS∈SBAS & SS⊂SB & SS≠Ø  ] – a smallest possible non-empty SBAS.
    Closed BAS – BASC(t) – SB∈BASC(t) ≡ SB∈BAS & SB∈CAS(t) – all of the Actions in the BAS have been executed or have begun executing.
    Open BAS – BASO(t) – SB∈BASO(t) ≡ SB∈BAS & SB∈OAS(t)  – a BAS that is not closed.
    Active BAS – BASA(t) – SB∈BASA(t) ≡ SB∈BASO(t) & ∀X[ X∈SB ⇒ ¬∃SC( X∈SC & SC∈BASC(t)) ]  – an Open BAS in which none of the executed actions are part of a Closed BAS.
    Note that BASes for which none of its Actions have begun executing yet is vacuously both an Open BAS and an Active BAS.
    Proper Active BASPA(t) – BASPA(t) ≡ SB∈BASA(t) & SB∈POAS(t)  — an Active BAS in which at least one Action has already been executed.

    For each of the following definitions regarding Restitution, use the notation X=< ,A,t0,t1,x1,x2…xN>, Y=<b,B,u0,u1,y1,y2…yN> and Z=<c,C,z0,z1,w1,w2…wN>.
    Harmful Action Set HAS – SH∈HAS ≡ SH⊆Exec & SH∉BAS & ∃v(v∈Wrong(SH)) & ¬∃SP[ SP∉BAS & Wrong(SH)⊆Gain(SP) & Gain(SH)⊆Vctm(SP) ] & ∀X{ X∈SH ⇒ [ Wrong(X)=Wrong(SH) & u0-min(X)=u0-min(SH) & u1-max(X)=u1-max(SH) ] } – This is normally a single Action that causes harm and is not part of a BAS.  If multiple actors were required for the act, then there is one Action in the set for each actor Agent.  Note that any of the Actions may not yet have been executed.  The fourth term is to rule out vengeance.
    Restitution Action Set RAS(SH) – SR∈RAS(SH) ≡ SH∈HAS & SR⊆Exec & Gain(SR)⊆Vctm(SH) & Gain(SR)≠Ø & Wrong(SR)⊆Actr(SH) & ∀v{ v∈Gain(SR) ⇒ dNPWB(v,u0-min(SR)) | SR ≤ [ NPWB(v,u0-min(SH)) | SH(0) – NPWB(v,u0-min(SH))  ] } – a set of Actions in response to an HAS in which only Victims of the HAS Gain, at least one Victim Gains, only Actors of the HAS are Wronged, and no Victim Gains more than the (probability of) the original harm.  If the harming action happened in the past, then NPWB(v,u0-min(SH)) = NPWB(v,u0-min(SH)) | SH(1).
    Closed RAS – RASC(SH,t) – SR∈RASC(SH,t) ≡ SR∈RAS(SH) & SR∈CAS(t) – all Actions in the RAS that have been executed or have begun executing.
    Open RAS – RASO(SH,t) – RASO(SH,t) ≡ SR∈RAS(SH) & SR∈OAS(t) – a RAS that is not closed.
    Active RAS – RASA(SH,t) – SR∈RASA(SH,t) ≡ SR∈RASO(SH,t) & ∀X[ X∈SR ⇒ ¬∃SS( X∈SS & SS∈RASC(SH,t)) ]  – an Open RAS in which none of the executed actions are part of a Closed RAS.
    Proper Active RAS – RASPA(SH,t) – SR∈RASPA(SH,t) ≡ SR∈RASA(SH,t) & SR∈POAS(t) – an Active RAS in which at least one Action has already been executed.

    Universal Action – ActU
    Let X∈SX(A) ≡ X=<a,A,t0,t1,x1,x2…xN> & X∈Exec  — Any executed instance of A that has been done and might ever be done.
    A∈ActU ≡ ∀a∃t0∃t1∃x1∃x2…∃xN[ <a,A,t0,t1,x1,x2…xN>∈Exec ] & dNPWB(Agnt) | SX(A) > 0  — Every Agent has or can execute A, and all executions of A leads to an increase in Collective NPWB for all Agents.
    Universal Executed Action – ExecU – X=<a,A,t0,t1,x1,x2…xN> ∈ ExecU ≡ A∈ActU

    Prohibited Executed Action – ExecP(a,t) – X∈ExecP(a,t) ≡ a=Actr(X) & u0-min(X)=t & ∃b{ b∈Wrong(X) & ¬∃SH∃SR[ b∈Actr(SH) & X∈SR & SR∈RASA(SH,t) ] } & ¬∃SB[ X∈SB & SB∈BASA(t) ]    — a doing X at t does Wrong that is not for restitution & X is not part of an Active BAS.

    Morally Permissible – MRLprm(a,t) – X∈MRLprm(a,t) ≡ X∉ExecP(a,t)

    Moral Objective Function – FMRLobj(a,t,X) – Fobj(a,t,X) is defined as follows:

      Fbase = 0    — The base value of the Moral Objective Function (without priorization)
      Kprty = 1    — An ordinal multiplier for prioritization purposes
      If { ∃A∃u1∃x1∃x2…∃xN[ X = <a,A,t,u1,x1,x2…xN> ] & X∉ExecP(a,t) } then    — X must be executed by a at time t and not be Prohibited

        If ∃SH∃SR[ X∈SR & SR∈RASA(SH,t) ] then    — Restitution

          Choose any SH such that ∃SR[ X∈SR & SR∈RASA(SH,t) ]    — In general SH will be unique
          If a∈Actr(SH) then Kprty = 4   — Obligation
          Fbase = dNPWBT(Wrong(SH) ∪ Actor(SH),t)|{X} + [ NPWBT(Wrong(SH),u0-min(SH))|SH(0) – NPWBT(Wrong(SH),u0-min(SH)) ]   — Includes the extent of the original harm, and allows for the probability of future harm.

        Else if ∃SB[ X∈SB & SB∈BASA(t) ] then   — BAS

          — Choose an SB.  In most cases it will be unique.
          If ∃SB[ X∈SB & SB∈BASPA(t) ] then

            Choose any SB such that X∈SB & SB∈BASPA(t)


            Choose any SB such that X∈SB & SB∈BASA(t)

          End if

          If [SB∈BASPA(t)] & [∃b(b∈Gain(X) & b≠a)]  then        — Obligation

            SX = {A: A∈Ex(SB,t)}
            Fbase = dNPWB(a,t)|SX
            Kprty = 3

          Else if [SB∈BASPA(t)]    — Open BAS

            Fbase = dNPWB(a,t)|{X}


            Fbase = dNPWB(a,t)|{SB}

          End if

        Else if X∈ExecU then   — Universal Actions

          Fbase = dNPWBT(Agnt,t)|{X}
          Kprty = 2    — Due to the obligation

        Else    — All other actions

          Fbase = dNPWB(a,t)|{X}

        End if

      End if
      FMRLobj(a,t,X) = Kprty * Fbase

    Morally Optimal – MRLopt(a,t) – X∈MRLopt(a,t) ≡ X∈MRLprm(a,t) & ∀Y[ a=Actr(Y) ⇒ FMRLobj(a,t,X) ≥ FMRLobj(a,t,Y) ]

    Axiom of Past Probability
    – ∀X∀t[ X∈Exec & u0-min({X})<t ⇒ PA(X,t)=1]

    December, 2013

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s

    %d bloggers like this: