คำจำกัดความที่สร้างสรรค์มาตรฐานของจำนวนเต็ม rationals และ reals?


10

จำนวนธรรมชาติถูกกำหนด inductively เป็น (ใช้ไวยากรณ์ Coq เป็นตัวอย่าง)

Inductive nat: Set :=
| O: nat
| S: nat -> nat.

มีวิธีมาตรฐานในการกำหนดจำนวนเต็ม (และชุดอื่น ๆ เช่น rationals และ reals) อย่างสร้างสรรค์?


1
คำจำกัดความที่สร้างสรรค์คืออะไร
Trismegistos

คำตอบ:


12

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

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

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

ตัวอย่างเช่นเพื่อกำหนดนักคณิตศาสตร์อาจมีความสุขกับการเทียบความแตกต่างของจำนวนธรรมชาติ: ในขณะนี้มีความรู้สึกเป็นระเบียบ (ไม่ใช่“ นี่หรืออย่างนั้น”) เพื่อเหตุผลเชิงสร้างสรรค์มันง่ายกว่าถ้าความเท่าเทียมกันของวัตถุเกิดขึ้นพร้อมกับความเท่าเทียมของการเป็นตัวแทน ดังนั้นเราอาจกำหนดจำนวนเต็มสัมพัทธ์เป็นจำนวนธรรมชาติหรือลบของจำนวนธรรมชาติลบหนึ่ง:Z

Z:=N2/{((x,y),(x,y))x+y=x+y}
Inductive Z1 :=
  | Nonnegative : nat -> Z1   (* ⟦Nonnegative x⟧ = ⟦x⟧ *)
  | Negative : nat -> Z1.     (* ⟦Negative x⟧ = -⟦x⟧-1 *)

อย่างไรก็ตามคำจำกัดความนี้ไม่สมมาตรแปลก ๆ ซึ่งสามารถทำให้ยอมรับการเป็นตัวแทนที่แตกต่างกันสองรายการสำหรับศูนย์:

Inductive Z2 :=
  | Nonnegative : nat -> Z2   (* ⟦Nonnegative x⟧ = ⟦x⟧ *)
  | Nonpositive : nat -> Z2.  (* ⟦Nonpostitive x⟧ = -⟦x⟧ *)

หรือเราสามารถสร้างจำนวนเต็มสัมพัทธ์โดยไม่ใช้ naturals เป็นแบบเอกสารสำเร็จรูป:

Inductive Pos3 :=
  | I : Pos3                  (* ⟦I⟧ = 1 *)
  | S3 : Pos3 -> Pos3         (* ⟦S3 x⟧ = ⟦x⟧+1 *)
Inductive Z3 :=
  | N3 : Pos3 -> Z3           (* ⟦N3 x⟧ = -⟦x⟧ *)
  | O3 : Z3                   (* ⟦O3⟧ = 0 *)
  | P3 : Pos3 -> Z3           (* ⟦P3 x⟧ = ⟦x⟧ *)

ไลบรารีมาตรฐาน Coq ใช้คำจำกัดความอื่น: มันสร้างจำนวนเต็มบวกจากสัญกรณ์ของพวกเขาคือฐาน 2 เป็นหลัก 1 ตามด้วยลำดับของตัวเลข 0 หรือ 1 จากนั้นสร้างZเช่นZ3จากPos3ด้านบน คำจำกัดความนี้ยังมีการแสดงที่ไม่ซ้ำกันสำหรับแต่ละจำนวนเต็ม ทางเลือกของการใช้รูปแบบไบนารีไม่ใช่เพื่อเหตุผลที่ง่ายกว่า แต่เพื่อสร้างรหัสที่มีประสิทธิภาพมากขึ้นเมื่อโปรแกรมถูกดึงออกมาจากบทพิสูจน์

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

สำหรับตัวเลขที่มีเหตุผลมันเป็นเรื่องยากที่จะหลีกเลี่ยงการหารไม่ได้ถ้าเราเริ่มต้นจากการแสดงจำนวนเต็มเป็นผลคูณของปัจจัย (ซึ่งทำให้การดำเนินงานพื้นฐานบางอย่างเช่นการเพิ่มและการเรียงลำดับทั้งหมดบนยากที่จะกำหนด) Coq กำหนดมาตรฐานห้องสมุดเป็น (เศษและส่วน) และกำหนดดำเนินการในการทดสอบความเท่าเทียมกันของทั้งสององค์ประกอบของ คำจำกัดความนี้ค่อนข้างธรรมดาเพราะมันง่ายอย่างที่ได้รับNQN×N=?=Q

จำนวนจริงเป็นกาต้มน้ำที่แตกต่างกันทั้งตัวเพราะพวกมันไม่สามารถสร้างได้ มันเป็นไปไม่ได้ที่จะกำหนดจำนวนจริงเป็นประเภทอุปนัย (ประเภทอุปนัยทั้งหมดนับได้) คำจำกัดความของจำนวนจริงใด ๆ จะต้องเป็นจริง แต่ไม่ใช่เชิงสร้างสรรค์ เป็นไปได้ที่จะสร้างชุดย่อยที่นับได้ของจำนวนจริง วิธีการทำขึ้นอยู่กับว่าคุณต้องการสร้างชุดย่อยใด


1
ตัวเลขจริงคำนวณดูเหมือนจะเป็นผู้สมัครที่เหมาะสมที่สุดในขณะที่การใช้งานมากที่สุดของตัวเลขจริงจะเชื่อมโยงกับการสั่งซื้อปกติของพวกเขาในบางแฟชั่น
dfeuer

5
"ที่สร้างขึ้นได้" หมายถึงอะไร ฉันรู้เพียง "ทฤษฎีเซตที่สร้างขึ้นได้" เท่านั้น แต่นั่นคือสิ่งที่คุณหมายถึง ยิ่งไปกว่านั้นในขณะที่ในกรณีที่ reals เป็นกาต้มน้ำปลาต่าง ๆ มันก็ไม่เป็นความจริงที่ว่า "คำจำกัดความของจำนวนจริงจะต้องเป็นจริงซึ่งก็คือไม่ใช่ - สร้างสรรค์" และในทฤษฎีประเภท homotopy มีคำจำกัดความของ reals-inductive ที่สูงกว่าของ reals
Andrej Bauer

15

คำตอบ Gilles เป็นคำตอบที่ดียกเว้นย่อหน้าในจำนวนจริงซึ่งเป็นเท็จโดยสมบูรณ์ยกเว้นความจริงที่ว่าจำนวนจริงเป็นกาต้มน้ำปลาที่แตกต่างกัน เนื่องจากข้อมูลที่ผิดประเภทนี้ดูเหมือนจะค่อนข้างแพร่หลายฉันต้องการบันทึกข้อโต้แย้งอย่างละเอียด

มันไม่เป็นความจริงเลยที่อุปนัยทุกประเภทนั้นนับได้ ตัวอย่างเช่นประเภทอุปนัย

Inductive cow := 
   | nose : cow
   | horn : (nat -> cow) -> cow.

ไม่สามารถนับได้สำหรับลำดับใดก็ตามที่c : nat -> cowเราอาจก่อตัวขึ้นhorn cซึ่งไม่ได้อยู่ในลำดับโดยการก่อตั้งที่ดีของวัว หากคุณต้องการคำแถลงที่ถูกต้องของรูปแบบ "ประเภทอุปนัยทั้งหมดนับได้" คุณจะต้อง จำกัด การก่อสร้างที่อนุญาตอย่างรุนแรง

ตัวเลขจริงไม่สามารถสร้างได้อย่างง่ายดายเป็นประเภทอุปนัยยกเว้นว่าในประเภททฤษฎี homotopy พวกเขาสามารถสร้างเป็นประเภทอุปนัยอุปนัยสูงดูบทที่ 11 ของหนังสือ อาจเป็นที่ถกเถียงกันอยู่ว่านี่คือการโกง

มีคำจำกัดความเชิงสร้างสรรค์จำนวนมากและสิ่งปลูกสร้างของ reals ซึ่งตรงกันข้ามกับการเรียกร้องของ Gilles พวกเขาสามารถแบ่งออกเป็นสองชั้นกว้าง:

  1. กองกำลังประเภท Cauchyซึ่ง reals เท่าที่เห็นเป็นการวัดความสมบูรณ์ของจำนวนตรรกยะ การก่อสร้างประเภทนี้มักจะต้องมีความฉลาดทางวัตถุแม้ว่าบางคนอาจจะสามารถนิยามคำว่า coiunductive ได้ แต่ก็ขึ้นอยู่กับว่าคนเราปฏิบัติต่อความเท่าเทียมกันอย่างไร การสร้างแบบไร้เดียงสามักจะต้องเลือกที่นับได้เช่นกัน แต่เฟร็ด Richman ให้ขั้นตอนการดำเนินการเสร็จสมบูรณ์ซึ่งทำงานอย่างสร้างสรรค์โดยไม่ต้องเลือกดูของเขาจำนวนจริงและความสำเร็จอื่น

  2. การก่อสร้างประเภท Dedekindซึ่ง reals ถูกมองว่าเป็นการตัดแบบปันส่วน (สองด้าน) การสร้างแบบนี้มักจะต้องการ powersets หรืออุปกรณ์ที่คล้ายกันถึงแม้ว่ามันจะเป็นไปได้ที่จะทำมันด้วยพื้นฐานบางอย่างλ- คำนวณและ axiomatization ของพื้นที่ Sierpinski Σดูreals Dedekind นามธรรมหินคู่

ในด้านการดำเนินการที่เรามี formalizations ต่างๆที่สร้างสรรค์ของ reals ( แต่ไม่ได้เป็นหนึ่งในมาตรฐานห้องสมุด Coq ซึ่งเป็นเพียงเหลือร้าย) เช่น Robbert Krebbers และ Bas Spitters ของคอมพิวเตอร์ได้รับการรับรอง reals ที่แน่นอนมีประสิทธิภาพในการ Coq

สำหรับการดำเนินงานที่แท้จริงของแน่นอนตัวเลขจริงผมชี้ให้คุณ Norbert ของMüller iRRAM

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


คุณน่าจะสามารถสัจพจน์ทฤษฎีของสนามปิดจริงใน Coq ...
Pseudonym

ใช่คุณทำได้และไซริลโคเฮนมันดูhal.inria.fr/hal-00671809v1/document ประเด็นของคุณคืออะไร?
Andrej Bauer

1
ฉันไม่มีประเด็นมันเป็นเพียงข้อสันนิษฐาน
นามแฝง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.