Avskyvärt. Imperativa program kan vändas direkt från deras framåtriktade programkod med användning av logisk inferens. Den relationella semantiken av tvingande beräkningar behandlar program som logiska relationer över det observerbara tillståndet i miljön, som anses vara tillståndet för variablerna i minnet. Programrelationer betecknar både framåt och bakåt beräkningar, och riktningen för beräkningen beror på momentiation mönster av argument i relationen. Denna syn på inversion har praktiska tillämpningar när relationssemantik behandlas som ett logiskt program. Beroende på logik programmering inference schema som används, kan genomförandet av detta relationella program beräkna inversen av det imperativa programmet. Ett antal icke-triviala nödvändiga beräkningar kan vändas upp och ned med minimala logiska programmeringsverktyg.
Det enda andra arbetet i denna riktning vi är medvetna om, inverser tvingande program genom att behandla deras relationssemantik som logik program REF.
Running programs backwards: The logical inversion of imperative computation
{'venue': 'Formal Aspects of Computing', 'journal': 'Formal Aspects of Computing', 'mag_field_of_study': ['Computer Science']}