System U

W logice matematycznej System U i System U systemami typu czystego , tj. specjalnymi formami typowanego rachunku lambda z dowolną liczbą sortowań , aksjomatów i reguł (lub zależności między sortowaniami). W 1972 r. Jean-Yves Girard udowodnił, że oba są niespójne. Wynik ten doprowadził do uświadomienia sobie, że oryginalna teoria typów Martina-Löfa z 1971 r. był niespójny, ponieważ pozwalał na takie samo zachowanie typu „wpisz w typie”, które wykorzystuje paradoks Girarda.

Definicja formalna

System U jest zdefiniowany jako system typu czystego z

  • trzy rodzaje ;
  • dwa aksjomaty ; I
  • pięć reguł .

System U - jest zdefiniowany tak samo, z wyjątkiem reguły .

Rodzaje są umownie nazywane odpowiednio „Typem i Rodzajem sortowanie nie ma określonej Te dwa aksjomaty opisują zawieranie typów w rodzajach ( i rodzajach w ( ). Intuicyjnie, rodzaje opisują hierarchię w naturze terminów.

  1. Wszystkie wartości mają typ , taki typ podstawowy ( . jako „ jest wartością logiczną ”) lub (zależny) typ funkcji . jest odczytywane jako „ f jest funkcją od liczb naturalnych do logicznych”).
  2. jest rodzajem wszystkich takich typów ( jest odczytywane jako „ t jest typem”). ∗ możemy zbudować więcej terminów, takich jak który jest rodzajem jednoargumentowych operatorów na poziomie typu ( np. jest odczytywane jako „ Lista jest funkcją od typów do typów”, czyli typem polimorficznym). Zasady ograniczają sposób, w jaki możemy tworzyć nowe rodzaje.
  3. jest rodzajem wszystkich takich rodzajów ( jest odczytywane jako „ k jest rodzajem”). Podobnie możemy budować terminy pokrewne, zgodnie z tym, na co pozwalają reguły.
  4. to rodzaj wszystkich takich terminów.

Reguły rządzą zależnościami między sortowaniami: mówi, że wartości mogą zależeć od wartości ( funkcji ), zależność wartości od typów ( polimorfizm ) , od typów ( operatory typów ) i tak dalej

Paradoks Girarda

Definicje Systemu U i U pozwalają na przypisanie rodzajów polimorficznych do ogólnych konstruktorów analogicznie do polimorficznych typów terminów w klasycznych polimorficznych rachunkach lambda, takich jak System F . Przykładem takiego ogólnego konstruktora może być (gdzie k oznacza rodzaj zmiennej)

.

terminu o typie typu co każdy typ jest zamieszkany . Zgodnie z korespondencją Curry'ego – Howarda jest to równoważne z możliwością udowodnienia wszystkich twierdzeń logicznych, co czyni system niespójnym.

Paradoks Girarda jest teoriotypowym odpowiednikiem paradoksu Russella w teorii mnogości .

Dalsza lektura