การประยุกต์ทฤษฎีประเภทรายวัน


10

ฉันต้องการที่จะเข้าใจทฤษฎีประเภท แต่ฉันต้องรู้ก่อนว่าฉันจะสามารถนำไปใช้ได้อย่างไร อาจมีการประยุกต์ใช้ทฤษฎีชนิดไม่ชัดเจนมากขึ้นนอกเหนือจากในระบบชนิดในการเขียนโปรแกรมหรือไม่? อาจมีแอปพลิเคชั่นอื่น ๆ สมมติว่ามีการทำโปรไฟล์บุคลิกภาพและสิ่งที่ชอบ?


2
เหตุใดบางสิ่งจำเป็นต้องมีแอปพลิเคชันภายนอกสิ่งที่ถูกประดิษฐ์ขึ้นมา
Raphael

3
รากฐานของคณิตศาสตร์? ผู้คนยังใช้ทฤษฎีชนิดสำหรับทำสิ่งต่างๆเช่นทฤษฎีโดเมนแบบสังเคราะห์, โทโพโลยีและอื่น ๆ นอกจากนี้ยังมีงานของ Chris Martens ในการใช้เครื่องมือทางทฤษฎีแบบจำลองเพื่อเล่าเรื่องเล่า ลิงค์วิทยานิพนธ์
Daniel Gratzer

1
yoy สามารถทำให้กระจ่างนับเป็นแอปพลิเคชันได้หรือไม่?
Jake

4
ฉันไม่มั่นใจในหลักฐานของคุณ สมมติว่ามีคนพูดว่า "ฉันต้องการที่จะเข้าใจวิศวกรรมยานยนต์ แต่ฉันต้องรู้ก่อนว่าฉันจะใช้รถยนต์ได้ยังไง พวกเขาได้รับการตอบบอกว่าบางคนนอนหลับอยู่ในรถของพวกเขาและAnsel Adams ใช้เขาเป็นแพลตฟอร์มที่จะถ่ายภาพจาก ดีมาก แต่ก็ไม่ได้ช่วยให้ใครเข้าใจวิศวกรรมและมีแนวโน้มที่จะนำนักเรียนสมมุติของเราออกแบบรถยนต์ด้วยเบาะแบบปรับเอนได้และระบบกันสะเทือนที่แข็งมาก
David Richerby

3
ความจริงก็คือวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี (รวมถึงสิ่งที่ฉันทำงานด้วย) นั้นแทบจะไร้ประโยชน์เลยแม้ว่าจะมีความสวยงามทางคณิตศาสตร์ก็ตาม น่าเสียดายที่คุณต้องเลือกข้าง
Yuval Filmus

คำตอบ:


10

คุณอาจสนใจงานCeptreซึ่งเป็นผลงานวิจัยระดับปริญญาเอกของChris Martensซึ่งใช้ทฤษฎีประเภทเพื่อการเล่าเรื่องแบบโต้ตอบ ยกมาด้านล่างเป็นบทคัดย่อวิทยานิพนธ์ :

การเล่าเรื่องแบบอินเทอร์แอคทีฟรวบรวมความคิดการคำนวณเชิงลึกเข้ากับประวัติศาสตร์อันยาวนานของเรื่องราวและการเล่นของมนุษยชาติโดยให้บริบทที่สำคัญสำหรับเครื่องมือและภาษาที่จะสร้าง ในเวลาเดียวกันภาษาสเปคอย่างเป็นทางการนำเสนอชุดของเทคนิคการเป็นตัวแทนและการอนุมานมักจะสงวนไว้สำหรับการวิเคราะห์ภาษาการเขียนโปรแกรมและระบบการอนุมานที่ซับซ้อน วิทยานิพนธ์ฉบับนี้เชื่อมโยงปัญหาในโดเมนการเล่าเรื่องเชิงโต้ตอบกับวิธีแก้ปัญหาอย่างเป็นทางการ

โดยเฉพาะเราตรวจสอบการบรรยายจากมุมมองเชิงโครงสร้างและสังเกตว่าเส้นทางการเล่าเรื่องทางเลือกมีบทบาทเสริมในช่วงเวลาโต้ตอบที่เกิดขึ้นพร้อมกัน ตรรกะเชิงเส้นจัดเตรียมเครื่องมือที่เป็นตัวแทนที่จำเป็นในการตรวจสอบโครงสร้างนี้และโดยการขยายการติดต่อไปยังการพิสูจน์และการสร้างการพิสูจน์เราพบชุดของความเป็นไปได้ในการคำนวณ เรานำเสนอสามความพยายามในการตระหนักถึงความเป็นไปได้เหล่านั้น: (1) การใช้การเขียนโปรแกรมเชิงตรรกะเชิงเส้นเพื่อสร้างเรื่องเล่า; (2) ภาษาการเขียนโปรแกรมใหม่สำหรับการเขียนเรื่องเล่าโต้ตอบเกมและการจำลอง และ (3) เทคนิคในการระบุและพิสูจน์คุณสมบัติโปรแกรมระดับการออกแบบ

เราพบว่าการเขียนโปรแกรมลอจิกเชิงเส้นอุดมไปด้วยส่วนขยายที่น้อยที่สุดเพื่อความหมายเชิงตรรกะของมันช่วยให้การเขียนโปรแกรมสำนวนและการเข้ารหัสโดเมนที่หลากหลาย เพื่อเป็นหลักฐานเราให้กรณีศึกษาห้ากรณีรวมถึงการจำลองทางสังคมเกมผจญภัยที่ใช้การต่อสู้และเกมกระดาน เพื่อสนับสนุนการให้เหตุผลเกี่ยวกับความถูกต้องในการออกแบบเรานำเสนอเทคนิคในการระบุและพิสูจน์ค่าคงที่ของโปรแกรมรวมถึงหลักฐานการถอดรหัสเพื่อตรวจสอบค่าคงที่ของภาษาเหล่านั้นโดยอัตโนมัติ

การค้นพบเหล่านี้แสดงให้เห็นว่าตรรกะเชิงเส้นเป็นภาษาที่แสดงถึงผลสำเร็จเพื่อใช้เป็นพื้นฐานสำหรับการสร้างแบบจำลองและดำเนินการโลกที่มีการโต้ตอบและพวกเขาเชิญให้มีการสอบสวนในอนาคตเกี่ยวกับการใช้วิธีการ


1
เสียงที่เหมือนใช้ตรรกะเชิงเส้นมากกว่าทฤษฎีประเภทต่อ se
David Richerby

6
ตรรกะเชิงเส้นเป็นหัวข้อสำคัญของทฤษฎีประเภท งานนี้เป็นส่วนหนึ่งของทฤษฎีประเภทเป็นวินัย (บางคนอธิบายว่างานของพวกเขาเป็น "ทฤษฎีการพิสูจน์" เมื่อมันเกี่ยวข้องกับทฤษฎีการพิมพ์อย่างเท่าเทียมกันแม้ว่าชื่อจะไม่เทียบเท่ากับงานอื่น ๆ ใน "ทฤษฎีการพิสูจน์" มีความเฉพาะเจาะจงมากขึ้นสำหรับทฤษฎีการพิสูจน์แทนที่จะเป็นทฤษฎีการพิมพ์กลาง)
gasche

9

มีการใช้ประโยชน์จากทฤษฎีประเภทในภาษาศาสตร์ที่น่าสนใจ ดูตัวอย่างผลงานของภาษาChung-Chieh ฉานหรือคริสเตียนRétoré

ยกมาด้านล่างเป็นคำอธิบายของหนังสือ Rétoré ในไวยากรณ์ categorial:

หนังสือเล่มนี้เป็นการแนะนำแบบร่วมสมัยและครอบคลุมเกี่ยวกับไวยากรณ์ประเภทในประเพณีเชิงตรรกะที่ริเริ่มโดยผลงานของแลมเบค มันแนะนำนักเรียนและนักวิจัยผ่านผลลัพธ์พื้นฐานในสาขาการพิสูจน์ที่ทันสมัยของทฤษฎีคลาสสิกจำนวนมากเช่นเดียวกับความก้าวหน้าล่าสุดเดิม ตัวอย่างและแบบฝึกหัดมากมายแสดงให้เห็นถึงแรงจูงใจและการใช้งานผลลัพธ์เหล่านี้จากมุมมองทางภาษาการคำนวณและตรรกะ แคลคูลัสแลมเบคและสายพันธุ์และไวยากรณ์ที่สอดคล้องกันเป็นหัวใจสำคัญของบันทึกการบรรยายเหล่านี้ บทที่ได้รับการอุทิศให้กับคุณสมบัติที่สำคัญของไวยากรณ์ categorial เหล่านี้: ส่วนติดต่อทางไวยากรณ์และความหมายที่หรูหราของพวกเขา นอกจากนี้เรายังปรับอวนเชิงตรรกะเชิงเส้นอวนให้กับแคลคูลัสเหล่านี้เนื่องจากพวกเขาให้อัลกอริทึมการแยกที่มีประสิทธิภาพเป็นสุดขั้วในตัวแยกวิเคราะห์ Grail

ข้อความต่อไปนี้อยู่ในการแนะนำบทหนังสือผลข้างเคียงของภาษาไทใหญ่ :

บทความนี้เกี่ยวข้องกับกรณีของ noncompositionality ชัดเจนในภาษาธรรมชาติกับภาษาโปรแกรม มันมีรูปร่างเหมือนนาฬิกาทราย: ฉันเริ่มต้นใน§1ด้วยวิธีการอินเทอร์เฟซไวยากรณ์ความหมายที่ช่วยให้เราสร้างทฤษฎีความหมายประกอบ วิธีการนั้นคือการเปรียบเทียบความคล้ายคลึงกันระหว่างผลข้างเคียงจากการคำนวณในภาษาโปรแกรมและสิ่งที่ฉันใช้โดยผลข้างเคียงทางภาษาเชิงเปรียบเทียบในภาษาธรรมชาติ

การเชื่อมต่อนี้จะเป็นประโยชน์ต่อนักวิทยาศาสตร์คอมพิวเตอร์และนักภาษาศาสตร์ แต่ฉันมุ่งเน้นไปที่ทิศทางหลังของการถ่ายทอดเทคโนโลยี การต่อเนื่องมีประโยชน์ในการรักษาผลข้างเคียงจากการคำนวณ ใน§2ฉันแนะนำภาษาใหม่ของโลหะเพื่อการต่อเนื่องในความหมาย

Metalanguage ที่ฉันแนะนำมีประโยชน์สำหรับการวิเคราะห์ทั้งภาษาโปรแกรมและภาษาธรรมชาติ สำหรับสัญชาตญาณฉันสำรวจการใช้งานครั้งแรกใน§3จากนั้นชี้ให้เห็นถึงคุณธรรมของการรักษานี้ใน§4

เมื่อหันไปใช้ภาษาธรรมชาติใน§5ฉันอธิบายในรายละเอียดว่ามุมมองนี้ช่วยให้ Chris Barker และฉันศึกษาความผูกพันและครอสโอเวอร์รวมถึงคำถามและความเหนือกว่าได้อย่างไร ฉันยังใช้ความต่อเนื่องในการศึกษาปริมาณและขอบเขตที่ไม่มีกำหนดโดยเฉพาะอย่างยิ่งในภาษาจีนกลาง แต่มีเพียงห้องเดียวเท่านั้นที่จะร่างการพัฒนาเพิ่มเติมเหล่านี้ใน§6


9

เนื่องจากการโต้ตอบของCurry-Howardประเภทสามารถตีความได้ว่าเป็นข้อเสนอและข้อเสนอเป็นประเภท

ด้วยเหตุนี้ทฤษฎีประเภทจึงสามารถใช้กับฟิลด์ใด ๆ ที่ใช้ตรรกะอย่างเป็นทางการสำหรับการพิสูจน์ได้ สิ่งนี้สามารถตรวจสอบวงจรการวิเคราะห์จริงตรรกะสัญลักษณ์เรขาคณิต ฯลฯ

ตัวอย่างเช่นเครื่องมือตรวจสอบหลักฐานอัตโนมัติบางอย่างทำงานโดยใช้หลักการนี้: พวกเขาตรวจสอบความถูกต้องของการพิสูจน์โดยการตรวจสอบชนิดของคำเฉพาะในระบบบางประเภท ตัวตรวจสอบหลักฐาน LF จะขึ้นอยู่กับวิธีการนี้เป็นHOL แสง เป็นแอปพลิเคชันตัวอย่างรหัสการพิสูจน์ที่ใช้ LF เพื่อตรวจสอบการพิสูจน์ความปลอดภัยของหน่วยความจำของรหัสที่ไม่น่าเชื่อถือ ประโยชน์ของการใช้เครื่องตรวจสอบข้อพิสูจน์ชนิดนี้คือการติดตั้งใช้งานง่ายมากและทำให้เรามั่นใจได้ว่าการติดตั้งจะถูกต้อง ดูเช่นกระดาษต่อไปนี้:

หมากฮอสหลักฐานพื้นฐานที่มีพยานขนาดเล็ก Dinghao Wu, Andrew W. Appel, Aaron Stump PPDP 2003


สิ่งนี้อาจช่วยได้: math.ucr.edu/home/baez/rosetta.pdf
นามแฝง

ฉันไม่คิดว่านี่จะตอบคำถามได้ แล้วแอพพลิเคชั่นจริง ๆ ล่ะ?
Yuval Filmus

@YuvalFilmus กำหนด "จริง" หรือไม่
David Richerby

1
คุณรู้หรือไม่ว่าใครใช้ทฤษฎีประเภทเพื่อพิสูจน์สิ่งใหม่เกี่ยวกับการตรวจสอบวงจรการวิเคราะห์จริงตรรกะเชิงสัญลักษณ์หรือเรขาคณิต หรือเราแค่พูดถึงกรณีที่มีคนใช้ทฤษฎีพิมพ์ 20 หน้าเพื่อพิสูจน์สิ่งที่ใช้สามบรรทัดในตำราเรียนระดับประถมศึกษา?
David Richerby

@ David สิ่งที่คำตอบนี้คือในหลักการคุณสามารถใช้ทฤษฎีประเภทเพื่อพิสูจน์สิ่ง นอกจากนี้ในหลักการเราสามารถใช้เซลลูลาร์ออโตมาตะเพื่อพิสูจน์สิ่งของได้เนื่องจากกฎข้อ 110 คือการทำให้ทัวริงสมบูรณ์ ฉันคิดว่าคำแถลงเดิมนั้นไร้ความหมายเหมือนคำหลัง
Yuval Filmus

7

บทความที่น่าสนใจที่อธิบายการใช้งานประเภทต่าง ๆ คือ The Power of Piซึ่งแสดงให้เห็นว่า Agda สามารถใช้เพื่อแก้ปัญหาที่น่าสนใจได้อย่างไร

อีกตัวอย่างที่ดีคือการใช้ชนิดขึ้นกับการควบคุมทรัพยากร ตัวอย่างที่ดีคือ API ในการจัดการไฟล์ของผลกระทบของไอดริส ตัวอย่างเช่นฟังก์ชั่นสำหรับอ่านบรรทัดจากไฟล์มีประเภทต่อไปนี้

readLine  : { [FILE_IO (OpenFile Read)] } Eff String

ซึ่งระบุว่าฟังก์ชั่นนี้ใช้ได้เฉพาะเมื่อมีไฟล์ที่เปิดอยู่ รายการในวงเล็บแสดงว่ามีเอฟเฟกต์ใดบ้าง ในกรณีนี้เรามีฟังก์ชั่นนี้ที่ต้องการผลของการเปิดไฟล์เพื่ออ่าน

ข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดผลสามารถพบได้ที่นี่

อีกหนึ่งแอปพลิเคชั่นคือการใช้ประเภทที่เกี่ยวข้องสำหรับการทำงานพร้อมกันตามที่รายงานในบทความต่อไปนี้โดยผู้สร้าง Idris


1
เพิ่มตัวอย่างเพิ่มเติม
Rodrigo Ribeiro

3

ดังที่ได้กล่าวไว้ในคำตอบของ jmite ทฤษฎีลำดับตรรกะ / ประเภทที่สูงขึ้นในการตรวจสอบวงจร / ฮาร์ดแวร์ / อุปกรณ์อิเล็กทรอนิกส์นั้นมีมานานหลายทศวรรษและตอนนี้ก็กลายเป็นกิจวัตรประจำวันไปแล้ว ~ 1990s แม้ว่ามันจะยังคงเป็นพื้นที่ของการวิจัย นอกจากนี้ยังมีแอพพลิเคชั่นจำนวนมากของ Coq และตรรกะประเภทโดยเฉพาะการตรวจสอบวงจร / ฮาร์ดแวร์ / อิเล็กทรอนิกส์ตลอดทางตั้งแต่ตรรกะเกตระดับต่ำไปจนถึงโครงสร้างระดับสูง / การสั่งซื้อ / ระบบย่อยที่สูงขึ้นมาก นี่คือการอ้างอิงที่สำคัญไม่กี่


1
เพื่อความเป็นธรรมแม้ว่าการตรวจสอบฮาร์ดแวร์ที่เกิดขึ้นจริงในระดับอุตสาหกรรมส่วนใหญ่จะทำโดยใช้การตรวจสอบแบบจำลอง แต่เทคโนโลยีการตรวจสอบที่โดยทั่วไปไม่เกี่ยวข้องกับทฤษฎีการพิมพ์ ทฤษฎีประเภทได้รับการใช้ภาษาคำอธิบายการสร้างฮาร์ดแวร์ (ไม่ไกลจากความจริงจากการเขียนโปรแกรมภาษา) และส่วนใหญ่ของภาษาที่คุณให้อยู่ในหมวดหมู่นี้และบางส่วนของหลักฐานช่วยออกแบบมาสำหรับการตรวจสอบฮาร์ดแวร์ (สะดุดตา HOL เดิม แต่ไม่ใช่ PVS ที่ใช้มากที่สุด) คือทฤษฎีการพิมพ์ของ Curry-Howard
gasche

หากคุณมีพื้นหลังที่ลึกกว่าในการตรวจสอบฮาร์ดแวร์มันจะน่าสนใจที่จะได้ยินรายละเอียดเพิ่มเติมในComputer Science Chatแต่คิดว่า / สงสัยว่าเส้นแคบ / ชัดเจน / ภาพรวมไม่ใช่เรื่องง่ายที่จะวาดในพื้นที่นี้เช่นระหว่างการตรวจสอบแบบจำลอง มันสามารถใช้การวิเคราะห์ทางประวัติศาสตร์ที่ละเอียดอ่อนอย่างมากในการเปิดเผย / เชื่อมโยงชิ้นส่วนต่าง ๆ เข้าด้วยกันอย่างต่อเนื่องระหว่างสองสาขาที่มีจุดมุ่งหมายที่แตกต่างกันและบางครั้งก็อยู่นอกขีดความสามารถของผู้เชี่ยวชาญในแต่ละสาขา ... ..
vzn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.