Redukce odolnosti proti rozlišení pomocí přepisu místního kontextu - Resolution proof reduction via local context rewriting

v teorie důkazů, oblast matematická logika, snížení důkazu rozlišení prostřednictvím přepisu místního kontextu je technika řešení redukce důkazu prostřednictvím místního kontextu přepis.[1] Tento důkaz komprese metoda byla prezentována jako pojmenovaný algoritmus ReduceAndReconstruct, který funguje jako následné zpracování rozlišení důkazy.

ReduceAndReconstruct je založen na sadě místních pravidel přepisování důkazu, která transformují subproof na ekvivalentní nebo silnější.[1] Každé pravidlo je definováno tak, aby odpovídalo konkrétnímu kontextu.

Kontext[1] zahrnuje dva čepy ( a ) a pět doložek (, , , a ). Struktura kontextu je uvedena v (1). To znamená, že to znamená je obsažen v a (s opačnou polaritou) a je obsažen v a (také s opačnou polaritou).

 

 

 

 

(1)

V tabulce níže jsou uvedena pravidla přepisování navržená Simone et al..[1] Myšlenkou algoritmu je zmenšit velikost důkazu oportunistickým použitím těchto pravidel.

KontextPravidlo
Případ A1:

Případ A2:

Případ B1:

Případ B2:

Případ B3:

Případ A1 '

Případ B2 ':

Prvních pět pravidel bylo představeno v dřívějším článku.[2] Navíc:

  • Pravidlo A2 samo o sobě neprovádí žádné snižování. Je to však stále užitečné kvůli jeho „přesouvacímu“ účinku, který může vytvořit nové příležitosti pro uplatnění ostatních pravidel;
  • Pravidlo A1 se v praxi nepoužívá, protože může zvýšit velikost důkazu;
  • Pravidla B1, B2, B2 'a B3 jsou přímo zodpovědná za redukci, protože vytvářejí transformovanou kořenovou klauzuli silnější než původní;
  • Použití pravidla B může vést k nezákonnému důkazu (viz příklad níže), protože některé literály chybějící v klauzuli transformovaného kořene mohou být zapojeny do dalšího kroku řešení podél cesty k kořenu důkazu. Algoritmus proto také musí „rekonstruovat“ právní důkaz, když k tomu dojde.

Následující příklad[1] ukazuje situaci, kdy se důkaz stane nezákonným po použití pravidla B2 ':

 

 

 

 

(2)

Aplikování pravidla B2 'na zvýrazněný kontext:

 

 

 

 

(3)

Důkaz je nyní nezákonný, protože doslovný chybí v transformované kořenové klauzuli. K rekonstrukci důkazu je možné jej odebrat společně s posledním krokem řešení (to je nyní nadbytečné). Konečným výsledkem je následující právní (a silnější) důkaz:

 

 

 

 

(4)

Další snížení tohoto důkazu uplatněním pravidla A2 k vytvoření nové příležitosti uplatnit pravidlo B2 '.[1]

Obvykle existuje obrovské množství kontextů, kde lze použít pravidlo A2, takže vyčerpávající přístup není obecně proveditelný. Jeden návrh[1] je vykonat ReduceAndReconstruct jako smyčka se dvěma kritérii ukončení: počet iterací a časový limit (co je dosaženo jako první). Pseudokód[1] níže to ukazuje.

 1  funkce ReduceAndReconstruct ( /* důkaz */, lhůta, maxIterace): 2      pro i = 1 až maxIterace dělat 3 ReduceAndReconstructLoop (); 4 -li čas > lhůta pak        // Časový limit 5              přestávka; 6      konec pro 7  koncová funkce

ReduceAndReconstruct používá funkci ReduceAndReconstructLoop, který je uveden níže. První část algoritmu dělá a topologické uspořádání z graf rozlišení (vzhledem k tomu, že hrany přecházejí z antecedentes na resolventy). To se provádí, aby se zajistilo, že každý uzel je navštíven po svých předchůdcích (tímto způsobem jsou vždy nalezeny a opraveny rozbité kroky řešení).[1]

 1  funkce ReduceAndReconstructLoop ( /* důkaz */): 2      TS = Topologické třídění (); 3      pro každého uzel  v TS 4          -li  není list 5 -li  a  pak 6                   = Rozlišení (, ); 7 Určete levý kontext , jestli nějaký; 8 Určete správný kontext , jestli nějaký; 9 Heuristicky vyberte jeden kontext (pokud existuje) a použijte odpovídající pravidlo; 10 jinak pokud  a  pak11 Náhradník  s ;12              jinak pokud  a  pak13 Náhradník  s ;14              jinak pokud  a  pak15 Heuristicky si vyberte předchůdce  nebo ; 16 Náhradník  s  nebo ;17      konec pro18  koncová funkce

Pokud vstupní důkaz není strom (obecně jsou to grafy rozlišení směrované acyklické grafy ), pak klauzule kontextu může být zapojen do více než jednoho kroku řešení krize. V tomto případě, aby bylo zajištěno, že aplikace pravidla přepisování nebude zasahovat do dalších kroků řešení, je bezpečným řešením vytvoření kopie uzlu představovaného klauzulí .[1] Toto řešení zvyšuje velikost důkazu a při tom je nutná určitá opatrnost.

The heuristický pro výběr pravidla je důležité dosáhnout dobrého kompresního výkonu. Simone et al. [1] použijte následující pořadí preferencí pravidel (pokud je to pro daný kontext použitelné): B2> B3> {B2 ', B1}> A1'> A2 (X> Y znamená, že X je upřednostňováno před Y).

Pokusy ukázaly, že ReduceAndReconstruct samotný má horší poměr komprese a času než algoritmus Recyklovat čepy.[3] Zatímco RecyclePivots lze na důkaz použít pouze jednou, ReduceAndReconstruct lze použít několikrát, aby se dosáhlo lepší komprese. Pokus o kombinaci algoritmů ReduceAndReconstruct a RecyclePivots vedl k dobrým výsledkům.[1]

Poznámky

  1. ^ A b C d E F G h i j k l Simone, S.F. ; Brutomesso, R.; Sharygina, N. „Efektivní a flexibilní přístup k redukci důkazu rozlišení“. 6. Haifa Verification Conference, 2010.
  2. ^ Bruttomesso, R.; Rollini, S.; Sharygina, N .; Tsitovich, A. „Flexibilní interpolace s místními transformacemi důkazů“. International Conference on Computer-Aided Design, 2010.
  3. ^ Bar-Ilan, O.; Fuhrmann, O.; Hoory, S.; Shacham, O.; Strichman, O. „Lineární redukce důkazů o rozlišení“. HVC, 2008.