Unión con su intersección

Demostrar que

s ∪ (s ∩ t) = s

Para ello, completar la siguiente teoría de Lean:

Read More «Unión con su intersección»

Conmutatividad de la intersección

Demostrar que

s ∩ t = t ∩ s

Para ello, completar la siguiente teoría de Lean:

Notas

  • En este enlace se puede escribir las soluciones en Lean.
  • A continuación se muestran algunas soluciones (que se pueden probar en este enlace).
  • En los comentarios se pueden publicar otras soluciones, en Lean o en otros sistemas de razonamiento.
    • Para publicar las demostraciones en Lean se deben de escribir entre una línea con <pre lang="lean"> y otra con </pre>
    • Para publicar las demostraciones en Isabelle/HOL se deben de escribir entre una línea con <pre lang="isar"> y otra con </pre>

Read More «Conmutatividad de la intersección»

2ª diferencia de diferencia de conjuntos

Demostrar que

s \ (t ∪ u) ⊆ (s \ t) \ u

Para ello, completar la siguiente teoría de Lean:

Notas

  • En este enlace se puede escribir las soluciones en Lean.
  • A continuación se muestran algunas soluciones (que se pueden probar en este enlace).
  • En los comentarios se pueden publicar otras soluciones, en Lean o en otros sistemas de razonamiento.
    • Para publicar las demostraciones en Lean se deben de escribir entre una línea con <pre lang="lean"> y otra con </pre>
    • Para publicar las demostraciones en Isabelle/HOL se deben de escribir entre una línea con <pre lang="isar"> y otra con </pre>

Read More «2ª diferencia de diferencia de conjuntos»

2ª propiedad semidistributiva de la intersección sobre la unión

Demostrar que

(s ∩ t) ∪ (s ∩ u) ⊆ s ∩ (t ∪ u)

Para ello, completar la siguiente teoría de Lean:

Notas

  • En este enlace se puede escribir las soluciones en Lean.
  • A continuación se muestran algunas soluciones (que se pueden probar en este enlace).
  • En los comentarios se pueden publicar otras soluciones, en Lean o en otros sistemas de razonamiento.
    • Para publicar las demostraciones en Lean se deben de escribir entre una línea con <pre lang="lean"> y otra con </pre>
    • Para publicar las demostraciones en Isabelle/HOL se deben de escribir entre una línea con <pre lang="isar"> y otra con </pre>

Read More «2ª propiedad semidistributiva de la intersección sobre la unión»

Propiedad semidistributiva de la intersección sobre la unión

Demostrar que

s ∩ (t ∪ u) ⊆ (s ∩ t) ∪ (s ∩ u)

Para ello, completar la siguiente teoría de Lean:

Notas

  • En este enlace se puede escribir las soluciones en Lean.
  • A continuación se muestran algunas soluciones (que se pueden probar en este enlace).
  • En los comentarios se pueden publicar otras soluciones, en Lean o en otros sistemas de razonamiento.
    • Para publicar las demostraciones en Lean se deben de escribir entre una línea con <pre lang="lean"> y otra con </pre>
    • Para publicar las demostraciones en Isabelle/HOL se deben de escribir entre una línea con <pre lang="isar"> y otra con </pre>

Read More «Propiedad semidistributiva de la intersección sobre la unión»

Propiedad de monotonía de la intersección

Demostrar que la intersección es monótona por la izquierda; es decir, si

s ⊆ t,

entonces

s ∩ u ⊆ t ∩ u.

Para ello, completar la siguiente teoría de Lean:

Notas

  • En este enlace se puede escribir las soluciones en Lean.
  • A continuación se muestran algunas soluciones (que se pueden probar en este enlace).
  • En los comentarios se pueden publicar otras soluciones, en Lean o en otros sistemas de razonamiento.
    • Para publicar las demostraciones en Lean se deben de escribir entre una línea con <pre lang="lean"> y otra con </pre>
    • Para publicar las demostraciones en Isabelle/HOL se deben de escribir entre una línea con <pre lang="isar"> y otra con </pre>

Read More «Propiedad de monotonía de la intersección»

Sobre Calculemus

El objetivo principal de Calculemus es proponer ejercicios de demostración de resultados matemáticos usando sistemas de demostración interactiva, fundamentalmente Lean e Isabelle/HOL.

En los enunciados de los ejercicios se da la plantilla para Lean.

Las soluciones propuestas están en la versión 3.30.0 de Lean y en la versión 2021 de Isabelle/HOL. Las distintas soluciones están ordenadas desde las más detalladas a las más automáticas. Además, las soluciones están en este repositorio de GitHub.

Es recomendable, antes de leer las soluciones propuestas, intentar escribir demostraciones propias (en el caso de Lean se pueden probar en el navegador a través de este enlace).

En los comentarios se pueden publicar demostraciones distintas de las propuestas en Lean, Isabelle/HOL u otros sistemas (como Coq, Agda o PVS.

Las reflexivas circulares son simétricas

Se dice que la relación binaria R es

  • reflexiva si ∀x. R(x, x)
  • circular si ∀x y z. R(x, y) ∧ R(y, z) ⟶ R(z, x)
  • simétrica si ∀x y. R(x, y) ⟶ R(y, x)

Demostrar que las relaciones reflexivas y circulares son simétricas. Para ello, completar la siguiente teoría de Isabelle/HOL:

Soluciones con Isabelle/HOL

Otras soluciones

  • Se pueden escribir otras soluciones en los comentarios.
  • El código se debe escribir entre una línea con <pre lang="isar"> y otra con </pre>

El problema del barbero

Decidir si es cierto que

Carlos afeita a todos los habitantes de Las Chinas que no se afeitan a sí mismo y sólo a ellos. Carlos es un habitante de las Chinas. Por consiguiente, Carlos no afeita a nadie.

Se usará la siguiente simbolización:

  • A(x,y) para x afeita a y
  • C(x) para x es un habitante de Las Chinas
  • c para Carlos

El problema consiste en completar la siguiente teoría de Isabelle/HOL:

Soluciones con Isabelle/HOL

Otras soluciones

  • Se pueden escribir otras soluciones en los comentarios.
  • El código se debe escribir entre una línea con <pre lang="isar"> y otra con </pre>

El problema de los infectados

Decidir si es cierto que

Existe una persona tal que si dicha persona se infecta, entonces todas las personas se infectan.

En la formalización se usará I(x) para representar que la persona x está infectada. El problema consiste en completar la siguiente teoría de Isabelle/HOL:

Soluciones con Isabelle/HOL

Otras soluciones

  • Se pueden escribir otras soluciones en los comentarios.
  • El código se debe escribir entre una línea con <pre lang="isar"> y otra con </pre>