ทฤษฎีบทS m
ในทฤษฎีความสามารถในการคำนวณทฤษฎีบท S m n ซึ่ง เขียนได้อีกแบบว่า " ทฤษฎีบท smn " หรือ " ทฤษฎีบท smn " (เรียกอีกอย่างว่าบทพิสูจน์การแปลทฤษฎีบทพารามิเตอร์และทฤษฎีบทการกำหนดพารามิเตอร์ ) เป็นผลลัพธ์พื้นฐานเกี่ยวกับ ภาษาโปรแกรม (และโดยทั่วไปแล้ว เกี่ยว กับ การกำหนดหมายเลขของ Gödelสำหรับฟังก์ชันที่คำนวณได้บางส่วน ) (Soare 1987, Rogers 1967) Stephen Cole Kleene เป็นผู้พิสูจน์ ทฤษฎีบท นี้เป็นครั้งแรก ในปี 1943เกิดจากการเกิดขึ้นของพร้อมตัวห้อยและตัวยกในรูปแบบดั้งเดิมของทฤษฎีบท (ดูด้านล่าง)
ในทางปฏิบัติ ทฤษฎีบทนี้กล่าวว่า สำหรับภาษาโปรแกรมที่กำหนดและจำนวนเต็มบวกและมีอัลกอริทึม เฉพาะตัวหนึ่ง ที่รับรหัสต้นฉบับของโปรแกรม เป็นอินพุตตัวแปรอิสระพร้อมกับค่าต่างๆ อัลกอริทึมนี้สร้างซอร์สโค้ดที่โดยพื้นฐานแล้วจะแทนที่ค่าแรกด้วยค่าใหม่ตัวแปรบางตัวเป็นอิสระ ปล่อยให้ตัวแปรที่เหลือเป็นอิสระเช่นกัน
รายละเอียด
รูปแบบพื้นฐานของทฤษฎีบทนี้ใช้ได้กับฟังก์ชันที่มีตัวแปรสองตัว (Nies 2009, หน้า 6) โดยกำหนดหมายเลข Gödel ไว้ในบรรดาฟังก์ชันที่คำนวณได้บางส่วนนั้น มีฟังก์ชันเรียกซ้ำแบบดั้งเดิม อยู่ประกอบด้วยอาร์กิวเมนต์สองตัวที่มีคุณสมบัติดังต่อไปนี้: สำหรับเลขเกอเดลทุกตัวของฟังก์ชันที่คำนวณได้บางส่วนโดยมีอาร์กิวเมนต์สองตัว คือนิพจน์และถูกกำหนดสำหรับชุดค่าผสมเดียวกันของจำนวนธรรมชาติและและค่าของฟังก์ชันเหล่านั้นจะเท่ากันสำหรับทุกการรวมกันดังกล่าว กล่าวอีกนัยหนึ่งความเท่าเทียมกันเชิงขยายของฟังก์ชันต่อไปนี้เป็นจริงสำหรับทุก ๆ:
โดยทั่วไปแล้ว สำหรับทุก ๆมีฟังก์ชันเรียกซ้ำแบบดั้งเดิมอยู่ของข้อโต้แย้งที่มีพฤติกรรมดังต่อไปนี้: สำหรับทุกๆ จำนวนเกอเดลของฟังก์ชันที่คำนวณได้บางส่วนที่มีข้อโต้แย้ง และค่าทั้งหมดของ:
ฟังก์ชันสามารถตีความตามที่อธิบายไว้ข้างต้นได้ว่า.
คำแถลงอย่างเป็นทางการ
กำหนดค่าอาร์กิวเมนต์และสำหรับเครื่องทัวริงทุกเครื่องของอาร์ตี้และสำหรับค่าอินพุตที่เป็นไปได้ทั้งหมดเครื่องจักรทัวริงมีอยู่จริงของอาร์ตี้โดยที่
นอกจากนี้ยังมีเครื่องจักรทัวริงอีกด้วยที่อนุญาตให้ที่จะคำนวณจากและมันถูกระบุว่า.
อย่างไม่เป็นทางการค้นพบเครื่องจักรทัวริงนั่นเป็นผลมาจากการกำหนดค่าแบบตายตัวของเข้าไปข้างในผลลัพธ์นี้สามารถนำไปใช้ได้กับแบบจำลองการคำนวณที่สมบูรณ์แบบตามทฤษฎีบททัวริง ทุกแบบ
ตัวอย่าง
โค้ดLispต่อไปนี้ เป็นการใช้งาน s สำหรับ Lisp
( defun s11 ( f x ) ( let (( y ( gensym ))) ( list 'lambda ( list y ) ( list f x y ))))ตัวอย่างเช่นจะประเมินค่าเป็นโดยที่คือสัญลักษณ์ "ใหม่"(s11'(lambda(xy)(+xy))3)(lambda(g42)((lambda(xy)(+xy))3g42))g42
ดูเพิ่มเติม
ลิงก์ภายนอก
- ไวส์สไตน์, เอริค ดับเบิลยู. " ทฤษฎีบทs - m - n ของคลีน" . MathWorld .