Учитывая термин t : ∀x.∃y.(¬(x = 0) ⇒ x = S(y))
в теории типов Мартина-Лофа, какова ценность того w(t(0))
, где w
находится оператор, извлекающий свидетельство термина экзистенциального типа?
12
Учитывая термин t : ∀x.∃y.(¬(x = 0) ⇒ x = S(y))
в теории типов Мартина-Лофа, какова ценность того w(t(0))
, где w
находится оператор, извлекающий свидетельство термина экзистенциального типа?
Ответы:
источник
Чтобы продемонстрировать ответ Марка, рассмотрим следующее доказательство
t
вашего утверждения, написанное в Coq. В доказательстве мы предполагаем, что задан параметрk
типаnat
. Мы используемk
в качестве значенияy
в случаеx = 0
:Мы можем доказать, что
t 0
равноk
:Это
protT1
есть потому, чтоt 0
это не просто натуральное число, но на самом деле натуральное число с доказательством того, что0 <> 0 -> 0 = S y
иprojT1
выбрасывает доказательство.Извлеченный код Ocaml
t
, полученный с помощью командыExtraction k
:Опять же, мы можем видеть, что
t 0
это равноk
, что было условно принятым параметром.источник