Expressing the following system specification using predicates, quantifiers, and logical connectives.

1.1k Views Asked by At

"The diagnostic monitor tracks the status of all systems except the main console"

My Approach:

Universe of discourse: All systems.

MainConsole(s): s is a main console.
Tracked(s): The diagnostic monitor tracks the status of s

∀s((MainConsole(s)⟶ㄱTracked(s))⋀(ㄱMainConsole(s)⟶Tracked(s)))

Every solution on the internet including the text book saying:

∀x((x ≠ the main console)⟶Tracked(x))

I'm finding the latter solution to be unacceptable as the meaning conveyed by the statement seems to be that if the system x is not main console then it is tracked, but if the system IS the main console, i.e. 'x != main console is false', x may or may not be tracked (according to property of p⟶q) but the question expects that the main console system must not be tracked ('..except the main console.')

2

There are 2 best solutions below

1
On BEST ANSWER

Long Comment

According to the authoritative logician S.C.Kleene, Mathematical logic, Dover (1967), page 63:

"A except when B" must be usually symbolized with $A \lor B$ and sometimes with "A or B but not both", i.e. $(A \lor B) \land \lnot (A \land B)$.

Thus, with:

"The diagnostic monitor tracks the status of all systems except the main console",

we have two options:

(i) $∀s[\text {TracStat}(\text{DiaMon},s) \lor \text {MainCons}(s)]$,

that is equivalent to: $∀s[¬ \text {MainCons}(s) \to \text {TracStat}(\text{DiaMon},s)]$.

(ii)

$∀s[(\text {TracStat}(\text{DiaMon},s) \lor \text {MainCons}(s)) \land \lnot (\text {TracStat}(\text{DiaMon},s) \land \text {MainCons}(s))].$

0
On

Logicians tend to be very literal people. For example, if you say 'some people are happy', you presumably mean that more than $1$ (otherwise we would have said 'one') but not every (otherwise we would have used 'every') person is happy. But a logician is happy to translate this as $\exists x Happy(x)$, which merely means 'one or more ... and possibly all'

So, if we are told that 'everything except X is Y', then yes, our usage of English would suggest 'everything except X is Y but X itself is not Y' ... but taken literally, we just have the former part.

Now, when you know that 'everything except X is Y but X itself is not Y', then of course your translation is perfect ... but if you don't know, then it's better to be safe than sorry and not make any further assumptions. So, this all depends on the context in which you ever are to use and apply logic.

One advantage of having such a precise language of logic, where nothing is left up to guessing, is that sometimes you may find yourself in a situation trying to put some information into logic, and find out that something isn't precisely defined. In other words, the exactitude of logic sometimes reveals to inexactitude of natural language.