np. ?
Wyrażenia pochodzą ze zwykłej algebry w szkole średniej, ale ograniczają się do dodawania i mnożenia arytmetycznego (np. ), bez odwrotności, odejmowania lub dzielenia. Litery są zmiennymi.
Jeśli to pomoże, możemy zabronić jakiegokolwiek wyrażenia reprezentowanego przez wartości liczbowe inne niż ; tzn. nie ani ani :
- wieloliniowe , brak mocy innych niż : jest w porządku, ale nie , i nic, co mogłoby być reprezentowane jako takie, jak w pełnym rozszerzeniu do sumy -of-produktów, np. nie ;
- wszystko jedno , brak innych współczynników niż : x + x y ≡ 1. x + 1. x y jest OK, ale nie 2 x + 3 x y , i nic, co mogłoby być reprezentowane jako takie, jak w pełnym rozwinięciu do suma produktów, np. nie a ( x + y ) + x ( a + b ) ≡ 2 a x + a y + b x ; i
- brak stałych innych niż : ponownie, w pełni rozwiniętej sumie produktów, np. nie ( a + 1 ) + ( b + 1 ) ≡ a + b + 2
Czy istnieje skuteczny algorytm do ustalenia, czy dwa wyrażenia są równoważne?
Aby to zilustrować, oto nieefektywny algorytm brutalnej siły z czasem wykładniczym:
rozwiń oba wyrażenia w pełni do sumy produktów , które można łatwo sprawdzić pod kątem równoważności (po prostu zignoruj kolejność, ponieważ dojazdy / powiązania mogą zmieniać kolejność).
np.
a ( x + y ) + b ( x + y ) → a x + a y + b x + b y
Wydaje się, że jest to dobrze znany problem - nawet uczniowie szkół średnich uczą się ręcznych sposobów jego rozwiązania. Zostało to również rozwiązane przez automatyczne sprawdzanie / sprawdzanie twierdzeń, ale koncentrują się one na bardziej wyrafinowanych aspektach.
Oto działający internetowy automat do sprawdzania twierdzeń: http://tryacl2.org/ , który pokazuje równoważność poprzez znalezienie sekwencji dojazdów / kojarzeń / dystrybucji itp .:
? --- 188 kroków
(thm (= (+ (* x y) x y) (+ x (* y (+ x 1))) ))
? --- 325 kroków
(thm (= (+ y (* x (+ y 1))) (+ x (* y (+ x 1))) ))
To jest moje pierwsze pytanie tutaj, więc proszę dać mi znać, czy wybrałem niewłaściwe miejsce, złe tagi, niewłaściwy sposób opisywania / zadawania pytań itp. Dzięki!
Uwaga: to pytanie zostało przepisane w odpowiedzi na komentarze
Dziękujemy wszystkim respondentom! Dużo się nauczyłem.