Skip to main content

The course-wide rules: deadlines and extensions, working together, the use of tools, what you may do with what you produce, and where to get help.

Policies and support

Deadlines and extensions

Lab proofs are due by 5pm on the Friday of their week. The definition exercise and the verifier project have their own due dates on their pages. Work submitted after a deadline without an extension is not marked. Ask before the deadline and an extension is granted for the asking: email the convenor with the date you can meet. After the deadline, an extension needs a reason.

Working together

Talk about proofs with anyone. A proof is checked by a program, and two people who arrive at the same proof by talking have both learned what the program needs. What you submit must be typed by you, and the write-ups you submit must be in your words. The verifier project is the exception: its code is written by you alone, in whatever language you choose. You may read anything, including the source of other verifiers, as its page says; what you may not do is submit code you did not write.

Tools

Any editor, any operating system, any proof assistant. The course teaches mmj2 and the labs assume it, but a proof that verifies is a proof. Language models and other generators may be used for the lab proofs and the definition exercise; say so in one line when you submit. They may not be used to write the verifier project’s code.

What you may do with what you produce

The databases the course works in are public domain: the Metamath project’s copyright page says its databases “are waived of all rights, including copyright, according to the CC0 Public Domain Dedication”. A proof you write in a lab is yours to publish, contribute or forget. This site’s own text is licensed as the footer says.

Getting help

The lab is the place to get unstuck. Between labs, email the tutor with the proof file attached, or the convenor for anything that is not a proof.