{- COMENTARIOS Ejercicio 1: Perfecto. Un detallito, no precisa el 0 + en o 0 + cantPos(resto(xs)) Ejercicio 2: En la función anexar, una vez que se hace recursión por todos los elementos de s, se puede directamente anexar e al final: anexar(s,e)= primero(s):anexar(resto(s),e) si s/=[] o e Tanto reducirmin como reducirmax son funciones no recursivas y con una única ecuacion, por lo tanto se podria invocar directamente anexar desde minSec o maxSec. La invocacion queda extensa y usando min y max se facilita. Ejercicio 3: Funciona bien, pero no contempla el caso de la secuencia vacía. Para ello el caso base debería ser justamente la secuencia vacía (False si xs == []). Luego mantener el caso True si e == primero(xs) y por último o pertenece(e, resto(xs)) (sin ser necesaria la condición si resto(xs)/=[]), puesto que es el caso base. Ejercicio 4: Funciona bien, pero no es conmutativa: >inter([1,2,2],[1,2]) [1,2,2] >inter([1,2],[1,2,2]) [1,2] Otro detalle, se puede sustituir o inter(resto(ex),xs) si resto(ex)/=[] o [] por o inter(resto(ex),xs), puesto que si resto(ex) == [] entonces entra en el primer caso base ([] si ex==[]). -}