Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
The topic of the course are formal (computer-understandable) mathematics and proof assistants (interactive
theorem provers). A proof assistent is a tool to assist with the development of formal proofs by human-machine
collaboration. The language of communication is some variant of formal logic and the main aim a high level of
assurance that the proven actually holds.We will have a look at the proof assistent Lean, study its theoretical
foundations and explore the ways in which it can be used to develop theories, model systems, and prove
theorems in computer science as well as mathematics.
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
The topic of the course are formal (computer-understandable) mathematics and proof assistants (interactive
theorem provers). A proof assistent is a tool to assist with the development of formal proofs by human-machine
collaboration. The language of communication is some variant of formal logic and the main aim a high level of
assurance that the proven actually holds.We will have a look at the proof assistent Lean, study its theoretical
foundations and explore the ways in which it can be used to develop theories, model systems, and prove
theorems in computer science as well as mathematics.
Course completion requirements - Czech
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
Předmět je zakončen ústní zkouškou.
Literature -
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
Blanchette et at. The Hitchhiker's Guide to Logical Verification (available online)
Jeremy Avigad, Leonardo de Moura, and Soonho Kong. Theorem Proving in Lean (available online)
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
Blanchette et at. The Hitchhiker's Guide to Logical Verification (available online)
Jeremy Avigad, Leonardo de Moura, and Soonho Kong. Theorem Proving in Lean (available online)
Requirements to the exam -
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
Will be specified later.
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
Požadavky budou upřesněny.
Syllabus -
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
We will mostly follow the Hitchhiker's Guide:
Basics:
Definitions and Statements,
Backward Proofs, Forward Proofs
(Quantifiers, Connectives, Tactics, Propositions as Types / Proofs as Terms)
Functional–Logic Programming:
Functional Programming
Inductive Predicates
Monads
(Basic Data Structures, Proofs by induction, Arithmetic tactics)
Program Semantics:
Operational Semantics
Hoare Logic
Denotational Semantics
(Small-step/big-step, Partial vs Total correctness, Monotone functions, lattices and
fixpoints)
Mathematics:
Logical Foundations of Mathematics
Basic Mathematical Structures
Rationals and Real Numbers
(Foundational principles, Subtypes, Quotient types, Type Classes)
Last update: doc. Mgr. et Mgr. Jan Žemlička, Ph.D. (08.12.2022)
Většinou se budeme řídit textem The Hitchhiker's Guide to Logical Verification:
Základy:
definice a výroky,
Backward Proofs, Forward Proofs,
(kvantifikátory, spojky, taktiky, věty jako typy / důkazy jako termy).