Hola,
Tres dudas sobre este ejercicio.
Para probar que l1 << l2 /\ l2 << l1 -> l1 = l2, tuve que usar un resultado que se pide demostrar después (l1 << l2 /\ l2 << l3 -> l1 << l3). A los efectos de la entrega, ¿se puede hacer esto?
Luego, hice inducción en l1 << l2. Para el caso inductivo me aparecían dos hipótesis contradictorias
H1 : l1 << l2
H2 : cons A a l2 << l1
Tuve que definirme tres lemas auxiliares para llegar a un absurdo sobre los largos de las listas. La segunda duda es si hay un camino más sencillo para la prueba.
La última duda es sobre la parte de demostrar que "ultimo l << l". Lo único que se me ocurre es una prueba por inducción en l, pero en el caso inductivo hay que probar "ultimo (cons a l) << cons a l" a partir de "utlimo l << l" y ahí me quedé sin ideas. ¿Hay algún otro camino?
Saludos,
Nicolás