Deducción Natural en Isabelle
El Lenguaje de Isabelle
Cómo hablar con la máquina. No puedes dar saltos lógicos, tienes que justificar cada paso.
assume "p"
"Supongamos que tengo 'p'". Metes 'p' en tu mochila
temporalmente. Es una hipótesis que podrás usar más tarde como ingrediente.
have "q"
"Hago una pausa para fabricar 'q'". Es una mini-meta. Te inventas
un paso intermedio que necesitas para más adelante. Tienes que demostrarlo ahí mismo.
show "r"
"Con esto demuestro mi meta actual". Es el golpe final. Lo que
pongas en un
show tiene que coincidir exactamente con lo que Isabelle te
está pidiendo en ese momento.using
"Usando estos ingredientes…". Le pasas datos de tu mochila
(hipótesis o resultados previos) a una regla para que pueda ejecutarse.
proof (rule X)
"Voy a resolver esta meta abriendo la estructura con la regla X".
Aplica la regla principal y genera las sub-metas correspondientes.
proof −
"No apliques ninguna regla automática todavía. Voy a preparar mis
ingredientes en la mesa primero". Útil cuando necesitas montar piezas antes de cerrar.
next
El separador de universos paralelos. Cierra un caso y resetea la
mochila para empezar el siguiente. Imprescindible en pruebas por casos o conjunciones
divididas.
La Implicación →
La flecha es un billete de tren. Si estás en la ciudad A, te lleva a la ciudad B.
Fabricar una flecha — rule impI
Para fabricar un billete de 'p' a 'q', asumo que estoy en 'p' y trato de demostrar que
puedo llegar a 'q'.
proof (rule impI)
assume "p"
show "q" ...
assume "p"
show "q" ...
Usar una flecha — rule mp (Modus Ponens)
Tienes
p → q (el billete) y tienes p (estás en la ciudad).
Como tengo el billete y estoy en el origen, llego al destino.
have "q" using `p → q` `p` by (rule mp)
La Conjunción &
Una bolsa hermética que contiene dos cosas juntas.
Extraer de la bolsa — conjunct1 / conjunct2
Tienes una bolsa
p & q. Rompes la bolsa y te quedas con lo de la
izquierda (conjunct1) o con lo de la derecha (conjunct2).
have "p" using `p & q` by (rule conjunct1)
Fabricar la bolsa — rule conjI
Tienes 'p' suelta y tienes 'q' suelta. Les pones pegamento y las metes en una bolsa
juntas. Si haces
proof (rule conjI) sin ingredientes, Isabelle te divide en
dos sub-tareas.
show "p & q" using `p` `q` by (rule conjI)
La Disyunción |
Caminos alternativos. No sabes cuál es el real.
Fabricar un "O" — disjI1 / disjI2
Ya sabes que 'p' es verdad de forma segura. Como tienes 'p', te puedes inventar
cualquier alternativa a su lado.
show "p | q" using `p` by (rule disjI1)
show "p | q" using `q` by (rule disjI2)
show "p | q" using `q` by (rule disjI2)
Prueba por casos — rule disjE
Tienes
proof (rule disjE)
assume "p"
show "r" ...
next
assume "q"
show "r" ...
qed
p | q pero tu meta es r. Como no sabes si es 'p' o 'q',
exploras ambos universos. Demuestras 'r' asumiendo 'p', y luego demuestras 'r' asumiendo
'q'.
show "r" using `p | q`proof (rule disjE)
assume "p"
show "r" ...
next
assume "q"
show "r" ...
qed
La Negación ~
Si algo choca, el sistema explota. La contradicción es tu arma.
Fabricar un "NO" — rule notI
Para demostrar que 'p' es mentira, asumo que es verdad. Al asumir 'p', si llego a una
contradicción absurda (
assume "p"
show False ...
False), entonces era mentira.
proof (rule notI)assume "p"
show False ...
Crear el cortocircuito — rule notE
Tienes algo afirmado (
p) y lo mismo negado (~p). Tengo un
choque frontal. Se lo doy a 'notE', el sistema se rompe, y como premio me regala la meta
que yo quiera.
show "Z" using `~p` `p` by (rule notE)
Explosión — rule FalseE
Ya tienes la palabra
False en tu mochila. Como ya has demostrado el
absurdo, puedes concluir cualquier cosa.
show "Z" using `False` by (rule FalseE)
Reducción al absurdo — rule ccontr
Estás atascado en tu meta
assume "~p"
show False ...
p. Asumes que tu meta entera es mentira
(~p). Si usando eso logras crear un cortocircuito (False),
entonces tu meta original era verdad.
proof (rule ccontr)assume "~p"
show False ...
Selecciona un Tema
Administración Secreta
Conéctate a GitHub para actualizar los ejercicios directamente en el servidor.
Conectado como ...
Selecciona un Tema
Ejercicios
Editor
Pasos de la Prueba
Importar con IA (Gemini)
1. Copia el siguiente prompt y envíaselo a Gemini o ChatGPT.