Agda is a dependently-typed functional programming language, based on an extension of intuitionistic Martin-L\"of type theory. We implement first order natural deduction in Agda. We use Agda's type checker to verify the correctness of natural deduction proofs, and also prove properties of natural deduction, using Agda's proof assistant functionality. This implementation corresponds to a formalisation of natural deduction in constructive type theory, and the proofs are verified by Agda to be correct (under the assumption that Agda itself is correct).
翻译:Agda是一种依赖型式功能编程语言,基于直觉学Martin-L\"类型理论的延伸。我们在Agda中实施第一顺序自然扣减。我们使用Agda的字型检查器来核实自然扣减证据的正确性,并使用Agda的证明助理功能来证明自然扣减的特性。 这一功能相当于在建设性类型理论中将自然扣减正规化,Agda对证据进行核实是正确的(假设Agda本身是正确的 ) 。