Modyfikuję narzędzie, które wykorzystuje Z3 (w szczególności API Pythona) do rozwiązywania ograniczeń bitwektora. Muszę korzystać z określonego zewnętrznego SAT Solver zamiast wewnętrznego Z3 jednym, więc jestem pierwszy bit piaskowania przy użyciu taktykiW jaki sposób mogę uzyskać dostęp do mapowania zmiennych używanych podczas bitco-blastingu?
Then('simplify', 'bit-blast', 'tseitin-cnf')
po którym można stosunkowo łatwo zrzucić klauzule do pliku DIMACS. Problem polega na odwzorowywaniu uzyskanego modelu propozycyjnego z powrotem na model pierwotnych ograniczeń: na ile mogę to stwierdzić, API Pythona nie zapewnia dostępu do konwertera modelu odpowiadającego taktyce. Czy to prawda? Jeśli tak, czy można to zrobić przy użyciu innego interfejsu API, czy też istnieje łatwiejszy sposób? Zasadniczo po prostu muszę wiedzieć, w jaki sposób zmienne zdaniowe w końcowych klauzulach CNF odpowiadają pierwotnym zmiennym bitvector.
Czy mógłby Pan uprzejmie wspomnieć o tabeli tłumaczeń? – Benny