Is my proof correct?
Lurch says it is not convinced.
I need to say more.
Anonymous, 2024
Welcome to the home of Lurch — an open source math editor that can
check your proofs!
Natural mathematical style and notation
Completely customizable
Designed from the ground up for ease of use
Example Proof Gallery
Here are a few example proofs done in Lurch using the topics defined
below.
Topo-logical
a proof that the composition of continuous functions is continuous
in Topology. Imitate the video after opening the document to see
Lurch in action. (Spoiler alert: this is the solution to part D of the Final Exam
below.)
Double induction
a proof of a binomial coefficient identity done in class using
double induction (and the recursive definition of binomial
coefficients given in the course). Colored fonts are used to help
keep track of which induction is which.
Proof Style Sampler
a smorgasbord of proofs in Lurch using a variety of topics and
styles.
100 Famous Theorems Challenge!
Lurch's status in verifying the proofs of theorems on the 100 famous
theorems challenge list. Game on!
Start Lurching!
Learning what a proof is can be the pursuit of a lifetime, but
getting started with Lurch is easy!
4. Get Lurch! information for
instructors (or anyone who just wants to play!) who would like
to obtain and customize their own Lurch site or install it on
their computer.
Most users can get by with just the information provided above. For
those of you who want to go deeper into the inner workings of Lurch,
here are some useful links.
Lurch Deductive Engine the nitty gritty
details under the hood of the validation algorithm used by the Lurch
Deductive Engine for mathematicians, logicians, and computer
scientists.
Lurch Syntax
a quick reference showing how to type various math expressions in
Lurch (not usually needed because you can click on any expression to
see how it is typed or guess what it should be).
Math 299 Home Page
for my Introduction to Mathematical Proof course at the University
of Scranton, Spring 2024.
Talk Slides those of you who have attended my
talks on Lurch can find my 'slides' from those talks here.
Start a New Document
Click one of the following buttons to open a new document in either
the student version or instructor version of Lurch. The document will
have no mathematical content or context whatsoever. You can start
completely from scratch! If you prefer to start with some definitions
or theorems available, try one of the blank documents with a context
provided in the next section below.
Introduction to Mathematical Proof (Math 299), University of
Scranton
Lurch allows instructors to completely customize Lurch by creating
their own definitions, theorems, notes, textbook, and other course
content.
Lurch was used successfully in my undergraduate bridge course for
math majors, Math 299 at the University of Scranton, Spring 2024.
These definitions and notes are very specific to my course, but are
included here for instructors who want to use or modify them. Thus,
these are not any sort of 'official' contexts or math content built
into Lurch itself, but rather are just one example of specific content
made by a specific instructor for a specific course. We hope to add
additional mathematical content here from other instructors and
courses in the future.
Cumulative Topics – each link
opens a blank Lurch document whose context consists of the rules for
that topic, and those from the topics above it. The Theorem numbers
refer to exercises in the draft of the
course lecture notes.
defines a single ‘rule’ that enables Lurch to validate transitive
chains of equalities without needing substitution, reflexivity,
symmetry, or transitivity (view rules)
Additional Rules. The following rules can be
optionally added by the instructor to any context above in a
particular document. Currently, only one of the three Arithmetic
rules can be used in a single document.
Allows the user to say 'byarithmetic' after an expression to try to justify it
using a CAS. The expression can only contain natural number
constants (e.g. $0$, $1$, $2$, etc) the operators $+$, $\cdot$,
and $\text{^}$, and the relations $=$, $\leq$, and $\lt$. (view rules)
Allows the user to say 'byarithmetic' after an expression to try to justify it
using a CAS. The expression can only contain natural number
constants (e.g. $0$, $1$, $2$, etc) the operators $+$, $\cdot$,
$\text{^}$, and $-$ and the relations $=$, $\leq$, and $\lt$.
Exponents cannot be negative. (view rules)
Allows the user to say 'byarithmetic' after an expression to try to justify it
using a CAS. The expression can only contain natural number
constants (e.g. $0$, $1$, $2$, etc) the operators $+$, $\cdot$,
$\text{^}$, $-$, and $/$, and the relations $=$, $\leq$, and
$\lt$. Exponents must be integers and you cannot divide by zero.
(view rules)
Allows the user to say 'byalgebra' after an expression to try to justify it
using a CAS. There are no restrictions on what the expression can
contain, so use at your own discretion. The identity is evaluated
using Algebrite. (view rules)
Useful Cumulative Contexts. These contexts combine
some proper subsets of the cumulative Math 299 contexts listed
above.
Defines topological space, open,
closed, and continuous (in a toplogical
space). Includes the Functions library above. (view rules)
Example Assignments
Math 299 Spring 2024 Assignments –
each link opens a Lurch document containing a homework assignment from
the course. Note that Lurch was under development during this semester
so that some assignments are not good examples of what can be done
today if these were rewritten to take advantage of some of the new
features. I am in the process of updating them. I also intend to
revise the entire syllabus as a result of having Lurch available to
spend less time on formal logic and more time on the later topics in
the course (and perhaps add a few new ones).
The theorem numbers for the assigned problems below refer to the
following course lecture notes. These are not fully updated to be
consistent with the libraries used in the assignments below and may be
revised frequently.
Theorem 10.32 (always in the power set):
$\{~~\}\in \mathscr{P}(A)$
Theorem 10.34. (power sets of subsets): If
$A\subseteq B$ then
$\mathscr{P}(A)\subseteq\mathscr{P}(B)$.
Theorem 10.38 (relative complement is not
associative):
If $x\in A$, $x\in B$, and $x\in C$ then $(A\setminus
B)\setminus C\neq A\setminus (B\setminus C)$.
Theorem 10.7 (a set of sets):
$\{\,1,2\,\}\in\left\{\,Y:\{\,1\,\}\subseteq Y\right\}$
Theorem 10.43 (a linear bijection): If
$f\colon \mathbb{R} \to \mathbb{R}$ and $\forall x.f(x)=3\cdot
x+1$ then $f$ is bijective.
Theorem (inverse images respect intersection):
If $f\colon A \to B$, $S \subseteq B$, $T \subseteq B$ then
$$f^\mathrm{inv}(S \cap T)=f^\mathrm{inv}(S) \cap
f^\mathrm{inv}(T)$$
Theorem (inverse functions are bijective):
If $f\colon A \to B$ and $f$ is bijective then $f^{-1}$ is
bijective.
Theorem 10.52 (inverse of a composition): If
$f\colon A \to B$, $g\colon B \to C$, $f$ is bijective, and
$g$ is bijective then $$(g \circ f)^{-1} = f^{-1} \circ
g^{-1}$$
Theorem (integer associates) Define $\sim$
to be the relation on $\mathbb{Z}$ such that for all $x,y\in
\mathbb{Z}$, $$x\sim y\text{ if and only if }y=x\text{ or
}y=−x$$ Then $\sim$ is an equivalence relation.
Theorem ($\subseteq$ is a partial order) Let
$A$ be a set and suppose $\sim$ is a relation on
$\mathscr{P}(A)$ such that for all $S,T\in\mathscr{P}(A)$
$$S\sim T\text{ if and only if }S\subseteq T$$ Then $\sim$ is
a partial order.
Theorem 10.65 Congruence mod $m$ is an
equivalence relation on the set of integers.
Theorem 10.66 (class representatives): Every
integer $a$ is congruent mod $m$ to a unique natural number
that is less than $m$, i.e., $\exists r.a
\underset{m}{\equiv}r\text{ and }0\leq r\text{ and }r\lt m$
and if $a \underset{m}{\equiv} s$, $0\leq s$, and $s\lt m$ and
$a \underset{m}{\equiv} t$, $0\leq t$, and $t\lt m$ then
$s=t$.
Theorem 10.68 (modular addition): For any
integers $a,b,c,d$, if $a \underset{m}{\equiv} b$ and $c
\underset{m}{\equiv} d$ then $a+c \underset{m}{\equiv}
b+d$
Theorem 10.69 (modular multiplication): For
any integers $a,b,c,d$, if $a \underset{m}{\equiv} b$ and $c
\underset{m}{\equiv} d$ then $a\cdot c \underset{m}{\equiv}
b\cdot d$
Final Exam!– try your hand at the Math 299 Final
Exam from Spring 2024 (four parts)
Get Lurch! – If you’d like
to use Lurch in your course or explore it on your own, you can access
the materials directly from this site or customize a copy for your own
needs. Detailed instructions on obtaining, customizing, and even
installing Lurch locally on your computer are available here.