Dlaczego nie można zadeklarować zasady indukcji cyfr Kościoła


17

Wyobraźmy sobie, że zdefiniowaliśmy liczby naturalne w rachunku różniczkowym lambda w zależności od typu jako liczby kościelne. Można je zdefiniować w następujący sposób:

SimpleNat = (R : Set) → R → (R → R) → R

zero : SimpleNat
zero = λ R z _ → z

suc : SimpleNat → SimpleNat
suc sn = λ R z s → s (sn R z s)

SimpleNatRec : (R : Set) → R → (R → R) → SimpleNat → R
SimpleNatRec R z s sn = sn R z s

Wydaje się jednak, że nie możemy zdefiniować cyfr kościelnych za pomocą następującego rodzaju zasady indukcji:

NatInd : (C : Nat -> Set) -> (C zero) -> ((n : Nat) -> C n -> C (suc n)) -> (n : Nat) -> (C n)

Dlaczego tak jest Jak mogę to udowodnić? Wydaje się, że problem polega na zdefiniowaniu typu Nat, który staje się rekurencyjny. Czy można zmienić rachunek lambda, aby to umożliwić?

Odpowiedzi:


20

Pytanie, które zadajesz, jest interesujące i znane. Używasz tak zwanego impredykatywnego kodowania liczb naturalnych. Pozwól, że wyjaśnię trochę tła.

Biorąc pod uwagę konstruktor typu , możemy być zainteresowani „minimalnym” typem A spełniającym A T ( A ) . Pod względem teorii kategorii T jest funktorem, a A jest początkową algebrą T. Na przykład, jeśli T ( X ) = 1 + X, to A odpowiada liczbom naturalnym. Jeśli T ( X ) = 1 +T:TypeTypeAAT(A)TATT(X)=1+XA a następnie A jest rodzajem skończonych drzew binarnych.T(X)=1+X×XA

Pomysł z długą historią jest to, że początkowy -algebra jest typu : = Π X : T y P e ( T ( X ) X ) X . (Używasz notacji Agda dla produktów zależnych, ale używam bardziej tradycyjnej notacji matematycznej.) Dlaczego tak powinno być? Cóż, A zasadniczo koduje zasadę rekurencji dla początkowej T- algebry: biorąc pod uwagę dowolną T- algebrę Y o morfizmie struktury f : T ( YT

ZA:=X:T.ypmi(T.(X)X)X.
ZAT.T.Y , otrzymujemy homomorfizm algebry ϕ : A Y przez ϕ ( a ) = afa:T.(Y)Yϕ:ZAY Widzimy więc, że A jestz pewnościąsłabopoczątkowe. Aby było to początkowe, musielibyśmy wiedzieć, że ϕ jest również wyjątkowy. Nie jest to prawdą bez dalszych założeń, ale szczegóły są techniczne i nieprzyjemne i wymagają przeczytania jakiegoś materiału tła. Na przykład, jeśli potrafimy wykazać zadowalającetwierdzenie parametryczne, wówczas wygrywamy, ale są też inne metody (takie jak masowanie definicji A i zakładanie K- maksiomu i ekstensywności funkcji).
ϕ(za)=zaYfa.
ZAϕZAK.

T.(X)=1+X

N.zat=X:T.ypmi((1+X)X)X=X:T.ypmi(X×(XX))X=X:T.ypmiX(XX)X.

Techniczna odpowiedź na twoje pytanie brzmi: istnieją modele teorii typów, w których typ SimpleNatzawiera egzotyczne elementy, które nie odpowiadają cyfrom, a ponadto elementy te łamią zasadę indukcji. Typ SimpleNatw tych modelach jest zbyt duży i jest tylko słabą algebrą początkową.


8
Zgadzam się, że odpowiedź jest świetna, ale kilka odniesień może się tu przydać: praca Geuversa na temat niemożności uzyskania indukcji oraz praca Neela K i Dereka Dreyera na temat uzyskania (pewnej) indukcji z parametryczności . Nie znam jednak artykułu, który w pełni bada związek.
cody

Nie jestem zbyt silny na referencje w tej dziedzinie, dzięki @cody!
Andrej Bauer
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.