Diferencia entre revisiones de «Final 02/08/2023 (Paradigmas)»

De Cuba-Wiki
Sin resumen de edición
Sin resumen de edición
Línea 1: Línea 1:
  - 1) agarra la regla de occur check y la cambia para que en vez de fallar, no hace nada y elimina la ecuación.  
  - 1) agarra la regla de occur check y la cambia para que en vez de fallar, no hace nada y elimina la ecuación.  
- a. Encontrar un problema de unificación donde dependiendo del orden de elección, falle o no falle.  
- a. Encontrar un problema de unificación donde dependiendo del orden de elección, falle o no falle.  
- b. Idem pero dependiendo del orden de sustituciones distintas.  
- b. Idem pero dependiendo del orden de sustituciones distintas.  
- c. Encontrar un conjunto de clausulas satisfactible desde el cual se pueda llegar a la clausula vacía con esta modificación del algoritmo de mgu.
- c. Encontrar un conjunto de clausulas satisfactible desde el cual se pueda llegar a la clausula vacía con esta modificación del algoritmo de mgu.


  - 2) dar la lista de todos los predicados sobre naturales donde la preimagen de True sea finita.
  - 2) dar la lista de todos los predicados sobre naturales donde la preimagen de True sea finita.


  - 3) p(a); p(b); q(c); q(d);  
  - 3) p(a); p(b); q(c); q(d);  
- r(X) :- not(not(X)), not(not(X)).  
- r(X) :- not(not(X)), not(not(X)).  
- Describir si falla o no, cual es el resultado y que variables se instancian en caso de que no falle.
- Describir si falla o no, cual es el resultado y que variables se instancian en caso de que no falle.


  - 4) bool <: bool -> bool y viceversa.  
  - 4) bool <: bool -> bool y viceversa.  
- a. Dar el juicio de tipado de true true. Explicar que propiedad se perdió
- a. Dar el juicio de tipado de true true. Explicar que propiedad se perdió
- b. Tipar (\x. x x) (\x. x x) y dar un juicio de tipado. Explicar que propiedad se perdió.
- b. Tipar (\x. x x) (\x. x x) y dar un juicio de tipado. Explicar que propiedad se perdió.


  - 5) calculo sigma.  
  - 5) calculo sigma.  
Define el objeto Zero que tiene un mensaje suc y otro que soporta hacer un fold en naturales con caso base 0.  
Define el objeto Zero que tiene un mensaje suc y otro que soporta hacer un fold en naturales con caso base 0.  
- a. Pidió evaluar un término. Se define Zero = [ fold = ∆(i)i.z, suc = §(x)x.fold := ∆(i)i.s(x.fold(i))].  
- a. Pidió evaluar un término. Se define Zero = [ fold = ∆(i)i.z, suc = §(x)x.fold := ∆(i)i.s(x.fold(i))].  
El triángulo es una lambda por las dudas. El termino a evaluar era zero.suc.fold(isZero).  
El triángulo es una lambda por las dudas. El termino a evaluar era zero.suc.fold(isZero).  
- b. Definir el objeto dup que duplique un número usando el esquema de fold descrito en la consigna. el dup se esperaba que se use como n.fold(dup) y reduce al objeto que es el doble de n.
- b. Definir el objeto dup que duplique un número usando el esquema de fold descrito en la consigna. el dup se esperaba que se use como n.fold(dup) y reduce al objeto que es el doble de n.

Revisión del 21:55 12 feb 2024

- 1) agarra la regla de occur check y la cambia para que en vez de fallar, no hace nada y elimina la ecuación. 
- a. Encontrar un problema de unificación donde dependiendo del orden de elección, falle o no falle. 
- b. Idem pero dependiendo del orden de sustituciones distintas. 
- c. Encontrar un conjunto de clausulas satisfactible desde el cual se pueda llegar a la clausula vacía con esta modificación del algoritmo de mgu.
- 2) dar la lista de todos los predicados sobre naturales donde la preimagen de True sea finita.
- 3) p(a); p(b); q(c); q(d); 
- r(X) :- not(not(X)), not(not(X)). 
- Describir si falla o no, cual es el resultado y que variables se instancian en caso de que no falle.
- 4) bool <: bool -> bool y viceversa. 
- a. Dar el juicio de tipado de true true. Explicar que propiedad se perdió
- b. Tipar (\x. x x) (\x. x x) y dar un juicio de tipado. Explicar que propiedad se perdió.
- 5) calculo sigma. 

Define el objeto Zero que tiene un mensaje suc y otro que soporta hacer un fold en naturales con caso base 0.

- a. Pidió evaluar un término. Se define Zero = [ fold = ∆(i)i.z, suc = §(x)x.fold := ∆(i)i.s(x.fold(i))]. 

El triángulo es una lambda por las dudas. El termino a evaluar era zero.suc.fold(isZero).

- b. Definir el objeto dup que duplique un número usando el esquema de fold descrito en la consigna. el dup se esperaba que se use como n.fold(dup) y reduce al objeto que es el doble de n.