¿Es posible construir una función de orden superior isAssociative
que adopta otra función de dos argumentos y determina si esa función es asociativa?Probar automáticamente y determinísticamente una función para asociatividad, conmutatividad, etc.
Pregunta similar pero para otras propiedades como la conmutatividad también.
Si esto es imposible, ¿hay alguna forma de automatizarlo en cualquier idioma? Si hay una solución Agda, Coq o Prolog, estoy interesado.
Puedo imaginar una solución de fuerza bruta que verifique todas las posibles combinaciones de argumentos y nunca termine. Pero "nunca termina" es una propiedad indeseable en este contexto.
Depende de: [es el espacio de búsqueda compacto] (http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/)? –
¿Prueba o prueba? –