Considerando o conjunto de números naturais na notação de Peano (Definição 2), desenvolva as seguintes operações:
Desenvolva a função even: N B, que retorna T caso o número natural na notação de Peano seja par e F caso contrário.

Passo 1

Beleza, vamos lá! O enunciado pede para a gente desenvolver a função even que, usando a notação de Peano para os números naturais, determina se um número é par. Se for par, a função retorna T (True) e se for ímpar, retorna F (False). Para isso, vamos precisar entender como os números naturais são definidos na notação de Peano e como criar funções recursivas nessa estrutura.

Passo 2

Primeiro, vamos relembrar a notação de Peano para os números naturais. Na definição de Peano:
  • 0 é um número natural.
  • Se n é um número natural, então seu sucessor, denotado por S(n), também é um número natural.
Assim, os números ficam assim: 0, S(0)=1, S(S(0))=2, S(S(S(0)))=3, e assim por diante.

Passo 3

Agora, para determinar se um número é par, vamos criar uma função even que verifica isso de forma recursiva. A ideia é a seguinte:
  1. Caso Base: O número 0 é par, então even(0) = T.
  2. Passo Recursivo: Para qualquer número n, se even(n) = T, então even(S(n)) = F (pois o sucessor de um número par é ímpar). E se even(n) = F, então even(S(n)) = T (pois o sucessor de um número ímpar é par).

Passo 4

Vamos formalizar isso com a definição da função even:
even(0) = T even(S(n)) = neg even(n)
Aqui, \neg representa a negação lógica. Isso significa que para cada sucessor, a paridade é invertida.

Passo 5

Vamos ver alguns exemplos para esclarecer:
  • even(0): Pelo caso base, é T.
  • even(S(0)) = even(1): Como even(0) = T, então even(1) = \neg T = F.
  • even(S(1)) = even(2): Como even(1) = F, então even(2) = \neg F = T.
  • even(S(2)) = even(3): Como even(2) = T, então even(3) = \neg T = F.
E assim por diante. Isso confirma que a função está funcionando como esperamos para determinar a paridade.

Resposta

A função even na notação de Peano é definida recursivamente da seguinte forma:
even(0) = T even(S(n)) = neg even(n)
Essa definição retorna T quando o número é par e F quando é ímpar.

Exercícios relacionados