We introduce Voevodsky's univalent foundations and univalent mathematics, and explain how to develop them with the computer system Agda, which is based on Martin-L\"of type theory. Agda allows us to write mathematical definitions, constructions, theorems and proofs, for example in number theory, analysis, group theory, topology, category theory or programming language theory, checking them for logical and mathematical correctness. Agda is a constructive mathematical system by default, which amounts to saying that it can also be considered as a programming language for manipulating mathematical objects. But we can assume the axiom of choice or the principle of excluded middle for pieces of mathematics that require them, at the cost of losing the implicit programming-language character of the system. For a fully constructive development of univalent mathematics in Agda, we would need to use its new cubical flavour, and we hope these notes provide a base for researchers interested in learning cubical type theory and cubical Agda as the next step. Compared to most expositions of the subject, we work with explicit universe levels.
翻译:我们引入了Voevodsky的单体基础和单体数学, 并解释如何用基于 Martin- L\\" 类型理论 的计算机系统 Agda 来开发这些基础。 Agda 允许我们写数学定义、 构造、 理论和证明, 比如数字理论、 分析、 集体理论、 地形学、 分类理论或编程语言理论, 检查它们的逻辑和数学正确性。 Agda 是一个建设性的数学系统, 默认地说它也可以被视作一种用于操控数学对象的编程语言。 但是我们可以以失去系统隐含的编程语言特性为代价, 假设数学作品的选择轴或排除原则。 为了充分建设性地发展Agda 的单体数学, 我们需要使用它的新立体口味, 我们希望这些笔记能为有兴趣学习立体类型理论和立体阿格达 的研究人员提供一个基础, 作为下一步的学习基础。 与大多数实验对象相比, 我们以明确的宇宙水平工作 。