คำว่าการผกผันของโปรแกรม มีหลายความหมาย แต่อาจเริ่มด้วยงานของ J. McCarthy ในปี 1956 การกลับมาของฟังก์ชั่นที่นิยามโดย Turing Machinesในบริบทของ AI โดยขณะนี้มีการค้นพบการเชื่อมต่อจำนวนมากระหว่างการผกผันของโปรแกรมและฟิลด์อื่น ๆ เช่นการเขียนโปรแกรมแบบย้อนกลับได้ (ทางกายภาพและตรรกะ) การประเมินผลบางส่วนการตรวจสอบการเขียนโปรแกรมแบบสองทิศทางการเขียนโปรแกรมเชิงตรรกะ
การกลับรายการคืออะไร ในการประมาณแรกมันจะเป็นแบบนี้: ให้โปรแกรมรับอาร์กิวเมนต์ประเภท Aและส่งคืนผลลัพธ์ของ type Bสร้างโปรแกรมP - 1ที่ "ตรงกันข้าม" Pอย่างใดอย่างหนึ่ง ฉันจงใจที่จะคลุมเครือที่นี่เนื่องจากแนวคิดสามารถ (และเป็น) ชี้แจงในรูปแบบต่างๆ: เช่นPจะต้องฉีด? ควร P - 1 ( ข)กลับมาทั้งหมดหรือเพียงบางส่วนดังกล่าวว่าP ( ) = B?
มีวิธีทั่วไปในการแปลงโปรแกรมเช่นการใช้ diagonalisation ซึ่งชี้ให้เห็นโดย McCarthy หรือการประเมินผลบางส่วน แต่ก็มีแนวโน้มที่จะไม่ได้ผล นอกจากนี้ยังมีการทำงานมากที่สุดในการผกผันโปรแกรมฉันคุ้นเคยกับดูเหมือนจะไม่จัดการกับเต็มลำดับที่สูงกว่าการเขียนโปรแกรมภาษา (เช่น -calculi)
คำขออ้างอิง รัฐของศิลปะในขั้นตอนวิธีการที่ชัดเจนสำหรับการผกผันของโปรแกรมคืออะไร -calculi (ที่มีข้อ จำกัด ในสูง orderness)?