ใครสามารถชี้ให้ฉันดูการอ้างอิงสำหรับความไม่แน่นอนของโมดูลัสการทำงานต่อเนื่องใน PCF
Andrej Bauer ได้เขียนโพสต์บล็อกที่ดีมากในการสำรวจปัญหาบางอย่างในรายละเอียดเพิ่มเติม แต่ฉันจะสรุปเพียงเล็กน้อยของโพสต์ของเขาเพื่อให้ความรู้เกี่ยวกับคำถามนี้ Baire พื้นที่เป็นชุดของลำดับจำนวนธรรมชาติหรือเท่าชุดของฟังก์ชั่นจากธรรมชาติเพื่อธรรมชาติ n สำหรับคำถามนี้เราจะ จำกัด ความสนใจของเราเฉพาะสตรีมที่คำนวณได้เท่านั้น
ตอนนี้ฟังก์ชั่นนั้นต่อเนื่องหากทุก ๆค่าของขึ้นอยู่กับจำนวนที่แน่นอนขององค์ประกอบของและมันต่อเนื่องได้ถ้าเราสามารถคำนวณบน จำกัด จำนวนองค์ประกอบของที่ต้องการ ในการคำนวณบางรุ่นมันเป็นไปได้ที่จะเขียนโปรแกรม ซึ่งรับฟังก์ชั่นคำนวณบนพื้นที่ Baire และองค์ประกอบของพื้นที่ Baire และคืนขอบเขตบนจำนวนองค์ประกอบของสตรีม
เคล็ดลับหนึ่งสำหรับการนำสิ่งนี้ไปใช้คือการใช้ที่จัดเก็บในตัวเครื่องเพื่อบันทึกดัชนีสูงสุดลงในสตรีมที่เห็น:
let modulus f xs =
let r = ref 0 in
let ys = fun i -> (r := max i !r; xs i) in
f ys;
!r
แน่นอนว่าys
ข้อโต้แย้งไม่ใช่โปรแกรมที่ใช้งานได้หมดจดอีกต่อไป ความสนใจของผมในโปรแกรมนี้มาจากความจริงที่ว่ามันมี แต่จะทำให้การใช้งานของร้านค้าในพื้นที่และดังนั้นจึงเป็นextensionallyบริสุทธิ์ ฉันทำงานกับการเขียนโปรแกรมที่มีคำสั่งที่สูงกว่า (และสิ่งอื่น ๆ ) และกำลังออกแบบทฤษฎีประเภทที่สามารถจำแนกสิ่งนี้เป็นฟังก์ชั่นที่บริสุทธิ์
มีตัวอย่างที่ใช้งานได้จริงเช่นกันซึ่งเกี่ยวข้องกับสิ่งต่าง ๆ เช่นการบันทึกและการรวมการเชื่อมต่อ แต่ฉันพบว่านี่เป็นตัวอย่างที่สวยงามเป็นพิเศษ