(Rosen, 8th Edition, 1.2.9) Determine se as seguintes especificações de um sistema são consistentes.
“O sistema está no estado multiusuário se, e somente se, estiver operando normalmente. Se o sistema estiver operando normalmente, o kernel está funcionando. O kernel não está funcionando ou o sistema está no modo de interrupção. Se o sistema não estiver no estado multiusuário, então está no modo de interrupção. O sistema não está no modo de interrupção.”

Passo 1

Vamos chamar de M: “o sistema está no estado multiusuário”, N: “o sistema está operando normalmente”, K: “o kernel está funcionando” e I: “o sistema está no modo de interrupção”.
O que precisamos é traduzir cada frase em uma fórmula proposicional.

Passo 2

Traduzindo as cinco especificações:
  1. “O sistema está no estado multiusuário se, e somente se, estiver operando normalmente.” M \leftrightarrow N.
  2. “Se o sistema estiver operando normalmente, o kernel está funcionando.” N \to K.
  3. “O kernel não está funcionando ou o sistema está no modo de interrupção.”
\neg K \lor I.
  1. “Se o sistema não estiver no estado multiusuário, então está no modo de interrupção.”
\neg M \to I.
  1. “O sistema não está no modo de interrupção.” \neg I.

Passo 3

Da fórmula 5 temos \neg I
logo
I = \text{falso}.

Passo 4

Usando a fórmula 4 \neg M \to I e sabendo que I é falso, para a implicação ser verdadeira é preciso que o antecedente seja falso:
\neg M = \text{falso}\quad\Rightarrow\quad M = \text{verdadeiro}.

Passo 5

Da equivalência M \leftrightarrow N (fórmula 1) e M = \text{verdadeiro} segue
N = \text{verdadeiro}.

Passo 6

Da implicação N \to K (fórmula 2) e N = \text{verdadeiro} segue
K = \text{verdadeiro}.

Passo 7

Mas então a fórmula 3 \neg K \lor I fica
\neg K \lor I = \text{falso} \lor \text{falso} = \text{falso},
o que é uma contradição.

Resposta

As especificações são inconsistentes.

Exercícios relacionados