Los ordenadores forman parte, en mayor o menor medida, de la vida de
todo matemático. En esta charla nos planteamos si los ordenadores pueden
ayudarnos en la demostración de teoremas. Para dar respuesta a esta pregunta
presentaremos distintas razones por las que es beneficioso el uso de ordenadores
para demostrar teoremas, distintas herramientas utilizadas para este fin y
los mayores logros que se han conseguido, hasta ahora, en los campos del
razonamiento automático y la demostración asistida por ordenador.
¿Pueden los ordenadores ayudar en la demostración de teoremas?
1. ¿Pueden los ordenadores ayudarnos en la
demostraci´n de teoremas?
o
J´nathan Heras
o
School of Computing, University of Dundee, UK
http://www.computing.dundee.ac.uk/staff/jheras/
Curso de Actualizaci´n en Matem´ticas
o a
20 de marzo de 2013
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 1/38
2. ´
Indice
1 Motivaci´n
o
2 Demostraci´n automatizada
o
3 Demostraci´n asistida por ordenador
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 2/38
3. Motivaci´n
o
´
Indice
1 Motivaci´n
o
2 Demostraci´n automatizada
o
3 Demostraci´n asistida por ordenador
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 3/38
4. Motivaci´n
o
La ubicuidad de los ordenadores en Matem´ticas
a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 4/38
5. Motivaci´n
o
La ubicuidad de los ordenadores en Matem´ticas
a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 4/38
6. Motivaci´n
o
pero . . . ¿nos pueden ayudar a demostrar teoremas?
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 5/38
7. Motivaci´n
o
Del sue˜o de Leibniz (1646–1716) . . .
n
Leibniz so˜aba con dise˜ar una “lingua
n n
characteristica” (un lenguaje en el que todo el
conocimiento pudiera ser expresado
formalmente) y un “calculus ratiocinator”
(c´lculo del razonamiento) tal que cuando los
a
fil´sofos discreparan pudieran decir
o
“calculemus”, formulando el problema en la
lingua characteristica y resolverlo usando el
calculus ratiocinator.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 6/38
8. Motivaci´n
o
. . . al de McCarthy (1927–2011)
“Proof-checking by computer
may be as important as proof
generation. It is part of the
definition of formal system that
proofs be machine checkable.
...
For example, instead of trying
out computer programs on test
cases until they are debugged,
one should prove that they have
the desired properties.”[John
McCarthy]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 7/38
9. Motivaci´n
o
¿Por qu´?
e
Incrementar la fiabilidad de los resultados matem´ticos:
a
A. B. Kempe, On the geographical problem of four-colors;
A. Wiles, Modular elliptic curves and Fermat’s Last Theorem;
E. Gallardo & C. Cowen, Rota’s Universal Operators and Invariant
Subspaces in Hilbert Spaces;
R. Mikhailov & J. Wu, On homotopy groups of the suspended classifying
spaces;
M. Lecat, Erreurs de Math´maticiens des origines ` nos jours.
e a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 8/38
10. Motivaci´n
o
¿Por qu´?
e
Incrementar la fiabilidad de los resultados matem´ticos:
a
A. B. Kempe, On the geographical problem of four-colors;
A. Wiles, Modular elliptic curves and Fermat’s Last Theorem;
E. Gallardo & C. Cowen, Rota’s Universal Operators and Invariant
Subspaces in Hilbert Spaces;
R. Mikhailov & J. Wu, On homotopy groups of the suspended classifying
spaces;
M. Lecat, Erreurs de Math´maticiens des origines ` nos jours.
e a
Correcci´n de demostraciones que usan ordenadores para realizar
o
c´lculos:
a
K. Appel & W. Haken, Every map is four colourable;
T. C. Hales, A proof of the Kepler conjecture;
A. Romero & J. Rubio, Homotopy groups of suspended classifying spaces:
an experimental approach.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 8/38
11. Motivaci´n
o
¿Por qu´?
e
Incrementar la fiabilidad de los resultados matem´ticos:
a
A. B. Kempe, On the geographical problem of four-colors;
A. Wiles, Modular elliptic curves and Fermat’s Last Theorem;
E. Gallardo & C. Cowen, Rota’s Universal Operators and Invariant
Subspaces in Hilbert Spaces;
R. Mikhailov & J. Wu, On homotopy groups of the suspended classifying
spaces;
M. Lecat, Erreurs de Math´maticiens des origines ` nos jours.
e a
Correcci´n de demostraciones que usan ordenadores para realizar
o
c´lculos:
a
K. Appel & W. Haken, Every map is four colourable;
T. C. Hales, A proof of the Kepler conjecture;
A. Romero & J. Rubio, Homotopy groups of suspended classifying spaces:
an experimental approach.
Problema con el tama˜o y complejidad de ciertas demostraciones:
n
A. Wiles, Modular elliptic curves and Fermat’s Last Theorem (98 pags);
N. Robertson & P. Seymour, Graph Minors (∼ 500 pags, 1983–2004);
Clasificaci´n de grupos simples (∼ 500 art´
o ıculos, ∼ 100 autores).
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 8/38
12. Motivaci´n
o
Haciendo matem´ticas en el ordenador
a
C´lculo:
a
Demostraci´n:
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 9/38
13. Motivaci´n
o
Haciendo matem´ticas en el ordenador
a
C´lculo:
a
num´rico: grandes c´lculos, visualizaci´n, simulaci´n, . . .
e a o o
simb´lico: manipulaci´n de f´rmulas.
o o o
Demostraci´n:
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 9/38
14. Motivaci´n
o
Haciendo matem´ticas en el ordenador
a
C´lculo:
a
num´rico: grandes c´lculos, visualizaci´n, simulaci´n, . . .
e a o o
simb´lico: manipulaci´n de f´rmulas.
o o o
Demostraci´n:
o
autom´tizada;
a
asistida.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 9/38
15. Motivaci´n
o
Haciendo matem´ticas en el ordenador
a
C´lculo:
a
num´rico: grandes c´lculos, visualizaci´n, simulaci´n, . . .
e a o o
simb´lico: manipulaci´n de f´rmulas.
o o o
Demostraci´n:
o
autom´tizada;
a
asistida.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 9/38
16. Demostraci´n automatizada
o
´
Indice
1 Motivaci´n
o
2 Demostraci´n automatizada
o
3 Demostraci´n asistida por ordenador
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 10/38
17. Demostraci´n automatizada
o
Demostraci´n automatizada de teoremas
o
“In ten years, a computer would discover and prove an important
new mathematical theorem.”[Herbert A. Simon,1957]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 11/38
18. Demostraci´n automatizada
o
Demostraci´n automatizada de teoremas
o
“In ten years, a computer would discover and prove an important
new mathematical theorem.”[Herbert A. Simon,1957]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 11/38
19. Demostraci´n automatizada
o
Demostraci´n automatizada de teoremas
o
“In ten years, a computer would discover and prove an important
new mathematical theorem.”[Herbert A. Simon,1957]
En los sistemas de demostraci´n automatizada se suministra como
o
dato de entrada el enunciado de un teorema y ellos son capaces de
encontrar autom´ticamente una demostraci´n del mismo.
a o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 11/38
20. Demostraci´n automatizada
o
Demostraci´n automatizada de teoremas
o
“In ten years, a computer would discover and prove an important
new mathematical theorem.”[Herbert A. Simon,1957]
En los sistemas de demostraci´n automatizada se suministra como
o
dato de entrada el enunciado de un teorema y ellos son capaces de
encontrar autom´ticamente una demostraci´n del mismo.
a o
SAT solvers,
SMT solvers,
Demostradores de teoremas basados en el principio de
resoluci´n.
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 11/38
21. Demostraci´n automatizada
o
SAT solvers
Problema
Dada una expresi´n booleana con variables y sin cuantificadores
o
(e.g. (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x2 ∨ ¬x3 ∨ x4 )), determinar si tiene
asociada una asignaci´n de valores para sus variables que hace que
o
la expresi´n sea verdadera.
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 12/38
22. Demostraci´n automatizada
o
SAT solvers
Problema
Dada una expresi´n booleana con variables y sin cuantificadores
o
(e.g. (x1 ∨ ¬x2 ∨ x3 ) ∧ (¬x2 ∨ ¬x3 ∨ x4 )), determinar si tiene
asociada una asignaci´n de valores para sus variables que hace que
o
la expresi´n sea verdadera.
o
SAT solvers:
Diferentes sistemas: glucose, glueminisat, 3S, plingeling, . . .
Aplicaciones: criptoan´lisis, verificaci´n de modelos,
a o
planificaci´n, teor´ de c´digos, scheduling, . . .
o ıa o
Fue el primer problema NP-completo conocido.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 12/38
23. Demostraci´n automatizada
o
SMT solvers
Un SMT (satisfiability modulo theory) solver es una herramienta
que decide la satisfabilidad de una f´rmula en una teor´ de primer
o ıa
orden.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 13/38
24. Demostraci´n automatizada
o
SMT solvers
Un SMT (satisfiability modulo theory) solver es una herramienta
que decide la satisfabilidad de una f´rmula en una teor´ de primer
o ıa
orden.
Teor´ de primer orden: teor´ de los enteros, de los
ıas ıa
racionales, de vectores, . . .
Generalizaci´n de SAT solvers.
o
Una f´rmula SMT puede verse como una f´rmula SAT donde
o o
las variables se reemplazan por formulas en las teor´ de
ıas
primer orden (e.g.
x + y ≤ 0 ∧ (x = z =⇒ z + y = −1) ∧ z > 3t).
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 13/38
25. Demostraci´n automatizada
o
SMT solvers
Un SMT (satisfiability modulo theory) solver es una herramienta
que decide la satisfabilidad de una f´rmula en una teor´ de primer
o ıa
orden.
Teor´ de primer orden: teor´ de los enteros, de los
ıas ıa
racionales, de vectores, . . .
Generalizaci´n de SAT solvers.
o
Una f´rmula SMT puede verse como una f´rmula SAT donde
o o
las variables se reemplazan por formulas en las teor´ de
ıas
primer orden (e.g.
x + y ≤ 0 ∧ (x = z =⇒ z + y = −1) ∧ z > 3t).
Diferentes sistemas: Simplify, Alt-Ergo, Yices, Z3, CVC3, . . .
Aplicaciones: verificaci´n de programas, planificaci´n,
o o
scheduling, generaci´n de casos de prueba, . . .
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 13/38
26. Demostraci´n automatizada
o
Resolution Theorem Provers
Demostradores de teoremas basados en el principio de resoluci´n:
o
se niega el enunciado que se quiere probar y se a˜ade a una
n
lista de axiomas que se conoce como cierta;
se usa el principio de resoluci´n para llegar a una
o
contradicci´n; y
o
como el enunciado negado es inconsistente con los axiomas
dados, se tiene que el enunciado original debe ser consistente.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 14/38
27. Demostraci´n automatizada
o
Resolution Theorem Provers
Demostradores de teoremas basados en el principio de resoluci´n:
o
se niega el enunciado que se quiere probar y se a˜ade a una
n
lista de axiomas que se conoce como cierta;
se usa el principio de resoluci´n para llegar a una
o
contradicci´n; y
o
como el enunciado negado es inconsistente con los axiomas
dados, se tiene que el enunciado original debe ser consistente.
Sistemas m´s exitosos en el campo de razonamiento automatizado:
a
La librer´ TPTP (Thousands of Problems for Theorem
ıa
Provers): problemas de ´lgebra, topolog´ an´lisis, . . .
a ıa, a
Distintos sistemas: EQP, Prover9, E, SPASS, Vampire, . . .
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 14/38
28. Demostraci´n automatizada
o
Resolution Theorem Provers
Demostradores de teoremas basados en el principio de resoluci´n:
o
se niega el enunciado que se quiere probar y se a˜ade a una
n
lista de axiomas que se conoce como cierta;
se usa el principio de resoluci´n para llegar a una
o
contradicci´n; y
o
como el enunciado negado es inconsistente con los axiomas
dados, se tiene que el enunciado original debe ser consistente.
Sistemas m´s exitosos en el campo de razonamiento automatizado:
a
La librer´ TPTP (Thousands of Problems for Theorem
ıa
Provers): problemas de ´lgebra, topolog´ an´lisis, . . .
a ıa, a
Distintos sistemas: EQP, Prover9, E, SPASS, Vampire, . . .
Teorema (Demo en Prover9)
Sea G un grupo, y e su elemento neutro. Si, para todo x de G ,
x 2 = e, entonces G es conmutativo.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 14/38
29. Demostraci´n automatizada
o
El mayor ´xito: la conjetura de Robbins
e
Definici´n
o
Un ´lgebra booleana es un conjunto junto con:
a
una operaci´n binaria +, que es asociativa y conmutativa; y
o
una operaci´n unaria n, tal que n(nx + y ) + n(nx + ny ) = x.
o
Definici´n
o
Un ´lgebra de Robbin es un conjunto junto con:
a
una operaci´n binaria +, que es asociativa y conmutativa; y
o
una operaci´n unaria n, tal que n(n(x + y ) + n(x + ny )) = x.
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 15/38
30. Demostraci´n automatizada
o
El mayor ´xito: la conjetura de Robbins
e
Definici´n
o
Un ´lgebra booleana es un conjunto junto con:
a
una operaci´n binaria +, que es asociativa y conmutativa; y
o
una operaci´n unaria n, tal que n(nx + y ) + n(nx + ny ) = x.
o
Definici´n
o
Un ´lgebra de Robbin es un conjunto junto con:
a
una operaci´n binaria +, que es asociativa y conmutativa; y
o
una operaci´n unaria n, tal que n(n(x + y ) + n(x + ny )) = x.
o
Teorema
Las ´lgebras de Robbins son ´lgebras booleanas.
a a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 15/38
31. Demostraci´n automatizada
o
El mayor ´xito: la conjetura de Robbins
e
Definici´n
o
Un ´lgebra booleana es un conjunto junto con:
a
una operaci´n binaria +, que es asociativa y conmutativa; y
o
una operaci´n unaria n, tal que n(nx + y ) + n(nx + ny ) = x.
o
Definici´n
o
Un ´lgebra de Robbin es un conjunto junto con:
a
una operaci´n binaria +, que es asociativa y conmutativa; y
o
una operaci´n unaria n, tal que n(n(x + y ) + n(x + ny )) = x.
o
Teorema
Las ´lgebras de Robbins son ´lgebras booleanas.
a a
S. Winker demostr´ que es suficiente que en un ´lgebra de Robbins existan elementos
o a
c y d tales que c + d = c para que sea un ´lgebra booleana.
a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 15/38
32. Demostraci´n automatizada
o
La conjetura de Robbins
conjetura estuvo abierta por m´s de 60 a˜os,
a n
demostrada finalmente por el demostrador EQP,
8 d´ de c´lculo y 30 megabytes de memoria.
ıas a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 16/38
33. Demostraci´n automatizada
o
La conjetura de Robbins
conjetura estuvo abierta por m´s de 60 a˜os,
a n
demostrada finalmente por el demostrador EQP,
8 d´ de c´lculo y 30 megabytes de memoria.
ıas a
7 n(n(n(x) + y ) + n(x + y )) = y [Robbins equation]
10 n(n(n(x + y ) + n(x) + y ) + y ) = n(x + y ) [7 → 7]
11 n(n(n(n(x) + y ) + x + y ) + y ) = n(n(x) + y ) [7 → 7]
29 n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y )) = y [11 → 7]
54 n(n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y ) + z) + n(y + z)) = z [29 → 7]
217 n(n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y )
+ n(y + z) + z) + z) = n(y + z) [54 → 7]
674 n(n(n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y )
+ n(y + z) + z) + z + u) + n(n(y + z) + u)) = u [217 → 7]
6736 n(n(n(n(3x) + x) + n(3x)) + n(n(n(3x) + x) + 5x)) = n(n(3x) + x) [10 → 674]
8855 n(n(n(3x) + x) + 5x) = n(3x) [6736 → 7,simp:54,flip]
8865 n(n(n(n(3x) + x) + n(3x) + 2x) + n(3x)) = n(n(3x) + x) + 2x [8855 → 7]
8866 (n(n(3x) + x) + n(3x)) = x [8855 → 7,simp:11]
8870 n(n(n(n(3x) + x) + n(3x) + y ) + n(x + y )) = y [8866 → 7]
8871 n(n(3x) + x) + 2x = 2x [8865,simp:8870,flip]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 16/38
34. Demostraci´n automatizada
o
La conjetura de Robbins
conjetura estuvo abierta por m´s de 60 a˜os,
a n
demostrada finalmente por el demostrador EQP,
8 d´ de c´lculo y 30 megabytes de memoria.
ıas a
7 n(n(n(x) + y ) + n(x + y )) = y [Robbins equation]
10 n(n(n(x + y ) + n(x) + y ) + y ) = n(x + y ) [7 → 7]
11 n(n(n(n(x) + y ) + x + y ) + y ) = n(n(x) + y ) [7 → 7]
29 n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y )) = y [11 → 7]
54 n(n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y ) + z) + n(y + z)) = z [29 → 7]
217 n(n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y )
+ n(y + z) + z) + z) = n(y + z) [54 → 7]
674 n(n(n(n(n(n(x) + y ) + x + 2y ) + n(n(x) + y )
+ n(y + z) + z) + z + u) + n(n(y + z) + u)) = u [217 → 7]
6736 n(n(n(n(3x) + x) + n(3x)) + n(n(n(3x) + x) + 5x)) = n(n(3x) + x) [10 → 674]
8855 n(n(n(3x) + x) + 5x) = n(3x) [6736 → 7,simp:54,flip]
8865 n(n(n(n(3x) + x) + n(3x) + 2x) + n(3x)) = n(n(3x) + x) + 2x [8855 → 7]
8866 (n(n(3x) + x) + n(3x)) = x [8855 → 7,simp:11]
8870 n(n(n(n(3x) + x) + n(3x) + y ) + n(x + y )) = y [8866 → 7]
8871 n(n(3x) + x) + 2x = 2x [8865,simp:8870,flip]
Problema de decisi´n en un sistema ´lgebraico abstracto – hecho
o a
casi a medida para la b´squeda por ordenador.
u
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 16/38
35. Demostraci´n automatizada
o
Otros ejemplos
Algoritmos adhoc para resolver clases de problemas:
el algoritmo WZ da pruebas automatizadas de sumas
hipergeom´tricas,
e
m´todos basados en bases de Gr¨bner resuelven problemas de
e o
pertenencia a ideales,
el algoritmo geom´trico de Wu prueba teoremas como el
e
teorema de Pascal en la elipse,
el algoritmo de Tarski resuelve problemas formulados en el
lenguaje de primer orden de los reales,
...
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 17/38
36. Demostraci´n automatizada
o
Limitaciones
La l´gica de primer orden no es lo suficientemente expresiva para
o
expresar algunos resultados matem´ticos.
a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 18/38
37. Demostraci´n automatizada
o
Limitaciones
La l´gica de primer orden no es lo suficientemente expresiva para
o
expresar algunos resultados matem´ticos.
a
Entscheidungsproblem, El problema de decisi´n [Hilbert 1928]
o
Dado un enunciado en l´gica de primer orden, ¿exite un algoritmo
o
capaz de determinar si dicho enunciado es un teorema?
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 18/38
38. Demostraci´n automatizada
o
Limitaciones
La l´gica de primer orden no es lo suficientemente expresiva para
o
expresar algunos resultados matem´ticos.
a
Entscheidungsproblem, El problema de decisi´n [Hilbert 1928]
o
Dado un enunciado en l´gica de primer orden, ¿exite un algoritmo
o
capaz de determinar si dicho enunciado es un teorema?
Kurt G¨del
o Alonzo Church Alan Turing
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 18/38
39. Demostraci´n automatizada
o
¿Pueden descubrir teoremas?
“In ten years, a computer would discover and prove an important
new mathematical theorem.”[Herbert A. Simon,1957]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 19/38
40. Demostraci´n automatizada
o
¿Pueden descubrir teoremas?
“In ten years, a computer would discover and prove an important
new mathematical theorem.”[Herbert A. Simon,1957]
The Automated Mathematician: “descubri´” los n´meros
o u
naturales, los n´meros primos, ternas Pitag´ricas, el teorema
u o
fundamental de la aritm´tica.
e
Eurisko, sucesor de The Automated Mathematician.
El proyecto Theorymine.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 19/38
41. Demostraci´n asistida por ordenador
o
´
Indice
1 Motivaci´n
o
2 Demostraci´n automatizada
o
3 Demostraci´n asistida por ordenador
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 20/38
42. Demostraci´n asistida por ordenador
o
¿Qu´ son los asistentes para la demostraci´n?
e o
Programas que permiten el desarrollo de pruebas formales gracias a
la colaboraci´n hombre-m´quina.
o a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 21/38
43. Demostraci´n asistida por ordenador
o
¿Qu´ son los asistentes para la demostraci´n?
e o
Programas que permiten el desarrollo de pruebas formales gracias a
la colaboraci´n hombre-m´quina.
o a
El usuario indica los pasos que debe seguir la demostraci´n.
o
El ordenador se encarga de comprobar que todos los pasos
dados por el usuario, as´ como la prueba generada son
ı
correctos.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 21/38
44. Demostraci´n asistida por ordenador
o
¿Qu´ son los asistentes para la demostraci´n?
e o
Programas que permiten el desarrollo de pruebas formales gracias a
la colaboraci´n hombre-m´quina.
o a
El usuario indica los pasos que debe seguir la demostraci´n.
o
El ordenador se encarga de comprobar que todos los pasos
dados por el usuario, as´ como la prueba generada son
ı
correctos.
asistente para
la demostraci´n
o
t´cticas
a
ok
objetivos proof engine
proof checker
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 21/38
45. Demostraci´n asistida por ordenador
o
Las distintas fases de una demostraci´n
o
1 Encontrar una demostraci´n:
o
Hacer experimentos, imaginar, simplificar, . . .
No se conservar´, pero es una parte fundamental.
a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 22/38
46. Demostraci´n asistida por ordenador
o
Las distintas fases de una demostraci´n
o
1 Encontrar una demostraci´n:
o
Hacer experimentos, imaginar, simplificar, . . .
No se conservar´, pero es una parte fundamental.
a
2 Dar una demostraci´n:
o
Prueba detallada que explica porque el teorema se satisface, la
estrategia de la prueba y peque˜os pasos que permiten
n
verificar el teorema.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 22/38
47. Demostraci´n asistida por ordenador
o
Las distintas fases de una demostraci´n
o
1 Encontrar una demostraci´n:
o
Hacer experimentos, imaginar, simplificar, . . .
No se conservar´, pero es una parte fundamental.
a
2 Dar una demostraci´n:
o
Prueba detallada que explica porque el teorema se satisface, la
estrategia de la prueba y peque˜os pasos que permiten
n
verificar el teorema.
3 Presentar una demostraci´n:
o
explicarla a otras personas, mejorarla, simplificarla,
generalizarla, . . .
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 22/38
48. Demostraci´n asistida por ordenador
o
Las distintas fases de una demostraci´n
o
1 Encontrar una demostraci´n:
o
Hacer experimentos, imaginar, simplificar, . . .
No se conservar´, pero es una parte fundamental.
a
2 Dar una demostraci´n:
o
Prueba detallada que explica porque el teorema se satisface, la
estrategia de la prueba y peque˜os pasos que permiten
n
verificar el teorema.
3 Presentar una demostraci´n:
o
explicarla a otras personas, mejorarla, simplificarla,
generalizarla, . . .
Los asistentes para la demostraci´n ayudan en los pasos 2 y 3.
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 22/38
49. Demostraci´n asistida por ordenador
o
Los sistemas m´s usados
a
Mizar (teor´ de conjuntos).
ıa
Isabelle (l´gica de orden superior).
o
HOL4 (l´gica de orden superior).
o
HOL-light (l´gica de orden superior).
o
Coq (teor´ de tipos constructiva).
ıa
ACL2 (l´gica de primer orden).
o
...
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 23/38
50. Demostraci´n asistida por ordenador
o
Dos estilos
Procedural:
Declarativo:
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 24/38
51. Demostraci´n asistida por ordenador
o
Dos estilos
Procedural:
Indica que es lo que hay que hacer: baja del tren, ve a la derecha,
sube las escaleras, sal a la calle, ve hacia la izquierda, . . .
Teorema (Demo en Coq)
n
n(n + 1)
i=
2
i=0
Declarativo:
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 24/38
52. Demostraci´n asistida por ordenador
o
Dos estilos
Procedural:
Indica que es lo que hay que hacer: baja del tren, ve a la derecha,
sube las escaleras, sal a la calle, ve hacia la izquierda, . . .
Teorema (Demo en Coq)
n
n(n + 1)
i=
2
i=0
Declarativo: (m´s parecido a las demostraciones en matem´ticas).
a a
Indica a donde ir: ve a la calle Lu´ de Ulloa, ve al Edificio Vives,
ıs
ve a la segunda planta, . . .
Teorema (Demo en Isabelle)
n
n(n + 1)
i=
2
i=0
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 24/38
53. Demostraci´n asistida por ordenador
o
Formalizando el “top 100”
Formalizaci´n del “top 100” de los teoremas matem´ticos:
o a
lista creada por Freek Wiedijk:
√
irracionalidad de 2,
infinitud de los n´meros primos,
u
imposibilidad de la trisecci´n de un ´ngulo,
o a
divergencia de la serie arm´nica,
o
teorema fundamental del ´lgebra
a
teorema fundamental del c´lculo integral,
a
transcendencia del n´mero e,
u
primer teorema de incompletitud de G¨del,
o
...
Actualmente al 88 %
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 25/38
54. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores
Teorema
Dado cualquier mapa geogr´fico con regiones continuas, ´ste
a e
puede ser coloreado con cuatro colores diferentes, de forma que no
queden regiones adyacentes con el mismo color.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 26/38
55. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: Historia
1852: Francis Guthrie conjetura el resultado.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 27/38
56. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: Historia
1852: Francis Guthrie conjetura el resultado.
1879: Alfred Kempe da una “prueba” de la conjetura de los
cuatro colores.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 27/38
57. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: Historia
1852: Francis Guthrie conjetura el resultado.
1879: Alfred Kempe da una “prueba” de la conjetura de los
cuatro colores.
1890: Percy Heawood demuestra que la prueba de Kempe era
incorrecta y prueba el teorema de los cinco colores.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 27/38
58. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: Historia
1852: Francis Guthrie conjetura el resultado.
1879: Alfred Kempe da una “prueba” de la conjetura de los
cuatro colores.
1890: Percy Heawood demuestra que la prueba de Kempe era
incorrecta y prueba el teorema de los cinco colores.
1976: Kenneth Appel y Wolfgang Haken desarrollan una
prueba con la ayuda de un ordenador:
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 27/38
59. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: Historia
1852: Francis Guthrie conjetura el resultado.
1879: Alfred Kempe da una “prueba” de la conjetura de los
cuatro colores.
1890: Percy Heawood demuestra que la prueba de Kempe era
incorrecta y prueba el teorema de los cinco colores.
1976: Kenneth Appel y Wolfgang Haken desarrollan una
prueba con la ayuda de un ordenador:
si la conjetura fuera falsa =⇒ ∃ un mapa con el menor
n´mero de regiones que necesita al menos cinco colores,
u
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 27/38
60. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: Historia
1852: Francis Guthrie conjetura el resultado.
1879: Alfred Kempe da una “prueba” de la conjetura de los
cuatro colores.
1890: Percy Heawood demuestra que la prueba de Kempe era
incorrecta y prueba el teorema de los cinco colores.
1976: Kenneth Appel y Wolfgang Haken desarrollan una
prueba con la ayuda de un ordenador:
si la conjetura fuera falsa =⇒ ∃ un mapa con el menor
n´mero de regiones que necesita al menos cinco colores,
u
pero dicho contraejemlo no existe:
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 27/38
61. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: Historia
1852: Francis Guthrie conjetura el resultado.
1879: Alfred Kempe da una “prueba” de la conjetura de los
cuatro colores.
1890: Percy Heawood demuestra que la prueba de Kempe era
incorrecta y prueba el teorema de los cinco colores.
1976: Kenneth Appel y Wolfgang Haken desarrollan una
prueba con la ayuda de un ordenador:
si la conjetura fuera falsa =⇒ ∃ un mapa con el menor
n´mero de regiones que necesita al menos cinco colores,
u
pero dicho contraejemlo no existe:
1 identificar una colecci´n de mapas de modo que todo mapa
o
debe contener una porci´n que se parezca a uno de ellos
o
(1936 casos),
2 calcularon que cada uno de estos mapas no puede formar
parte de dicho contraejemplo m´s peque˜o.
a n
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 27/38
62. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: formalizaci´n en Coq
o
1997: N. Robertson, D. Sanders, P.
Seymour y R. Thomas dan una nueva
prueba: m´s sencilla pero usando un
a
ordenador.
2000: Georges Gonthier formaliza la parte
computacional de dicha prueba en Coq.
2005: Georges Gonthier formaliza
completamente la prueba en Coq.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 28/38
63. Demostraci´n asistida por ordenador
o
El teorema de los cuatro colores: formalizaci´n en Coq
o
1997: N. Robertson, D. Sanders, P.
Seymour y R. Thomas dan una nueva
prueba: m´s sencilla pero usando un
a
ordenador.
2000: Georges Gonthier formaliza la parte
computacional de dicha prueba en Coq.
2005: Georges Gonthier formaliza
completamente la prueba en Coq.
“formal proof is not merely a method to
make absolutely sure we have not made a
mistake in a proof, but also a tool that
shows us and compels us to understand
why a proof works.”[G. Gonthier]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 28/38
64. Demostraci´n asistida por ordenador
o
La conjetura de Kepler (1611)
Teorema
La manera m´s compacta de apilar esferas del mismo tama˜o es
a n
una piramide.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 29/38
65. Demostraci´n asistida por ordenador
o
La conjetura de Kepler: la demostraci´n de Thomas Hales
o
1998 : Thomas Hales anuncia una
prueba de la conjetura de Kepler:
300 p´ginas manuscritas:
a
reducci´n del problema inicial al
o
5094 casos.
40000 l´
ıneas de c´digo Java:
o
enumeraci´n de hiperplanos
o
“tame” y demostraci´n de
o
desigualdades no lineales.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 30/38
66. Demostraci´n asistida por ordenador
o
La conjetura de Kepler: la demostraci´n de Thomas Hales
o
1998 : Thomas Hales anuncia una
prueba de la conjetura de Kepler:
300 p´ginas manuscritas:
a
reducci´n del problema inicial al
o
5094 casos.
40000 l´
ıneas de c´digo Java:
o
enumeraci´n de hiperplanos
o
“tame” y demostraci´n de
o
desigualdades no lineales.
Reduce el problema a 1039 desigualdades de la forma:
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 30/38
67. Demostraci´n asistida por ordenador
o
La conjetura de Kepler: el proyecto Flyspeck
“The referees put a level of energy into this that is, in my experience, unprecedented.”
“The news from the referees is bad, from my perspective. They have not been able to
certify the correctness of the proof, and will not be able to certify it in the future,
because they have run out of energy to devote to the problem.” [Respuesta del editor
de Annals of Mathematics].
Se considera que la demostraci´n de Hales es correcta al 99 %.
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 31/38
68. Demostraci´n asistida por ordenador
o
La conjetura de Kepler: el proyecto Flyspeck
“The referees put a level of energy into this that is, in my experience, unprecedented.”
“The news from the referees is bad, from my perspective. They have not been able to
certify the correctness of the proof, and will not be able to certify it in the future,
because they have run out of energy to devote to the problem.” [Respuesta del editor
de Annals of Mathematics].
Se considera que la demostraci´n de Hales es correcta al 99 %.
o
El proyecto Flyspeck:
Acr´nimo de FPK: Formal Proof of the Kepler conjecture.
o
2003 - ?: se estima una duraci´n aproximada de 20 a˜os (en
o n
2010 al 50 %).
16 personas involucradas en el proyecto.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 31/38
69. Demostraci´n asistida por ordenador
o
La clasificaci´n de los grupos finitos simples
o
Teorema
Todo grupo finito simple es isomorfo a:
un grupo c´
ıclico con orden primo,
un grupo alternante de grado al menos 5,
un grupo de Lie simple, o
uno de los 26 grupos simples espor´dicos.
a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 32/38
70. Demostraci´n asistida por ordenador
o
La clasificaci´n de los grupos finitos simples
o
Teorema
Todo grupo finito simple es isomorfo a:
un grupo c´
ıclico con orden primo,
un grupo alternante de grado al menos 5,
un grupo de Lie simple, o
uno de los 26 grupos simples espor´dicos.
a
1983: Gorenstein anuncia la clasificaci´n de los grupos finitos
o
simples (no incluye grupos “quasithin”),
2004: Aschbacher y Smith publican una clasificaci´n completa,
o
∼ 500 art´
ıculos, ∼ 100 autores, ∼5000 p´ginas.
a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 32/38
71. Demostraci´n asistida por ordenador
o
El teorema de Feit-Thompson
Teorema (El teorema de Feit-Thompson)
Todo grupo finito de order impar es resoluble.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 33/38
72. Demostraci´n asistida por ordenador
o
El teorema de Feit-Thompson
Teorema (El teorema de Feit-Thompson)
Todo grupo finito de order impar es resoluble.
Importancia: todo grupo finito simple de orden impar es un
grupo c´
ıclico de orden primo.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 33/38
73. Demostraci´n asistida por ordenador
o
El teorema de Feit-Thompson
Teorema (El teorema de Feit-Thompson)
Todo grupo finito de order impar es resoluble.
Importancia: todo grupo finito simple de orden impar es un
grupo c´
ıclico de orden primo.
“While it was usually mentioned in courses on algebra, it is
only fair to say that nobody ever did anything about it, simply
because nobody had any idea how to get even started.”
[Brauer]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 33/38
74. Demostraci´n asistida por ordenador
o
El teorema de Feit-Thompson
Teorema (El teorema de Feit-Thompson)
Todo grupo finito de order impar es resoluble.
Importancia: todo grupo finito simple de orden impar es un
grupo c´
ıclico de orden primo.
“While it was usually mentioned in courses on algebra, it is
only fair to say that nobody ever did anything about it, simply
because nobody had any idea how to get even started.”
[Brauer]
2 vol´menes, 255 p´ginas.
u a
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 33/38
75. Demostraci´n asistida por ordenador
o
Formalizaci´n del teorema de Feit-Thompson
o
Llevada a cabo por el proyecto Mathematical Components:
proyecto liderado por Georges Gonthier.
15 personas, 6 a˜os (2006–12), 170000 l´
n ıneas de c´digo,
o
15000 definiciones, 4300 teoremas.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 34/38
76. Demostraci´n asistida por ordenador
o
Formalizaci´n del teorema de Feit-Thompson
o
Llevada a cabo por el proyecto Mathematical Components:
proyecto liderado por Georges Gonthier.
15 personas, 6 a˜os (2006–12), 170000 l´
n ıneas de c´digo,
o
15000 definiciones, 4300 teoremas.
Logros de este proyecto:
formalizaci´n de un gran teorema,
o
formalizaci´n de varias teor´ necesarias para la prueba de
o ıas
Feit-Thompson: enlace.
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 34/38
77. Demostraci´n asistida por ordenador
o
Formalizaci´n del teorema de Feit-Thompson
o
Llevada a cabo por el proyecto Mathematical Components:
proyecto liderado por Georges Gonthier.
15 personas, 6 a˜os (2006–12), 170000 l´
n ıneas de c´digo,
o
15000 definiciones, 4300 teoremas.
Logros de este proyecto:
formalizaci´n de un gran teorema,
o
formalizaci´n de varias teor´ necesarias para la prueba de
o ıas
Feit-Thompson: enlace.
“The Feit-Thompson Theorem is the first steppingstone in a much
larger result, the classification of finite simple groups, which is
known as the monster theorem because it’s one of those theorems
where belief in it resides in the belief of a few selected people who
have understanding of it.”[G. Gonthier]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 34/38
78. Demostraci´n asistida por ordenador
o
Otras aplicaciones
Verificaci´n de software/hardware:
o
el microprocesador ARM,
el sistema operativo L4,
un compilador de C,
sistemas de identificaci´n biom´trica,
o e
fragmentos cr´
ıticos de c´digo relacionado con vuelos
o
espaciales,
...
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 35/38
79. Demostraci´n asistida por ordenador
o
¿Qu´ m´s hace falta?
e a
Problemas:
De Brujin factor: una formalizaci´n ocupa 4 veces el tama˜o
o n
de una prueba informal en latex,
formalizar una p´gina de un libro de texto de matem´ticas
a a
puede costar una semana,
diversidad de herramientas,
el proceso de formalizaci´n es distinto a la demostraci´n usual
o o
en matem´ticas,
a
es necesaria m´s automatizaci´n.
a o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 36/38
80. Demostraci´n asistida por ordenador
o
¿Qu´ m´s hace falta?
e a
Problemas:
De Brujin factor: una formalizaci´n ocupa 4 veces el tama˜o
o n
de una prueba informal en latex,
formalizar una p´gina de un libro de texto de matem´ticas
a a
puede costar una semana,
diversidad de herramientas,
el proceso de formalizaci´n es distinto a la demostraci´n usual
o o
en matem´ticas,
a
es necesaria m´s automatizaci´n.
a o
Objetivo:
lograr una aceptaci´n similar a los sistemas de c´lculo
o a
simb´lico,
o
uso para: descartar casos triviales, asegurarnos que el
desarrollo de una demostraci´n es el correcto, capacitar a los
o
revisores de una revista para reproducir una demostraci´n, . . .
o
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 36/38
81. Demostraci´n asistida por ordenador
o
Terminando. . .
“Formalization of mathematics can be a very rewarding activity in
its own right. It combines the pleasure of computer programming
(craftsmanship, and the computer doing things for you), with that
of mathematics (pure mind, and absolute certainty.) People who
do not like programming or who do not like mathematics probably
will not like formalization. However, for people who like both,
formalization is the best thing there is.”[F. Wiedijk]
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 37/38
82. Gracias por vuestra atenci´n
o
¿Pueden los ordenadores ayudarnos en la
demostraci´n de teoremas?
o
J´nathan Heras
o
School of Computing, University of Dundee, UK
http://www.computing.dundee.ac.uk/staff/jheras/
Curso de Actualizaci´n en Matem´ticas
o a
20 de marzo de 2013
J´nathan Heras
o ¿Pueden los ordenadores ayudarnos en la demostraci´n de teoremas?
o 38/38