Abstrakt. Många metoder som föreslås i litteraturen för att bevisa riktigheten av utveckling/faldiga omvandlingar av logiska program använder sig av åtgärder i samband med programklausuler. När från ett program P 1 vi härleda ett program P 2 genom att tillämpa en sekvens av omvandlingar, lämpliga villkor på måtten på klausulerna i P 2 garanterar att omvandlingen av P 1 till P 2 är korrekt, det vill säga P 1 och P 2 har samma minst Herbrand modell. I de tillvägagångssätt som hittills föreslagits fastställs klausulåtgärder i förväg, oberoende av de omvandlingar som ska bevisas vara korrekta. I detta dokument föreslår vi en metod för automatisk generering av klausulåtgärder som i stället tar hänsyn till den aktuella programomvandlingen. Under tillämpningen av en sekvens av transformationer konstruerar vi ett system av linjära jämlikheter och ojämlikheter över icke-negativa heltal vars okända är de klausulåtgärder som ska hittas, och omvandlingens korrekthet garanteras av tillfredsställandet av det systemet. Genom några exempel visar vi att vår metod är mer kraftfull och praktisk än andra metoder som föreslås i litteraturen. I synnerhet kan vi på ett helt automatiskt sätt fastställa riktigheten i programomvandlingar som, genom att använda andra metoder, visar sig vara korrekta på bekostnad av att i förväg fastställa sofistikerade klausulåtgärder.
Pettorossi m.fl. föreslog en metod för att fästa heltal begränsningar till en fold/unfold transformation sekvens och för att kontrollera den logiska fullständighet genom tillfredsställande av begränsningarna REF.
Constraint-based correctness proofs for logic program transformations
{'venue': 'Formal Aspects of Computing', 'journal': 'Formal Aspects of Computing', 'mag_field_of_study': ['Computer Science', 'Mathematics']}