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ć?

Konstantin Solomatov
źródło

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ą.

Andrej Bauer
źródło
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