LaTTe / Sep 27 2019
LaTTe Template
This is a remixable template to livecode mathematics in nextjournal using the LaTTe proof assistant.
(ns latte-hello-world (:refer-clojure :exclude [and or not set =]) (:require [latte.core :as latte :refer [defthm defimplicit definition example defaxiom proof assume have pose qed type-check?]] [latte-prelude.fun :refer [injective surjective compose]] [latte-sets.core :refer [set elem set-equal emptyset] :as sets] [latte-prelude.equal :as e] [latte-prelude.prop :refer [not and or absurd]] [latte-prelude.quant :refer [exists ex ex-elim] :as q] [latte-sets.core :as sets]))
(defthm hello-thm "From A and A->B follows B" [[A :type][B :type]] (==> A (==> A B) B))
Vector(3) [:declared, :theorem, hello-thm]
(proof hello-thm (assume [a A, f (==> A B)] (have a->b B :by (f a))) (qed a->b))
Vector(2) [:qed, hello-thm]