Większość asystentów dowodowych ma sformalizowaną koncepcję „zbioru skończonego”. Te formalizacje różnią się jednak bardzo dziko (choć można mieć nadzieję, że wszystkie są w zasadzie równoważne!). Nie rozumiem w tym momencie zajmowanej przestrzeni projektowej oraz jakie są zalety i wady każdej formalizacji.
W szczególności chciałbym zrozumieć, co następuje:
- Czy mogę aksjatyzować zbiory skończone (tj. Typy zamieszkałe przez skończoną liczbę mieszkańców) w prostej teorii typów? System F? Jakie są wady robienia tego w ten sposób?
- Wiem, że można to zrobić „elegancko” w systemie zależnym od typu. Jednak z klasycznego punktu widzenia powstałe definicje wydają się bardzo obce. [Nie twierdzę, że się mylą, wręcz przeciwnie!]. Ale nie rozumiem też, dlaczego mają rację. Rozumiem, że wybrali prawidłową koncepcję, ale głębszego powodu „mówienia w ten sposób” jest to, czego nie do końca rozumiem.
Zasadniczo chciałbym uzasadnione wprowadzenie do przestrzeni projektowej sformalizowania pojęcia „zbioru skończonego” w teorii typów.
źródło
Zobaczę, czy mogę dodać coś użytecznego do odpowiedzi Neela. „Przestrzeń projektowa” dla zbiorów skończonych jest znacznie większa konstrukcyjnie niż klasycznie, ponieważ różne definicje „skończonych” nie muszą konstruktywnie się zgadzać. Różne definicje w teorii typów dają nieco inne pojęcia. Oto kilka możliwości.
Zestawy skończone Kuratowskiego ( skończone) można scharakteryzować jako wolne -semilattice: biorąc pod uwagę zbiór, typ lub obiekt , elementy wolnego -semilattice mogą być thougth jako skończone podzbiory . Rzeczywiście, każdy taki element jest generowany przez:K ∨ X ∨ K(X) X
Równoważna kompozycja z wynosi: znaczy -finite wtedy i tylko wtedy, gdy istnieje i surjection .K(X) S⊆X K n∈N e:{1,…,n}→S
Jeśli porównamy to z definicji Neel widzimy, że wymaga on do bijection . Sprowadza się to do wzięcia tych skończonych podzbiorów które mają rozstrzygającą równość: . Użyjmy do zbierania rozstrzygalne -finite podzbiorów .e:{1,…,n}→S K S⊆X ∀x,y∈S.x=y∨x≠y D(X) K X
Oczywiście jest zamknięty w skończonych związkach, ale nie musi być zamknięty w skończonych skrzyżowaniach. I nie jest zamknięty w ramach żadnych operacji. Ponieważ ludzie oczekują, że zbiory skończone zachowują się trochę jak „agoola boolowska bez góry”, można również spróbować zdefiniować je jako dowolną uogólnioną algebrę boolowską ( , , i krewny / uzupełnienie ), ale tak naprawdę nigdy słyszałem o takim wysiłku.K(X) D(X) 0 ∨ ∧ ∖
Decydując, jaka jest „poprawna” definicja, musisz zwrócić uwagę na to, co chcesz zrobić ze zbiorami skończonymi. I nie ma jednej poprawnej definicji. Na przykład, w jakim sensie „skończony” jest zbiorem złożonych pierwiastków wielomianowego skończonego ?
Zobacz konstruktywnie skończony? Thierry'ego Coquanda i Arnauda Spiwacka za szczegółowe omówienie skończoności. Lekcja jest taka, że skończoność wcale nie jest oczywista konstruktywnie.
źródło