Como enfoque básico del problema, proporcionaría las siguientes ideas. Puede elegir un lenguaje formal, un conjunto de axiomas y un conjunto de reglas de inferencia, y escribir algún algoritmo para generar algún teorema en ese lenguaje formal. Si tiene un conjunto finito de axiomas y un conjunto finito de reglas de inferencia, por supuesto, podrá generar todos los teoremas. Por lo general, puede tener un conjunto infinito de axiomas y un conjunto infinito de reglas de inferencia (básicamente porque cada axioma o regla de inferencia es un patrón que produce un conjunto infinito de oraciones o inferencias), pero puede enumerar esos axiomas y reglas de inferencia. puede generar de manera uniforme todos los teoremas. Pero surgen algunos problemas
– es posible que haya omitido un axioma importante o una regla de inferencia importante, esto le impedirá probar muchos teoremas importantes
– cómo separar los teoremas útiles de los no interesantes
– su enumeración nunca terminará, entonces, ¿cómo enumerar primero los interesantes?
- Si hay un punto N en una gráfica cartesiana, ¿cómo calculo cuántos triángulos rectángulos se pueden formar?
- Cómo crear un patrón de matriz de hélice con solo entrada de fila y columna
- Cómo diseñar un algoritmo para imprimir todas las combinaciones de elementos en una matriz de tamaño m * n
- ¿Cómo se calculan O (logn) y O (nlogn)?
- ¿Cómo se puede anular el cálculo de un número?
– en el mejor de los casos, está enumerando todos los teoremas en un lenguaje formal específico, no todos los teoremas en todos los lenguajes formales posibles.
Por supuesto, hay una investigación masiva en matemáticas y ciencias de la computación sobre este tema, que pertenece al campo de la ‘demostración automática de teoremas’, y puede encontrar más información, por ejemplo, en esta página de Wikipedia
Prueba de teorema automatizada