ฉันมีสิ่งที่ฉันจะเรียกคำถามปรัชญาเกี่ยวกับ calcul-แคลคูลัส
เมื่อคุณสำรวจ calcul-แคลคูลัสคุณจะประหลาดใจเมื่อเห็นทุกสิ่งที่คุณทำได้ คุณสามารถกำหนดจำนวนเต็มการดำเนินการทางคณิตศาสตร์บูลีนคำสั่ง if-then-else ลูปฟังก์ชั่นวนซ้ำ ฯลฯ ฉันเชื่อว่ามันได้รับการพิสูจน์แล้วว่าคำนวณเสร็จสมบูรณ์
แต่ในอีกด้านหนึ่งถ้าคุณพิจารณาว่าคุณสามารถทำอะไรกับฟังก์ชั่นใน calcul-แคลคูลัสได้คุณจะรู้ว่าสิ่งเดียวที่คุณทำได้คือการให้อาหารมันฟังก์ชั่นและมันจะส่งกลับฟังก์ชันอื่น และกระบวนการนั้นไม่สิ้นสุด
ดังนั้นคุณจะแยกผลลัพธ์จากการคำนวณได้อย่างไร
f
สมมติว่าผลที่ตามมาของการแสดงออกเป็นฟังก์ชั่น คุณต้องการตรวจสอบว่าf
เป็นสิ่งที่คุณคาดหวังหรือไม่ คุณสามารถทดสอบได้ใช้ฟังก์ชั่นที่คุณรู้จักใช้มันและได้รับf
g
แต่การตรวจสอบg
นั้นถูกต้องตอนนี้คุณต้องตรวจสอบสิ่งที่g
ทำ และคุณเริ่มต้นใหม่ทั้งหมด ดังนั้นวิธีที่คุณสามารถบอกอะไรเกี่ยวกับf
?
ฉันคิดว่าคุณสามารถแทนที่ฟังก์ชั่นทั้งหมดใน us-แคลคูลัสด้วยฟังก์ชั่นเดียว, ฟังก์ชั่นเอกลักษณ์I = λx.x
และทุกอย่างยังคงทำงานตามที่อธิบายไว้ในλ-แคลคูลัส คริสตจักรตัวเลข3
เมื่อได้รับf
และผลตอบแทนx
f(f(f(x)))
แต่เนื่องจากf
และx
จะไม่สามารถจะส่งกลับ I
นำไปใช้และยังให้ผลตอบแทน ดังนั้นตอบสนองความหมายของ “การบูลีน” และความต้องการ 2 ข้อโต้แย้งซึ่งจะเป็นและเพื่อให้ทั้งสอง booleans จะกลับมา แต่ละคนจะเทียบเท่ากับตัวตนแม้ว่าพวกเขาจะปฏิบัติตามคำจำกัดความของพวกเขาI
I
I
I
I
I
3
(λxy.x)
(λxy.y)
I
I
I
ดังนั้นคุณจะสร้างความแตกต่างได้อย่างไร คุณแสดงให้เห็นว่า calcul-แคลคูลัสเกี่ยวข้องกับฟังก์ชันมากกว่าฟังก์ชันเดียวได้อย่างไร
มีแนวคิดของตัวตนหรือไม่? คุณสามารถระบุฟังก์ชันได้ทันทีโดยไม่ทำการประเมินหรือไม่? ฉันเชื่อว่าได้รับการพิสูจน์แล้วว่าไม่มีวิธีทดสอบ 2 ฟังก์ชั่นเพื่อความเท่าเทียมกัน
หรือ calcul-แคลคูลัสไม่เกี่ยวกับฟังก์ชั่น แต่เกี่ยวกับคำอธิบายอย่างเป็นทางการของสิ่งที่พวกเขาทำ? นั่นหมายถึงว่านิพจน์ not ไม่เพียง แต่กำหนดฟังก์ชันที่ทำ แต่ยังเป็นข้อมูลที่ฟังก์ชันใช้งาน ดังนั้นเมื่อคุณเขียนA B
คุณไม่สามารถใช้A
การB
ได้ แต่คุณใช้ฟังก์ชั่นการอธิบายโดยสตริงA
นิยามอย่างเป็นทางการของฟังก์ชั่นที่มีอยู่ในB
การกลับมาอีกหมายอย่างเป็นทางการ
เกิดอะไรขึ้นใน calcul-แคลคูลัส? วัตถุทางคณิตศาสตร์ที่เกี่ยวข้องกับมันคืออะไร?
ติดตาม:
ตกลงจากคำตอบด้านล่างดูเหมือนว่า calcul-แคลคูลัสไม่ได้เกี่ยวกับฟังก์ชั่นทางคณิตศาสตร์มากนัก แต่เกี่ยวกับเซตย่อยของฟังก์ชั่นที่สามารถแสดงเป็น expressed นิพจน์ได้ หรือมากยิ่งขึ้นเกี่ยวกับการจัดการการแสดงออกλ