Diferencia entre revisiones de «Final 02/08/2023 (Paradigmas)»
(Página creada con «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 naturale…») |
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 | |||
3) p(a); p(b); q(c); q(d); | - 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)) | 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. Define el objeto Zero que tiene un mensaje suc y otro que soporta hacer un fold en naturales con caso base 0. | |||
5) | 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 | ||
a | |||
El termino a evaluar era zero.suc.fold(isZero) | El termino a evaluar era zero.suc.fold(isZero) | ||
b | 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:51 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.