Considerando o conjunto de números naturais na notação de Peano (Definição 2), desenvolva as seguintes operações:
Desenvolva uma função para realizar a subtração de dois números naturais. Considere que se n <= m, n-m= zero.

Passo 1

Beleza, vamos lá! A gente tem um problema que envolve os números naturais usando a notação de Peano. Nosso objetivo aqui é criar uma função que faz a subtração entre dois números naturais. Mas tem uma condição: se o primeiro número for menor ou igual ao segundo, a subtração vai resultar em zero. Para resolver isso, vamos precisar entender como os números naturais são definidos na notação de Peano e usar isso para construir nossa função de subtração.

Passo 2

Primeiro, vamos lembrar como os números naturais são definidos na notação de Peano. Basicamente, começamos com o número zero, e cada número seguinte é chamado de sucessor do número anterior. Formalmente:
  1. 0 é um número natural.
  2. Se n é um número natural, então o seu sucessor, denotado por S(n), também é um número natural.
Com isso em mente, podemos representar qualquer número natural como uma sequência de sucessores a partir de zero. Por exemplo:
  • 1 é S(0)
  • 2 é S(S(0))
  • 3 é S(S(S(0)))
  • E assim por diante.

Passo 3

Agora, para criar nossa função de subtração, precisamos pensar de forma recursiva, ou seja, definindo a subtração de um número em termos da subtração de números menores. A ideia é a seguinte:
  • Caso Base: Se tentar subtrair um número de si mesmo ou de um número maior, o resultado é 0.
  • Passo Recursivo: Se o primeiro número for maior que o segundo, subtraímos 1 (usando o sucessor) de ambos os números e aplicamos a subtração novamente.
Vamos formalizar isso:
  1. Subtrai(n, 0) = n: Qualquer número menos zero é ele mesmo.
  2. Subtrai(n, S(m)) = Subtrai(Pred(n), m) se n > m.
  3. Subtrai(n, m) = 0 se n ≤ m.
Aqui, Pred(n) representa o antecessor de n, ou seja, o número que vem antes de n.

Passo 4

Vamos detalhar como implementar isso usando as regras que definimos. Primeiro, precisamos de uma maneira de verificar se n > m. Na notação de Peano, isso pode ser feito verificando se n tem mais sucessores que m.
A função completa de subtração ficaria assim:
Subtrai(n, m) = n & se m = 0 Subtrai(Pred(n), Pred(m)) & se m > 0 e n > m 0 & caso contrário á

Passo 5

Vamos ver um exemplo para entender melhor. Suponha que queremos calcular 3 - 1. Usando nossa função:
  1. Subtrai(3, 1) = Subtrai(2, 0)
  2. Subtrai(2, 0) = 2
Portanto, 3 - 1 = 2, que está correto.
Agora, se fizermos 1 - 3:
  1. Como 1 ≤ 3, de acordo com nossa função, o resultado é 0.

Resposta

Então, a função para subtrair dois números naturais na notação de Peano, considerando que se $ n \leq m $, então $ n - m = 0 $, está definida da seguinte forma:
n <= m á

Exercícios relacionados