2015-02-16 34 views
5

Większość asystentów potwierdzających to funkcjonalne języki programowania z zależnymi typami. Mogą sprawdzać programy/algorytmy. Interesuje mnie natomiast asystent dowódcy, który najlepiej nadaje się do matematyki i tylko (na przykład rachunek różniczkowy). Czy możesz polecić? Słyszałem o Mizarze, ale nie podoba mi się to, że kod źródłowy jest zamknięty, ale jeśli jest najlepszy do matematyki, użyję go. Jak dobrze nowe języki, takie jak Agda i Idris, są dostosowane do dowodów matematycznych?Asystent asystenta tylko dla matematyki

Odpowiedz

11

ma rozbudowane biblioteki obejmujące prawdziwą analizę. Różne wydarzenia przychodzą na myśl:

  • standard library i projektów budowlanych na nim takie jak nieistniejącego już coqtail projektu [1] (z dużym zasięgu szereg potęgowy i całkiem sporo pracy na liczbach zespolonych) lub bardziej ostatnie coquelicot. Wszystko opiera się na aksjomatycznej definicji reali presented here.

  • Bardziej konstruktywne podejście zapewnia projekt the C-CoRN, który rozpoczyna się od rzeczywistego budowania reali.

Innym sposobem radzenia sobie z rzeczywistością jest przejście do niestandardowej analizy. Właśnie to robili ludzie używający ACL2.

Aby uzyskać bardziej ogólny widok pola, prawdopodobnie powinieneś przeczytać this survey paper przez osoby zaangażowane w projekt Coquelicot.

[1] pełne ujawnienie: Brałem udział w tym projekcie

+0

mogę założyć, że z odpowiedzi Agda nie nadaje się do dowodów matematycznych? –

+2

Cała moja praca (na styku programowania i testowania) przez ostatnie 4 lata została wykonana w Agdzie. A w Agdzie są już całkiem spore projekty formalizacyjne. Ale Coq czerpie korzyści z wielu prac mających na celu zautomatyzowanie niektórych dokuczliwych dowodów (np. Wszystkie (nie) równości w przypadku pierścieni, pól itp.). Ostatecznie odpowiedź będzie zależeć od rodzaju matematyki, którą chcesz wykonać. – gallais