Czytam poprzez książki hott i mam (prawdopodobnie bardzo naiwne) pytanie o rzeczy w jednym rozdziale.
Rozdział wprowadza typ funkcji a następnie uogólnia ją, uzależniając od i to się nazywa typ funkcji zależnej .B x : A B : A → U ,
Przechodząc dalej, rozdział wprowadza następnie typ produktu a następnie uogólnia go, uzależniając od i to się nazywa typ pary zależnej .B x : A B : A → U ,
Zdecydowanie widzę tutaj wzór.
Przechodząc dalej, rozdział wprowadza typ koproduktu i ... combobreaker ... nie dyskutuje się o zależnej wersji tego typu.
Czy są jakieś zasadnicze ograniczenia w tym względzie, czy jest to po prostu nieistotne dla tematu książki? W każdym razie ktoś może mi pomóc z intuicją, dlaczego typy funkcji i produktów? Co sprawia, że te dwa są tak wyjątkowe, że można je uogólnić na typy zależne, a następnie wykorzystać do zbudowania wszystkiego innego?
Opowiem o tym bardziej o inżynierii oprogramowania.
Czy mówisz o typie koproduktu, którego ostatni konstruktor może odnosić się do poprzednich (który wygląda dość podobnie do produktu, którego ostatnie pola mogą odnosić się do poprzednich)? Jest to możliwe w Agdzie po wprowadzeniu HIT (w wersji 2.6.0):
Postępując zgodnie z tym artykułem , jeśli moduł sprawdzania typu sprawdza definicje zdefiniowane przy użyciu składni przedstawionej na rysunku „(26)”, uważam, że obsługa „zależnych koproduktów” jest dość prosta.
źródło