I have a sentence like this:

Good people should be treated the way they treat other good people.

What is the best way to symbolize this? I have a particular problem with should, it seems to be about universalizability (i.e. for all x), but I am not too sure how to make that work?

  • you may treat should as a modal operator.
    – user37859
    Jun 2, 2020 at 14:21
  • you may have a look at Gensler's Introduction to logic.
    – user37859
    Jun 2, 2020 at 14:23
  • 2
    Maybe Deontic Logic, but if you are not interested into being involved with "modal" logics, then Yes, you must translate "should" with generality: "forall x (if Good(x), then ..." Jun 2, 2020 at 14:36

1 Answer 1


I shall present a quasi-formal translation explicating each step. I should emphasise that translation from natural language which is a source providing a wide diversity of senses to the use of each expression into formal language allows a variety of options, and in many cases, the translation is not unique. Hence, the following is only illustrative and one may rearrange, add or subtract various components with respect to the presuppositions and interpretation that one endorses.

As a preliminary analysis, I mark the relevant components with the intent of function-argument form:

Good people should be treated the way they treat other good people.

Resolve the anaphoric relations as 'they' refers to the initial 'good people' and both 'treat' refer to the same behaviour.

Taking the domain of discourse as people, accordingly, I can specify a unary relation

Good(x): x is good, and a binary relation

Treat(x, y): x treats y in a certain way.

I shall employ Hector-Neri Castañeda's deontic operator O{} (for ought, curly brackets to discern easily). Then, I proceed:

[1] Whenever an x is good and there is a y other than x, if y is good, then x treats y in a certain way:

(Good(x) ∧ y ≠ x) → (Good(y) → Treat(x, y))

[2] Whenever case [1] holds, the Treat relation symmetrically holds by moral code:

((Good(x) ∧ y ≠ x) → (Good(y) → Treat(x, y))) → O{Treat(y, x)}

[3] Case [2] holds unrestrictedly:

∀x∀y(((Good(x) ∧ y ≠ x) → (Good(y) → Treat(x, y))) → O{Treat(y, x)})

For elaboration on the deontic issues, see Harry J.Gensler's Formal Ethics (Routledge, 1996), and on the resolution of anaphoric expressions, see the article "Anaphora" by King and Lewis at https://plato.stanford.edu/entries/anaphora/.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .