Quiero definir mi propio tipo de lista en una teoría llamada List
, pero ya existe una teoría con ese nombre. ¿Existe una teoría más ligera que Main
?¿Es posible no importar ninguna teoría en Isabelle?
Respuesta
No se puede importar nada en Isabelle (ya que la importación es necesaria incluso para la lógica básica). La implementación de HOL en Isabelle tiene tres puntos de entrada admitidos: Main
, Complex_Main
(que es Main
más algunos Análisis) y Plain
, pero solo los dos primeros están destinados para el uso regular.
simple ya contiene la lógica básica, pero casi nada en términos de la biblioteca estándar (por ejemplo, sin listas). Pero también faltan herramientas importantes como QuickCheck, Sledgehammer y el generador de códigos. Además, si comienzas desde Plain para poder nombrar tu propia lista teórica, ten en cuenta que tu teoría será incompatible con cualquier trabajo que se desarrolle en Main (que es casi todo).
Así que, a menos que tengas muy buenas razones para hacerlo, te sugiero seguir el comentario de Raphael y darle a tu lista la teoría de otro nombre.
Puede importar sólo HOL
, como en
theory Test_Theory
imports HOL
begin
…
end
hago a menudo para probar e investigar acerca de Isabelle.
Sin embargo, carecerá de las definiciones de tipo de datos, y probablemente necesitará importar Datatype
(y puede ser incluso Record
), así, con el fin de ser capaz de escribir su teoría List
.
theory Test_Theory
imports HOL Datatype Record
begin
…
end
Como ambos Datatype
y Record
importaciones HOL
, simplemente puede tener:
theory Test_Theory
imports Datatype Record
begin
…
end
Eso no es fácil de hacer sin teoría Main
, pero no imposible. Solo tenga en cuenta que tendrá que prescindir de muchos teoremas ampliamente utilizados, y puede tener que escribir y probar sus propios.
No sabía sobre 'FunDef', gracias por la sugerencia, lo echaré un vistazo. También me interesan las teorías de base "menos hinchadas", al menos porque consume mucha memoria (estoy usando una máquina RAM de 1G, que es pequeña para Isabelle ... planeo obtener más RAM especialmente para Isabelle). Además, otra razón para buscar otro conjunto de teorías que lo que proporciona "Main" es que algunas teorías no son adecuadas para algún tipo de prueba. Como ejemplo, siento que la axiomatización que usa la teoría de conjuntos no es práctica y deseo establecer la mía (si es posible). – Hibou57
Tenga en cuenta que importar nada debajo de 'Main' HOL no está especificado, y se esperan efectos extraños. 1 GB de RAM es una mala razón para ingresar al funcionamiento de Isabelle/HOL. – Makarius
¿No es lo mismo con 'Pure'? (Voy a mirar, gracias por el punto). – Hibou57
Tenga en cuenta que $ISABELLE_HOME/src/HOL/ex/Seq.thy
proporciona un ejemplo mínimo de la definición de su propio tipo de datos de lista para la experimentación, sin abordar la delicada cuestión de cómo trabajar con el sistema debajo de su punto de entrada Main
. (Los principiantes se confunden y los expertos no lo hacen)
Teóricamente, la teoría más primitiva que podría importar es Pure
, pero eso es solo el marco lógico básico, sin ninguna lógica de objeto como HOL todavía. Solo por curiosidad, puede consultar $ISABELLE_HOME/src/HOL/ex/Higher_Order_Logic.thy
que comienza en Pure
y define una versión mínima de H.O.L. Además de eso, sin ninguna de las teorías y herramientas avanzadas que esperarías de Isabelle/HOL completo.
La referencia a 'Higher_Order_Logic' es muy buena. –
- 1. ¿Es posible sobrecargar/importar en Python?
- 2. ¿Es posible importar un archivo python compilado?
- 3. ¿Es posible importar ImportRange en Google Apps Script?
- 4. ¿Es posible importar informes existentes de SSRS en Visual Studio?
- 5. Eclipse no reconoce ninguna importación
- 6. ¿Es posible importar un archivo MX sin evaluar los contenidos?
- 7. ¿Es posible importar un repositorio de integridad MKS a git?
- 8. ¿Es posible incluir/importar código al Manifiesto de Android?
- 9. ¿Es posible importar mensajes al emulador de Android?
- 10. ¿Es posible importar temas de TextMate a IntelliJ IDEA?
- 11. Encoding.Default no es lo mismo que ninguna codificación en File.ReadAllText?
- 12. Teoría del almacenamiento en caché
- 13. ¿Es posible mapear un campo en una entidad sin definir ninguna asociación?
- 14. no se puede importar gdal en python?
- 15. CMMotionManager no produce ninguna .deviceMotions
- 16. Reemplazar condicionalmente por polimorfismo: agradable en teoría pero no práctico
- 17. No hay ninguna instancia adjunta de tipo ... es accesible
- 18. No es posible excluir .DS_Store en rsync
- 19. Memcached instalado (en teoría), PHP no puede usar memcache_connect()
- 20. No puedo importar scipy.misc.imread
- 21. Redis no permite ninguna operación
- 22. ¿Es posible detectar música no ipod?
- 23. no puede importar mongodb
- 24. sintonización JVM y GC: teoría para no GC completo
- 25. Es posible enviar un correo electrónico mediante programación sin utilizar ninguna cuenta de correo electrónico real
- 26. ¿Qué es importar gv en python?
- 27. Establecer teoría Unión de matrices en PHP
- 28. Libros para principiantes teoría de sistemas tipo
- 29. Teoría del editor de texto
- 30. ¿Cómo diseñar una teoría NUnit?
FYI, en caso de que no obtenga la respuesta que está buscando aquí, podría valer la pena también haciendo la pregunta en cs.stackexchange.com o cstheory.stackexchange.com ... – reuben
@reuben: Ni el sitio está ahí para soporte de herramientas. La [documentación] de Isabelle (http://isabelle.in.tum.de/documentation.html) y [community] (https://isabelle.in.tum.de/community) es el lugar correcto para ir. – Raphael
Nota para los cerradores: esta pregunta está directamente sobre el tema en Desbordamiento de pila. Isabelle es un probador de teoremas, y esos son un tipo especial de entorno de programación ([tag: coq] y [tag: agda] son otros ejemplos que tienen una comunidad pequeña pero existente en SO). El uso de una herramienta de programación está sobre el tema en Desbordamiento de pila.(@Raphael No, la pregunta está bien aquí.) – Gilles