Sökvägsordning (termomskrivning)

Inom teoretisk datavetenskap , särskilt i termomskrivning , är en vägordning en välgrundad strikt totalordning (>) på uppsättningen av alla termer så att

f (...) > g ( s 1 ,..., s n ) om f . > g och f (...) > si för i = 1,..., n ,

där ( . >) är en användargiven total prioritetsordning på uppsättningen av alla funktionssymboler .

Intuitivt är en term f (...) större än någon term g (...) byggd av termer s i mindre än f (...) med en rotsymbol g med lägre prioritet . I synnerhet genom strukturell induktion är en term f (...) större än någon term som bara innehåller symboler som är mindre än f .

En sökvägsordning används ofta som reduktionsordning i termomskrivning, särskilt i Knuth–Bendix-kompletteringsalgoritmen . Som ett exempel kan ett termomskrivningssystem för att " multiplicera ut " matematiska uttryck innehålla en regel x *( y + z ) → ( x * y ) + ( x * z ). För att bevisa uppsägning måste en reduktionsordning (>) hittas med avseende på vilken termen x *( y + z ) är större än termen ( x * y )+( x * z ). Detta är inte trivialt, eftersom den förra termen innehåller både färre funktionssymboler och färre variabler än den senare. Ange dock prioritet (*) . > (+), kan en sökvägsordning användas, eftersom både x *( y + z ) > x * y och x *( y + z ) > x * z är lätta att uppnå.

Det kan också finnas system för vissa generella rekursiva funktioner , till exempel kan ett system för Ackermann-funktionen innehålla regeln A( a + , b + ) → A( a , A( a + , b )), där b + betecknar efterträdare till b .

Givet två termer s och t , med en rotsymbol f respektive g , för att bestämma deras relation jämförs deras rotsymboler först.

  • Om f < . g , då kan s dominera t endast om en av s: s undertermer gör det.
  • Om f . > g , då dominerar s t om s dominerar var och en av ts deltermer.
  • Om f = g måste de omedelbara deltermerna för s och t jämföras rekursivt. Beroende på den speciella metoden finns olika variationer av banordningar.

De senare varianterna inkluderar:

  • multiset vägordning ( mpo ), ursprungligen kallad rekursiv vägordning ( rpo )
  • den lexikografiska vägordningen ( lpo )
  • en kombination av mpo och lpo, kallad rekursiv vägordning av Dershowitz, Jouannaud (1990)

Dershowitz, Okada (1988) listar fler varianter och relaterar dem till Ackermanns system av ordningsnotationer . Speciellt är en övre gräns som ges för ordningstyperna för rekursiva banordningar med n funktionssymboler φ( n ,0), med hjälp av Veblens funktion för stora räknebara ordinaler.

Formella definitioner

Fleruppsättningsvägordningen (>) kan definieras enligt följande :

s = f ( s 1 ,..., s m ) > t = g ( t 1 ,..., t n ) om
f . > g och s > t j för varje j ∈{1,..., n }, eller
är jag t för vissa i ∈{1,..., m }, eller
f = g och { s 1 ,..., s m } >> { t 1 ,..., t n }

var

  • (≥) anger den reflexmässiga stängningen av mpo (>),
  • { s 1 ,..., s m } betecknar multiuppsättningen av s s undertermer, liknande för t , och
  • (>>) betecknar multiset-förlängningen av (>), definierad av { s 1 ,..., s m } >> { t 1 ,..., t n } if { t 1 ,..., t n } kan erhållas från { s 1 ,..., s m }
    • genom att ta bort minst ett element, eller
    • genom att ersätta ett element med en multiset av strikt mindre (wrt mpo) element.

Mer generellt är en beställningsfunktion till en funktion O som mappar en beställning en annan och uppfyller följande egenskaper:

  • Om (>) är transitiv , så är O (>) det också.
  • Om (>) är irreflexiv , så är O (>) det också.
  • Om s > t , då f (..., s ,...) O (>) f (..., t ,...).
  • 0 O är kontinuerlig på relationer, dvs om R , R 1 , R 2 , R 3 , ... är en oändlig sekvens av relationer, då O (∪
    i =0
    R i ) = ∪
    i =0
    O ( R i ).

Multiset-tillägget, avbildning (>) ovan till (>>) ovan är ett exempel på en ordningsfunktion: (>>)= O (>). En annan funktionell ordning är den lexikografiska förlängningen, vilket leder till den lexikografiska vägordningen .