W komentarzach znajduje się wiele „rzeczywistych” sugestii (np. Ciągłe ułamki, liniowe przekształcenia ułamkowe itp.). Typowym haczykiem jest to, że chociaż można obliczyć odpowiedzi na formułę, równość jest często nierozstrzygalna.
Jeśli jednak interesują Cię liczby algebraiczne, masz szczęście: teoria prawdziwych zamkniętych pól jest kompletna, o-minimalna i rozstrzygalna. Zostało to udowodnione przez Tarskiego w 1948 roku.
Ale jest haczyk. Nie chcesz używać algorytmu Tarskiego, ponieważ jest on w klasie złożoności NONELEMENTARY, co jest tak niepraktyczne, jak to tylko możliwe. Istnieją nowsze metody, które sprowadzają złożoność do DEXP, co jest najlepszym, co obecnie znamy.
Zauważ, że problem jest trudny NP, ponieważ obejmuje SAT. Jednak nie wiadomo (ani nie uważa się), że jest w NP.
EDYCJA Spróbuję wyjaśnić to trochę bardziej.
Podstawą zrozumienia tego wszystkiego jest problem decyzyjny znany jako Teorie Modulo Satisfiable Modulo, w skrócie SMT. Zasadniczo chcemy rozwiązać SAT dla teorii zbudowanej na logice klasycznej.
Dlatego zaczynamy od klasycznej logiki pierwszego rzędu z testem równości. Jakie symbole funkcji chcemy uwzględnić i jakie są ich aksjomaty, określają, czy teoria jest rozstrzygalna.
Istnieje wiele interesujących teorii wyrażonych w ramach SMT. Na przykład istnieją teorie struktur danych (np. Listy, drzewa binarne itp.), Które służą do udowodnienia poprawności programów, oraz teoria geometrii euklidesowej. Ale dla naszego celu analizujemy teorie różnego rodzaju liczb.
Arytmetyka Presburgera to teoria liczb naturalnych z dodatkiem. Ta teoria jest rozstrzygalna.
Arytmetyka Peano to teoria liczb naturalnych z dodawaniem i mnożeniem. Teoria ta nie podlega dyskusji, o czym słynie Gödel.
Arytmetyka Tarskiego to teoria liczb rzeczywistych ze wszystkimi operacjami w terenie (dodawanie, odejmowanie, mnożenie i dzielenie). Co ciekawe, teoria ta jest rozstrzygalna. Był to wówczas bardzo sprzeczny z intuicją wynik. Możesz założyć, że ponieważ jest to „nadzbiór” liczb naturalnych, jest „trudniejszy”, ale tak nie jest; porównaj na przykład programowanie liniowe ponad racjonalne z programowaniem liniowym ponad liczbami całkowitymi.
Może się nie wydawać oczywiste, że satysfakcja jest wszystkim, czego potrzebujesz, ale tak jest. Na przykład, jeśli chcesz sprawdzić, czy dodatni pierwiastek kwadratowy z 2 jest równy rzeczywistemu pierwiastkowi z kostki z 3, możesz wyrazić to jako problem satysfakcji:
∃x.x>0∧x2−2=0∧x3−3=0
ex
sin{xπ|sinx=0}sin
exeix
Alfred Tarski (1948), Metoda decyzyjna dla elementarnej algebry i geometrii .