Expreesse cada um dos sistemas de especificações abaixo usando predicados, quantificadores e conectivos lógicos, se necessário.
Há um processo que continua executando durante todas as condições de erro se o kernel estiver funcionando corretamente.

Passo 1

O enunciado pede para traduzir para a lógica de primeira ordem a frase “Há um processo que continua executando durante todas as condições de erro se o kernel estiver funcionando corretamente”. O conteúdo é lógica de predicados com quantificadores existencial e universal, além de conectivo de implicação.

Passo 2

Vamos introduzir as variáveis e predicados:
– Domínio de p: todos os processos.
– Domínio de e: todas as condições do sistema.
– Predicado \Processo(p): “ p é um processo”.
– Predicado \Erro(e): “ e é uma condição de erro”.
– Predicado \ContinuaExecutando(p,e): “o processo p continua executando durante a condição e”.
– Proposição atômica \KernelOK: “o kernel está funcionando corretamente”.

Passo 3

Queremos dizer que, sempre que \KernelOK for verdadeira, existe pelo menos um processo p que, para toda condição e de erro, continua executando. Isso se traduz no formato “antecedente (kernel OK) implica existência de p que satisfaz uma propriedade universal em e”. Assim escrevemos:
\KernelOK \;\to\;\exists p\Bigl(\Processo(p)\wedge\forall e\bigl(\Erro(e)\to\ContinuaExecutando(p,e)\bigr)\Bigr).

Resposta

\KernelOK \;\to\;\exists p\Bigl(\Processo(p)\wedge\forall e\bigl(\Erro(e)\to\ContinuaExecutando(p,e)\bigr)\Bigr).

Exercícios de Livros Relacionados