Ejercicio 10

Ejercicio 10

de Nicolas Grosso San Roman -
Número de respuestas: 1

Hola! En la introducción del ejercicio nos presenta la función #x1 : TERM → N, y luego nos pide definir la función #x1 : FORM → N. Aquí ya me hace ruido que tengan el mismo nombre pero son funciones diferentes. Luego al ver las soluciones de la parte a), veo que en la parte de #x1(P(xi)) = #x1(xi), pero xi es un término, no una fórmula, y la función recibe fórmulas de entrada. Entonces pensé que utilizaba la función que nos definieron en la introducción, pero luego al ver la parte de #x1 ((α ∗ β)) = #x1 (α) + #x1 (β), claramente alpha y beta son fórmulas y ahí si está bien la entrada de #x1. Entonces me confundo bastante sobre esta parte. Gracias!


 

En respuesta a Nicolas Grosso San Roman

Re: Ejercicio 10

de Guillermo Calderon - InCo -

Hola Nicolás:

Es cierto lo que decís, se usa el mismo nombre para dos funciones distintas:

  • #x₁ : TERM → ℕ
  • #x₁ : FORM → ℕ

Esto puede ser un poco confuso pero es una práctica frecuente cuando definimos funciones que recorren una fórmula y luego terminan recorriendo términos. Según el contexto nos damos cuenta cuál es la función que se está usando.

Se pueden usar nombres distintos TERM-#x₁ y FORM#-x₁ por ejemplo.

Y escribiríamos cosas así:

  • FORM-#x₁(α □ β) = FORM-#x₁(α) + FORM-#x₁(β)
  • FORM-#x₁(xᵢ='xⱼ) = TERM-#x₁(xᵢ) + TERM-#x₁(xⱼ)

Espero que aclare tus dudas. Cualquier cosa volvé a preguntar.