ความพยายามในการตรวจสอบคอมไพเลอร์มักจะลงมาเพื่อพิสูจน์คอมไพเลอร์อย่างสมบูรณ์แบบ: มันรักษาและสะท้อนความเท่าเทียม (ตามบริบท)
แทนที่จะให้หลักฐานที่เป็นนามธรรมอย่างเต็มรูปแบบงานตรวจสอบคอมไพเลอร์ล่าสุด (อิงตามหมวดหมู่) โดย Hasegawa [ 1 , 2 ] และ Egger et อัล [ 3 ] พิสูจน์ความครบถ้วนสมบูรณ์ของการแปล CPS ที่หลากหลาย
คำถาม: อะไรคือความแตกต่างระหว่างความครบถ้วนสมบูรณ์และนามธรรมที่สมบูรณ์?
สำหรับฉันแล้วความสมบูรณ์ดูเหมือนว่าการสะท้อนความเท่าเทียมกันสำหรับการแปลและความบริบูรณ์ดูเหมือนจะเป็นผลมาจากการรักษาสมดุล
หมายเหตุ : ทั้ง Curien [ 7 ] และ Abramsky [ 8 ] สำรวจความสัมพันธ์ระหว่างความแน่นอนความเป็นนามธรรมเต็มและความสมบูรณ์แบบในระดับหนึ่ง ฉันสงสัยว่าแหล่งข้อมูลเหล่านี้อาจมีคำตอบสำหรับคำถามของฉัน แต่หลังจากอ่านพื้นผิวฉันยังไม่ได้ยืนยันว่า
พื้นหลังบางส่วน : คำว่า "full ครบถ้วน" ได้รับการประกาศเกียรติคุณจาก Abramsky และ Jagadeesan [ 4 ] เพื่ออธิบายความถูกต้องของเกมจำลองความหมายของ Multiplicative Linear Logic
Blute [ 5 ] ให้คำจำกัดความต่อไปนี้:
ให้เป็นหมวดหมู่ฟรี เราบอกว่าแบบจำลองหมวดหมู่ นั้นสมบูรณ์แบบสำหรับหรือว่าเรามีความ สมบูรณ์แบบด้วยความเคารพถ้าด้วยความเคารพต่อการตีความของเครื่องกำเนิดไฟฟ้า , functor ฟรีที่ไม่ซ้ำกันเต็มF F M [
เท่าที่ฉันสามารถบอกได้ Hasegawa ใน [ 6 ] เป็นคนแรกที่ปรับความสมบูรณ์แบบทั้งหมดเพื่ออธิบายการแปลโปรแกรมแทนรูปแบบความหมายเชิงหมวดหมู่ ในกรณีนี้การแปลกิราร์ดจากแคลคูลัสแลมบ์ดาเพียงพิมพ์ไปยังแคลคูลัสแลมบ์ดาเชิงเส้น ต่อมาใน [ 1 ] เขาได้กำหนดคำแปล CPSอย่างครบถ้วนเมื่อ:
ถ้าเป็นผลสืบเนื่องในแลมบ์ดาเชิงเส้นแล้วมีในการคำนวณ แลมบ์ดาแคลคูลัสอย่างนั้นถืออยู่ในแคลคูลัสเชิงเส้นแลมบ์ดาแกมมา⊢ M : σ แกมมา∘ ; ∅ ⊢ M ∘ = N : ( σ ∘ →การo ) ⊸ o
(โดยที่เป็นชนิดพื้นฐานในแคลคูลัสแลมบ์ดาเชิงเส้น (ภาษาเป้าหมาย) แต่ไม่ใช่ในแคลคูลัสแลมบ์ดาเชิงเส้น (ภาษาต้นฉบับ))
สำหรับฉันคำจำกัดความของ Hasegawa ดูเหมือนจะเป็นความสมบูรณ์และควรรวมเข้ากับความสมบูรณ์เพื่อให้ได้ความสมบูรณ์แบบจริงๆ
Egger และ อัล [ 3 ] กำหนดความครบถ้วนสมบูรณ์ของการแปล CPSเป็นการรวมกันของ (1) ครบถ้วนและ (2) ครบถ้วน:
(1): ถ้าและจากนั้น
(2): ถ้าแล้วมีคำว่า เช่นนั้น
(โดยที่เป็นทฤษฎีสมการคำนวณของ Moggi)
[1] " เอฟเฟกต์ที่ใช้เชิงเส้น: การแปลง Monadic และ CPS เป็นแคลคูลัสเชิงเส้นแลมบ์ดา ", Hasegawa 2002
[2] " ความหมายของการดูแลรักษาเชิงเส้น - ผ่านการโทรหาโดยชื่อ ", Hasegawa 2004
[3] " การแปล CPS เชิงเส้นใช้ในแคลคูลัสเอฟเฟ็กต์เอจ ", Egger และ อัล 2012
[4] " เกมและความสมบูรณ์แบบเต็มรูปแบบสำหรับ Multiplicative Linear Logic ", Abramsky และ Jagadeesan 1992
[5] " ทฤษฎีหมวดหมู่สำหรับนักตรรกวิทยาเชิงเส้น ", Blute 2003
[6] "การแปล Girard and Logical Predicates ", Hasegawa 2000
[7] "ความชัดเจนและนามธรรมอย่างเต็มรูปแบบ ", Curien 2007
[8] " สัจพจน์เพื่อความสมบูรณ์และครบถ้วน ", เอบรัมสกี้ 1999