W ostatnim wątku na liście mailingowej Agdy pojawiło się pytanie o prawa , w których Peter Hancock wypowiedział się prowokująco .
Rozumiem, że prawa mają typy negatywne, tj. łączniki, których zasady wprowadzania są odwracalne. Aby wyłączyć dla funkcji, Hank sugeruje użycie niestandardowego eliminatora, funsplit , zamiast zwykłej reguły aplikacji. Chciałbym zrozumieć uwagę Hanka pod względem biegunowości.
Na przykład istnieją dwie typy prezentacji . Istnieje tradycyjny eliminator podziału Martin-Löf , w pozytywnym stylu:
I jest wersja negatywna:
Ta ostatnia prezentacja ułatwia uzyskanie dla par, tj. dla dowolnej pary (gdzie == oznacza definicję równości). Pod względem niezawodności ta różnica nie ma znaczenia: intuicyjnie możesz realizować projekcje z podziałem lub na odwrót.
Teraz typy są zwykle (i, jak sądzę, bez kontrowersji) traktowane negatywnie:
Co daje nam dla funkcji: .
Jednak w tej wiadomości Hank przypomina eliminator funsplit (Programowanie w teorii typów ML, [http://www.cse.chalmers.se/research/group/logic/book/], s. 56). Jest to opisane w ramach logicznych przez:
Co ciekawe, Nordstrom i in. uzasadnij tę definicję stwierdzeniem, że „[ta] alternatywna niekanoniczna forma opiera się na zasadzie indukcji strukturalnej”. Jest silny zapach pozytywności do tego stwierdzenia: funkcje byłyby „zdefiniowane” przez ich konstruktora, .
Nie mogę jednak do końca dopracować zadowalającej prezentacji tej reguły w naturalnej dedukcji (a nawet, lepiej, w rachunku różniczkowym). Kluczowe wydaje się tutaj użycie (ab) logicznego frameworka do wprowadzenia .
Czy więc funsplit to pozytywna prezentacja typów ? Czy mamy również coś podobnego w (niezależnym) rachunku sekwencyjnym? Jak by to wyglądało?
Jak częste / ciekawe jest to dla teoretyków dowodów w tej dziedzinie?