Tag: COQ
UIP (y equivalentes como el axioma K) debe ser añadido axiomáticamente en Coq si se desea: uip : ∀ A (x y: A) (p q: x = y), p = q Esto es sorprendente, ya que parece obvio a partir de la definición de igualdad, que solo tiene un constructor. . . . Read more
Hola chicos. Así que tengo H0, obtuve mi x y H1. Por lo que entiendo, si demuestro que existe un x para el cual P x -> Falso, obtendré un Falso y podré discriminar el caso. Simplemente no entiendo cómo proporcionar ese x y H1. Intenté reescribir, aplicar y simplemente . . . Read more
Estoy tratando de escribir una función que elimine los ceros de una lista. Aquí está el primer intento de mi implementación. Require Import Nat. Require Import List. Fixpoint shrink (x : list nat) : list nat := (* ¡Error! Necesita un : list nat *) match x with | nil . . . Read more
Estoy aprendiendo a usar Coq e intento demostrar los teoremas de un artículo que estoy leyendo. El artículo se llama “Having a Part Twice Over” de Karen Bennett, publicado en 2013. El artículo propone una teoría mereológica compuesta por dos primitivas F y Ps y define la relación de parte . . . Read more
Tenía curiosidad por aprender sobre la inferencia de tipos en Coq. Quería una forma concreta en Coq de generar tipos (teoremas) dados un término/objeto/programa de prueba. Entonces, dado un término de prueba (quizás con un agujero, quizás sin agujeros o quizás un sub-término de prueba), ¿puedo generar su tipo de . . . Read more