อ่าน 4 นาที
พีชคณิตเบื้องต้น
ใน ทางคณิตศาสตร์ พีชคณิต เริ่มต้น (initial algebra) คือ วัตถุเริ่มต้น ใน หมวดหมู่ ของ พีชคณิต F สำหรับเอน โดฟังก์ชัน F ที่กำหนดให้ ความเป็นเริ่มต้นนี้เป็นกรอบทั่วไปสำหรับ...
พีชคณิตเบื้องต้น
ในทางคณิตศาสตร์พีชคณิตเริ่มต้น (initial algebra)คือวัตถุเริ่มต้นในหมวดหมู่ของพีชคณิตFสำหรับเอนโดฟังก์ชันF ที่กำหนดให้ ความเป็นเริ่มต้นนี้เป็นกรอบทั่วไปสำหรับการอุปมานและการเรียกซ้ำ
ตัวอย่าง
ฟังก์ชันเตอร์1 + (−)
พิจารณาเอนโดฟังก์ชัน1 + (−)นั่นคือF : เซต → เซตที่ส่งXไปยัง1 + Xโดยที่1 เป็น เซตที่มีจุดเดียว ( เซตเอก ซ์เลนตัน ) ซึ่งเป็นวัตถุปลายทางในหมวดหมู่ พีชคณิตสำหรับเอนโดฟังก์ชันนี้คือเซตX (เรียกว่าตัวพาของพีชคณิต) พร้อมกับฟังก์ชันf : (1 + X ) → Xการกำหนดฟังก์ชันดังกล่าวเท่ากับการกำหนดจุดx ∈ Xและฟังก์ชันX → Xกำหนด
และ
จากนั้นเซตNของจำนวนธรรมชาติพร้อมกับฟังก์ชัน[zero,succ]: 1 + N → Nจะเป็นพีชคณิตF เริ่มต้น ความเป็นเริ่มต้น ( คุณสมบัติสากลสำหรับกรณีนี้) นั้นไม่ยากที่จะพิสูจน์โฮโมมอร์ ฟิซึมที่ไม่ ซ้ำกันไปยังพีชคณิตF ใดๆ ( A , [ e , f ])สำหรับe : 1 → Aซึ่งเป็นสมาชิกของAและf : A → Aซึ่งเป็นฟังก์ชันบนAคือฟังก์ชันที่ส่งจำนวนธรรมชาติnไปยังf n ( e )นั่นคือf ( f (…( f ( e ))…))ซึ่งเป็นการประยุกต์ใช้fกับe nครั้ง
เซตของจำนวนธรรมชาติเป็นตัวกลางของพีชคณิตเบื้องต้นสำหรับฟังก์ชันนี้: จุดนั้นคือศูนย์ และฟังก์ชันนั้นคือฟังก์ชัน สืบทอด
ฟังก์ชัน1 + N × (−)
สำหรับตัวอย่างที่สอง พิจารณาเอนโดฟังก์ชัน1 + N × (−)บนหมวดหมู่ของเซต โดยที่Nคือเซตของจำนวนธรรมชาติ พีชคณิตสำหรับเอนโดฟังก์ชันนี้คือเซตXพร้อมกับฟังก์ชัน1 + N × X → Xในการกำหนดฟังก์ชันดังกล่าว เราจำเป็นต้องมีจุดx ∈ Xและฟังก์ชันN × X → Xเซตของรายการ จำกัด ของจำนวนธรรมชาติเป็นพีชคณิตเริ่มต้นสำหรับฟังก์ชันนี้ จุดนั้นคือรายการว่าง และฟังก์ชันคือconsซึ่งรับจำนวนและรายการจำกัด และส่งคืนรายการจำกัดใหม่ที่มีจำนวนนั้นอยู่ที่หัวรายการ
ในหมวดหมู่ที่มีผลคูณร่วม แบบไบนารี คำจำกัดความที่กล่าวมาข้างต้นจะเทียบเท่ากับคำจำกัดความปกติของวัตถุจำนวนธรรมชาติและวัตถุรายการตามลำดับ
โคอัลจีบราสุดท้าย
ในทำนองเดียวกันโคอัลเจบราสุดท้ายเป็นวัตถุปลายทางในหมวดหมู่ของF-โคอัลเจบราความเป็นขั้นสุดท้ายนี้เป็นกรอบทั่วไปสำหรับการเหนี่ยวนำร่วมและการเรียกซ้ำร่วม
ตัวอย่างเช่น การใช้ฟังก์ชัน1 + (−) เดียวกัน กับที่ใช้ก่อนหน้านี้ โคอัลจีบราจะถูกนิยามเป็นเซตXพร้อมกับฟังก์ชันf : X → (1 + X )การนิยามฟังก์ชันดังกล่าวเทียบเท่ากับการนิยามฟังก์ชันบางส่วนf' : X ⇸ Xซึ่งโดเมนถูกสร้างขึ้นจากเซตที่f ( x )ไม่ได้อยู่ใน1เมื่อมีโครงสร้างเช่นนี้ เราสามารถกำหนดลำดับของเซตได้ดังนี้: X 0เป็นเซตย่อยของXที่f ′ไม่ได้นิยามไว้, X 1ซึ่งมีองค์ประกอบที่ถูกแมปไปยังX 0โดยf ′ , X 2ซึ่งมีองค์ประกอบที่ถูกแมปไปยังX 1 โดย f ′เป็นต้นและX ωซึ่งประกอบด้วยองค์ประกอบที่เหลือของXด้วยเหตุนี้ เซตซึ่งประกอบด้วยเซตของจำนวนธรรมชาติที่ขยายด้วยองค์ประกอบใหม่ωจึงเป็นตัวพาของโคอัลจีบราสุดท้าย โดยที่คือฟังก์ชันก่อนหน้า ( ผกผันของฟังก์ชันถัดไป) บนจำนวนธรรมชาติบวก แต่ทำหน้าที่เหมือนเอกลักษณ์บนองค์ประกอบใหม่ω : f ( n + 1) = n , f ( ω ) = ωเซตนี้ซึ่งเป็นตัวพาของโคอัลจีบราสุดท้ายของ1 + (−)เรียกว่าเซตของจำนวนโคเนเชอรัล
สำหรับตัวอย่างที่สอง ลองพิจารณาฟังก์ชัน1 + N × (−) ตัวเดียวกัน กับที่กล่าวมาแล้ว ในกรณีนี้ ตัวพาของโคอัลจีบราสุดท้ายประกอบด้วยรายการของจำนวนธรรมชาติทั้งหมด ทั้งแบบจำกัดและแบบอนันต์การดำเนินการคือฟังก์ชันทดสอบที่ตรวจสอบว่ารายการว่างหรือไม่ และฟังก์ชันการแยกส่วนที่กำหนดบนรายการที่ไม่ว่างซึ่งส่งคืนคู่ที่ประกอบด้วยหัวและท้ายของรายการที่ป้อนเข้ามา
ทฤษฎีบท
- พีชคณิตเริ่มต้นนั้นมีขั้นต่ำสุด (กล่าวคือ ไม่มีพีชคณิตย่อยที่แท้จริง)
- โคอัลจีบราสุดท้ายเป็นแบบง่าย (กล่าวคือ ไม่มีผลหารที่แท้จริง)
ใช้ในวิทยาการคอมพิวเตอร์
โครงสร้างข้อมูลจำกัดต่างๆที่ใช้ในการเขียนโปรแกรมเช่นลิสต์และทรีสามารถหาได้จากพีชคณิตเริ่มต้นของเอนโดฟังก์ชันเฉพาะ ในขณะที่อาจมีพีชคณิตเริ่มต้นหลายแบบสำหรับเอนโดฟังก์ชันที่กำหนด แต่พีชคณิตเหล่านั้นจะ มีเอกลักษณ์ เฉพาะตัวจนถึงระดับไอโซมอร์ฟิซึมซึ่งโดยทั่วไปหมายความว่า คุณสมบัติที่ "สังเกตได้" ของโครงสร้างข้อมูลสามารถจับได้อย่างเพียงพอโดยการกำหนดให้เป็นพีชคณิตเริ่มต้น
เพื่อให้ได้ประเภทList( A )ของลิสต์ที่มีองค์ประกอบเป็นสมาชิกของเซตAให้พิจารณาว่าการดำเนินการสร้างลิสต์มีดังนี้:
เมื่อรวมเข้าเป็นฟังก์ชันเดียว จะได้ผลลัพธ์ดังนี้:
ซึ่งทำให้สิ่งนี้เป็นF -algebra สำหรับ endofunctor Fที่ส่งXไปยัง1 + ( A × X )อันที่จริงแล้ว มันคือF - algebra เริ่มต้นความเป็นเริ่มต้นนั้นถูกกำหนดโดยฟังก์ชันที่เรียกว่าfoldrในภาษาการเขียนโปรแกรมเชิง ฟังก์ชัน เช่นHaskellและML
ในทำนองเดียวกันต้นไม้ไบนารีที่มีองค์ประกอบอยู่ที่ใบ สามารถได้มาเป็นพีชคณิตเริ่มต้น
ประเภทข้อมูลที่ได้มาด้วยวิธีนี้เรียกว่าประเภทข้อมูลเชิงพีชคณิต
ประเภทที่กำหนดโดยใช้โครงสร้างจุดคงที่น้อยที่สุด ที่มีฟังก์ชัน Fสามารถถือได้ว่าเป็น พีชคณิต F เริ่มต้น โดยมีเงื่อนไขว่าความเป็นพารามิเตอร์เป็นไปตามประเภท[ 1 ]
ในทางคู่ขนาน ความสัมพันธ์ที่คล้ายคลึงกันมีอยู่ระหว่างแนวคิดของจุดคงที่ที่ใหญ่ที่สุดและเทอร์มินัลF -coalgebra โดยมีการประยุกต์ใช้กับ ประเภทข้อมูลแบบ เหนี่ยว นำร่วม สิ่งเหล่านี้สามารถใช้เพื่ออนุญาตให้วัตถุ ที่ อาจไม่มีที่สิ้นสุดในขณะที่ยังคงรักษาคุณสมบัติการทำให้เป็นมาตรฐานที่แข็งแกร่ง[ 1 ]ในภาษาการเขียนโปรแกรม Charity ที่ทำให้เป็นมาตรฐานอย่างแข็งแกร่ง (แต่ละโปรแกรมสิ้นสุด) ประเภทข้อมูลแบบเหนี่ยวนำร่วมสามารถใช้เพื่อให้ได้ผลลัพธ์ที่น่าประหลาดใจ เช่น การกำหนด โครงสร้าง การค้นหาเพื่อใช้ฟังก์ชัน"ที่แข็งแกร่ง" เช่น ฟังก์ชันAckermann [ 2 ]
ดูเพิ่มเติม
หมายเหตุ
- ^ a b Philip Wadler: ประเภทเรียกซ้ำแบบฟรี!มหาวิทยาลัยกลาสโกว์ กรกฎาคม 1990 ฉบับร่าง
- ^โรบิน ค็อกเก็ตต์ : ข้อคิดเพื่อการกุศล ( ps.gz )
ลิงก์ภายนอก
- การเขียนโปรแกรมเชิงหมวดหมู่ด้วยประเภทอุปนัยและอุปนัยร่วม โดย Varmo Vene
- ประเภทข้อมูลแบบเรียกซ้ำฟรี!โดย ฟิลิป วาดเลอร์ มหาวิทยาลัยกลาสโกว์ ปี 1990-2014
- ความหมายของพีชคณิตเบื้องต้นและโคแอลจีบราขั้นสุดท้ายสำหรับการทำงานพร้อมกันโดย JJMM Rutten และ D. Turi
- จุดเริ่มต้นและจุดสิ้นสุดจาก CLiki
- โปรแกรมแปลภาษาแบบไม่มีแท็ก (Typed Tagless Final Interpreters)โดย Oleg Kiselyov
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ พีชคณิตเบื้องต้น
ใน ทางคณิตศาสตร์ พีชคณิต เริ่มต้น (initial algebra) คือ วัตถุเริ่มต้น ใน หมวดหมู่ ของ พีชคณิต F สำหรับเอน โดฟังก์ชัน F ที่กำหนดให้ ความเป็นเริ่มต้นนี้เป็นกรอบทั่วไปสำหรับ...
ฟังก์ชันเตอร์ 1 + (−)
พิจารณาเอนโดฟังก์ชัน 1 + (−) นั่นคือ F : เซต → เซต ที่ส่ง X ไปยัง 1 + X โดยที่ 1 เป็น เซต ที่มีจุดเดียว ( เซตเอก ซ์เลนตัน ) ซึ่งเป็น วัตถุปลายทาง ในหมวดหมู่ พีชคณิตสำหรับเอนโดฟังก์ชันนี้คือเซต X (เรียกว่า ตัวพา ของพีชคณิต) พร้อมกับ ฟังก์ชัน f : (1 + X ) → X...
ฟังก์ชัน 1 + N × (−)
สำหรับตัวอย่างที่สอง พิจารณาเอนโดฟังก์ชัน 1 + N × (−) บนหมวดหมู่ของเซต โดยที่ N คือเซตของจำนวนธรรมชาติ พีชคณิตสำหรับเอนโดฟังก์ชันนี้คือเซต X พร้อมกับฟังก์ชัน 1 + N × X → X ในการกำหนดฟังก์ชันดังกล่าว เราจำเป็นต้องมีจุด x ∈ X และฟังก์ชัน N × X → X เซตของ รายการ...
โคอัลจีบราสุดท้าย
ในทำนองเดียวกัน โค อัลเจบราสุดท้าย เป็น วัตถุปลายทาง ในหมวดหมู่ของ F- โคอัลเจบรา ความเป็นขั้นสุดท้ายนี้เป็นกรอบทั่วไปสำหรับ การเหนี่ยวนำร่วม และ การเรียกซ้ำ ร่วม