ลำดับที่มองผ่านภาพในทฤษฎีหมวดหมู่
(abuseofnotation.github.io)- เมื่อ ความสัมพันธ์แบบทวิภาค บนเซตของสมาชิกเป็นไปตามกฎอย่าง สภาพสะท้อน, สภาพถ่ายทอด, และ สภาพปฏิสมมาตร ก็จะเกิดโครงสร้างของลำดับ
- ลำดับเชิงเส้น คือโครงสร้างที่สมาชิกทุกคู่สามารถเปรียบเทียบกันได้ และเมื่อตัดเงื่อนไขความเป็นลำดับทั้งหมดออก ก็จะกลายเป็น ลำดับบางส่วน
- ในลำดับบางส่วน เราสามารถทำความเข้าใจโครงสร้างผ่าน chain, greatest element·least element, join·meet, และ Hasse diagram
- การผสมสี, การหารลงตัว, และความสัมพันธ์การเป็นสับเซตของเซต เป็นตัวอย่างของลำดับบางส่วน และเมื่อมีทั้ง join และ meet ครบ ก็จะเกิดเป็น lattice
- preorder คือโครงสร้างที่มีเพียงสภาพสะท้อนและสภาพถ่ายทอด และ preorder ทุกอันสามารถตีความเป็น หมวดหมู่ ที่มีมอร์ฟิซึมได้มากสุดหนึ่งตัวระหว่างวัตถุสองตัว
ลำดับ
- ลำดับ ประกอบด้วยเซตของสมาชิกและ ความสัมพันธ์แบบทวิภาค บนเซตนั้น และจะเป็นโครงสร้างทางคณิตศาสตร์ได้เมื่อเป็นไปตามกฎบางอย่าง
- ประเด็นสำคัญไม่ได้อยู่ที่เกณฑ์การจัดลำดับเอง แต่อยู่ที่ความสัมพันธ์ระหว่างสมาชิกมีคุณสมบัติแบบใด
- ความสัมพันธ์แบบทวิภาคคือความสัมพันธ์ระหว่างสมาชิกสองตัวในเซต และสามารถแสดงเป็นลูกศรได้ด้วย
- ในเชิงทฤษฎีเซต ลำดับสามารถแสดงเป็นสับเซตของผลคูณคาร์ทีเซียนของเซตกับตัวเองได้ ส่วนในเชิงการเขียนโปรแกรมอาจแสดงเป็นฟังก์ชันที่ใช้เปรียบเทียบวัตถุสองตัว
- แต่ไม่ใช่ทุกฟังก์ชันเปรียบเทียบหรือทุกเซตของคู่สมาชิกที่จะนิยามลำดับได้ หากต้องการให้ผลลัพธ์สอดคล้องกันโดยไม่ขึ้นกับการจัดวางเริ่มต้น ก็ต้องมีกฎบางอย่างรองรับ
ลำดับเชิงเส้น
-
ลำดับเชิงเส้นคือลำดับที่สมาชิกทุกตัวมีตำแหน่งเมื่อเทียบกัน และเป็นโครงสร้างที่ไม่กำกวมว่าองค์ประกอบใดมาก่อนอีกองค์ประกอบหนึ่ง
- ตัวอย่างเช่น ลำดับของสีตามความยาวคลื่นของแสง หรือการเรียงตัวของสีในสายรุ้ง
- ลำดับเชิงเส้นนิยามด้วยความสัมพันธ์แบบทวิภาคที่เป็นไปตาม สภาพสะท้อน, สภาพถ่ายทอด, สภาพปฏิสมมาตร, และ ความเป็นลำดับทั้งหมด
- กฎทั้งสี่ข้อนี้คือเงื่อนไขที่ประกอบกันเป็นความสัมพันธ์เชิงลำดับ
-
สภาพสะท้อน
- สมาชิกทุกตัวต้องมากกว่าหรือเท่ากับตัวเอง กล่าวคือ สำหรับทุก $a$ จะมี $a \le a$
- นี่คือกฎที่ใช้จัดการกรณีฐาน และหากนิยามในทางกลับกันว่าไม่ให้สัมพันธ์กับตัวเอง ก็จะได้โครงสร้างอีกแบบที่คล้าย strict order
-
สภาพถ่ายทอด
- ถ้า $a \le b$ และ $b \le c$ แล้วต้องมี $a \le c$
- นี่เป็นกฎที่กำหนดแก่นสำคัญของลำดับอย่างมาก
-
สภาพปฏิสมมาตร
- เป็นกฎที่ ห้ามผลการเปรียบเทียบที่ขัดแย้งกัน โดยหาก $x \le y$ และ $y \le x$ จะอนุญาตได้เฉพาะเมื่อ $x = y$ เท่านั้น
- สรุปได้ว่าไม่ยอมให้มีการเสมอกันระหว่างสมาชิกที่ต่างกัน
-
ความเป็นลำดับทั้งหมด
- สมาชิกทุกคู่ต้อง เปรียบเทียบกันได้ กล่าวคือ สำหรับสมาชิกใด ๆ สองตัว ต้องมี $a \le b \lor b \le a$
- ไม่ว่าหยิบสมาชิกคู่ไหนมา ตัวหนึ่งต้องมากกว่าหรือเท่ากับอีกตัวเสมอ
- เพราะความเป็นลำดับทั้งหมดครอบคลุมกรณีที่ $a$ และ $b$ เท่ากันอยู่แล้ว จึงรวมสภาพสะท้อนเป็นกรณีพิเศษด้วย
- เมื่อตัดเงื่อนไขนี้ออก จะได้ ลำดับบางส่วน และลำดับเชิงเส้นยังเรียกได้ว่า total order
-
ลำดับของจำนวนธรรมชาติ
- จำนวนธรรมชาติสร้างลำดับเชิงเส้นภายใต้ความสัมพันธ์ มากกว่าหรือเท่ากับ
- ลำดับเชิงเส้นจำกัดทุกอันมี สมสัณฐาน กับสับเซตของจำนวนธรรมชาติ โดยจับคู่องค์ประกอบตัวแรกกับ 1 ตัวที่สองกับ 2 เป็นต้น
- ดังนั้นลำดับเชิงเส้นจำกัดทุกอันที่มีขนาดเท่ากันจึงสมสัณฐานกัน
- ในมุมมองของทฤษฎีหมวดหมู่ ยังกล่าวได้ด้วยว่าแผนภาพของลำดับเชิงเส้นจำกัดทั้งหมดและลำดับเชิงเส้นอนันต์ส่วนใหญ่นั้นดูเหมือนกัน
ลำดับบางส่วน
- ลำดับบางส่วน คือโครงสร้างที่ได้จากลำดับเชิงเส้นโดยตัด ความเป็นลำดับทั้งหมด ออก และเหลือเพียง สภาพสะท้อน, สภาพถ่ายทอด, และ สภาพปฏิสมมาตร
- ใช้ชื่อว่า partially-ordered set หรือ poset ด้วย
- ลำดับเชิงเส้นทุกอันเป็นลำดับบางส่วน แต่ลำดับบางส่วนไม่จำเป็นต้องเป็นลำดับเชิงเส้น
- ลำดับบางส่วนยังเชื่อมโยงกับ ความสัมพันธ์สมมูล ได้ด้วย โดยเป็นโครงสร้างที่แทน สมมาตร ของความสัมพันธ์สมมูลด้วย ปฏิสมมาตร
- ในตัวอย่างการเปรียบเทียบทักษะฟุตบอล หากมีเฉพาะบางคนที่เปรียบเทียบกันได้โดยตรงหรือโดยอ้อม ก็อาจเกิดลำดับเชิงเส้นได้ แต่ถ้ามีคนที่ไม่เคยแข่งกันเลยรวมอยู่ด้วย ก็จะกลายเป็น โครงสร้างไม่เชิงเส้น และเกิดเป็นลำดับบางส่วน
- ลำดับบางส่วนอาจไม่สามารถให้คำตอบที่ชี้ขาดได้เสมอสำหรับคำถามว่าใครดีกว่าใคร
-
chain
- ลำดับบางส่วนอาจประกอบด้วย สับเซตเชิงเส้น หลายชุด และสับเซตเชิงเส้นลักษณะนี้เรียกว่า chain
- มีตัวอย่าง chain สองชุดคือ $m \to g \to f$ และ $d \to o$
- chain ไม่จำเป็นต้องแยกจากกันอย่างสิ้นเชิง ตราบใดที่การเชื่อมต่อทั้งหมดไม่ได้ต่อกันแบบหนึ่งต่อหนึ่งจนรวมเป็น chain เดียว ก็ยังคงเป็นลำดับบางส่วนได้
- ในตัวอย่าง เราทราบได้ว่า $d \le g$ และ $f \le g$ แต่ ความสัมพันธ์ระหว่าง $d$ กับ $f$ ยังไม่ถูกกำหนด
-
greatest element และ least element
- ถ้าสมาชิกใด $a$ เป็นไปตาม $x \le a$ สำหรับสมาชิกอื่นทุกตัว $x$ สมาชิกนั้นจะเป็น greatest element
- ลำดับบางส่วนบางอันมีสมาชิกเช่นนี้ และในแผนภาพตัวอย่าง $m$ คือ greatest element
- แม้จะมีหลายสมาชิกที่มากกว่าสมาชิกอื่นทั้งหมด แต่หากพวกมันไม่ใช่ตัวเดียวกัน ก็จะไม่มี greatest element
- เช่นเดียวกัน เราสามารถนิยาม least element ได้
-
join
- least upper bound ของสมาชิกสองตัวที่เชื่อมโยงกันเรียกว่า join
- เงื่อนไขมีสองข้อ
- ต้องมี $A \le G$ และ $B \le G$
- สำหรับสมาชิกอื่นใด $P$ ที่มากกว่า $A$ และ $B$ ต้องมี $G \le P$
- หากสมาชิกตัวหนึ่งมากกว่าอีกตัวอยู่แล้ว join ก็คือสมาชิกที่มากกว่านั้นเอง
- ในลำดับเชิงเส้น join ของสมาชิกคู่ใด ๆ ก็คือสมาชิกที่มากกว่า
- หากมี upper bound หลายตัวที่มีขนาดเท่ากัน join จะไม่มีอยู่ เพราะ join ต้องมีเอกลักษณ์
-
meet
- ในบรรดาสมาชิกที่น้อยกว่าหรือเท่ากับสมาชิกสองตัวพร้อมกัน สมาชิกที่มากที่สุดเรียกว่า meet
- ใช้กฎเดียวกับ join แต่กลับทิศทางกัน
-
Hasse diagram
- แผนภาพที่ใช้ในส่วนนี้คือ Hasse diagrams
- มีกฎเพิ่มเติมว่าต้องวางสมาชิกที่มากกว่าไว้ด้านบนเสมอ
- หากมีลูกศร จุดปลายทางของลูกศรจะอยู่สูงกว่าเสมอ
- ด้วยการจัดวางแบบนี้ เราสามารถดูความสัมพันธ์บน-ล่างของจุดสองจุดเพื่อเปรียบเทียบได้ และยังหา join ได้โดยมองหาสมาชิกที่เชื่อมร่วมกันแล้วอยู่ต่ำที่สุด
-
ลำดับบางส่วนของการผสมสี
- มีการยกตัวอย่าง color-mixing partial order ที่นิยามให้แต่ละสีชี้ไปยังสีที่รวมสีนั้นอยู่
- join ของสีสองสีใด ๆ คือสีที่ได้จากการผสมสองสีนั้น
-
ลำดับบางส่วนของจำนวนตามการหารลงตัว
- ถ้าจัดลำดับจำนวนไม่ตามขนาด แต่ตาม การหารลงตัว ก็จะได้ลำดับบางส่วน
- นิยามว่า $a$ มาก่อน $b$ หาก $a$ หาร $b$ ลงตัว
- ตัวอย่างเช่น $2 \times 5 = 10$ ดังนั้น 2 และ 5 มาก่อน 10 แต่ 3 ไม่มาก่อน 10
- ในลำดับนี้ join คือ ค่าน้อยร่วมมาก และ meet คือ ค่ามากร่วมมาก
-
ลำดับบางส่วนจากการรวมอยู่
- เมื่อมีหลายเซตที่มีสมาชิกบางส่วนร่วมกัน เราสามารถนิยาม inclusion order ได้
- หากเซต $a$ ครอบคลุม $b$ หรือพูดอีกแบบว่า $b$ เป็นสับเซตของ $a$ ก็ถือว่า $a$ มาก่อน $b$
- ในกรณีนี้ join คือ ยูเนียน และ meet คือ อินเตอร์เซกชัน
- ถ้านำสีที่อยู่ในแต่ละเซตมาผสมกัน ก็จะได้โครงสร้างเดียวกับลำดับบางส่วนของการผสมสีที่กล่าวไปก่อนหน้า
- ลำดับการหารลงตัวของจำนวนมีสมสัณฐานกับลำดับการรวมอยู่ของ เซตของจำนวนเฉพาะ หรือ prime powers ที่อนุญาตให้ซ้ำได้
- ข้อนี้ยืนยันได้จากทฤษฎีบทมูลฐานของเลขคณิตที่บอกว่าจำนวนทุกตัวเขียนเป็นผลคูณของจำนวนเฉพาะได้อย่างแน่นอนเพียงแบบเดียว
ทฤษฎีบทการแทนค่าของ Birkhoff
- ทั้งลำดับบางส่วนของการผสมสีและลำดับบางส่วนของการหารลงตัวของจำนวน สามารถแทนได้เป็นลำดับการรวมอยู่ของการจัดชุดที่เป็นไปได้ของ สมาชิกพื้นฐาน บางอย่าง
- ในกรณีแรก สมาชิกพื้นฐานคือแม่สี ส่วนกรณีหลังคือจำนวนเฉพาะหรือกำลังของจำนวนเฉพาะ
- ทฤษฎีบทที่กำหนดว่าลำดับบางส่วนจำกัดใดสามารถแทนในรูปแบบนี้ได้คือ Birkhoff’s representation theorem
- มีเงื่อนไขสองข้อ
- สำหรับสมาชิกทุกคู่ ต้องมีทั้ง join และ meet
- join และ meet ต้อง แจกแจงกันได้ หากใช้สัญลักษณ์ $∨$, $∧$ จะได้ว่า $x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z)$
- มีเงื่อนไขสองข้อ
- ลำดับบางส่วนที่สมาชิกทุกตัวมี join และ meet เรียกว่า lattice
- หากการดำเนินการสองอย่างนั้นแจกแจงกันได้ ก็เรียกว่า distributive lattice
- สมาชิก “เชิงจำนวนเฉพาะ” ที่ใช้สร้างลำดับการรวมอยู่ คือสมาชิกที่ไม่สามารถเขียนเป็น join ของสมาชิกอื่นได้ และเรียกว่า join-irreducible elements
- ทฤษฎีบทนี้ยังกล่าวได้อีกแบบว่า distributive lattice ทุกอันสมสัณฐานกับ inclusion order ของ join-irreducible elements ของมันเอง
- ลำดับบางส่วนที่ไม่ใช่ distributive lattice ก็อาจสมสัณฐานกับ inclusion order ได้เช่นกัน แต่ในกรณีนั้นจะสอดคล้องกับ inclusion order ที่ ไม่ได้รวมทุกชุดผสมที่เป็นไปได้ทั้งหมด
แลตทิซ
- lattice คือลำดับบางส่วนที่สมาชิกทุกคู่มีทั้ง join และ meet
- lattice ทุกอันเป็นลำดับบางส่วน แต่ไม่ใช่ทุกลำดับบางส่วนจะเป็น lattice
- ลำดับบางส่วนจำนวนมากที่สร้างจากกฎบางอย่างเป็น distributive lattice และตัวอย่างในส่วนก่อนหน้าหากวาดให้สมบูรณ์ก็จะกลายเป็น distributive lattice ด้วย
- ในตัวอย่างการผสมสี มีการเพิ่มลูกบอลสีดำไว้ด้านบนและลูกบอลสีขาวไว้ด้านล่าง
- หากไม่ทำเช่นนั้น สมาชิกสามตัวด้านบนจะไม่มี join และสมาชิกสามตัวด้านล่างจะไม่มี meet
-
bounded lattice
- lattice ที่มีทั้ง greatest element และ least element เรียกว่า bounded lattice
- ใน color-mixing lattice ลูกบอลสีดำคือ greatest element และลูกบอลสีขาวคือ least element
- ยังมีการกล่าวด้วยว่า lattice จำกัดทุกอันเป็น bounded
สมสัณฐานเชิงลำดับ
- สมสัณฐานเชิงลำดับ คือฟังก์ชัน ผกผันได้ ระหว่างเซตรองรับของลำดับสองอัน และเป็นฟังก์ชันที่รักษาลูกศรของลำดับไว้
- หากใช้ลำดับการหารลงตัวของจำนวนกับลำดับการรวมอยู่ของจำนวนเฉพาะเป็นตัวอย่าง จะประกอบด้วยฟังก์ชันสองตัว
- ฟังก์ชันจากลำดับการรวมอยู่ของจำนวนเฉพาะไปยังลำดับของจำนวนคือ การคูณ สมาชิกในเซตเข้าด้วยกัน
- ฟังก์ชันจากลำดับของจำนวนไปยังลำดับการรวมอยู่ของจำนวนเฉพาะคือ prime factorization ที่แยกจำนวนออกเป็นผลคูณ
- เงื่อนไขสำคัญของสมสัณฐานเชิงลำดับคือ สำหรับสมาชิกสองตัว $a$, $b$ ต้องมี $a \le b$ ก็ต่อเมื่อ $F(a) \le F(b)$
- ฟังก์ชันแบบนี้เรียกว่า order-preserving
พรีออร์เดอร์
- preorder คือโครงสร้างที่ได้จากลำดับเชิงเส้นโดยตัด สภาพปฏิสมมาตร ออก และเหลือเพียง สภาพสะท้อน กับ สภาพถ่ายทอด
- หากมองตามเกณฑ์การเปรียบเทียบ
- ลำดับเชิงเส้นคือ $a \le b$ หรือ $b \le a$
- ลำดับบางส่วนคืออาจเป็นอย่างใดอย่างหนึ่ง หรือไม่เป็นทั้งคู่ก็ได้
- พรีออร์เดอร์คืออาจเป็นอย่างใดอย่างหนึ่ง, ไม่เป็นทั้งคู่, หรือ เป็นจริงทั้งคู่ ก็ได้
- พรีออร์เดอร์ไม่เหมือน “ลำดับ” ในความหมายทั่วไป และอาจมีลูกศรจากจุดใดก็ได้ไปยังอีกจุดหนึ่ง
- มีตัวอย่างการจำลองว่า “ใครชนะใคร” ในฟุตบอล โดยรวมทั้งชัยชนะทางตรงและทางอ้อม
- เพราะสภาพถ่ายทอด ชัยชนะทางอ้อมจะถูกเติมเข้าไปเหมือนเป็นความสัมพันธ์ทางตรง และเมื่อเกิดความสัมพันธ์แบบวนรอบ ผลลัพธ์คือวัตถุหลายตัวเชื่อมถึงกันได้ทั้งหมด
-
พรีออร์เดอร์และความสัมพันธ์สมมูล
- พรีออร์เดอร์เป็นโครงสร้างกึ่งกลางระหว่าง ลำดับบางส่วน กับ ความสัมพันธ์สมมูล
- เพราะส่วนที่ต่างกันคือเรื่อง (ปฏิ)สมมาตร เท่านั้นที่หายไป
- ภายในพรีออร์เดอร์ สมาชิกที่เชื่อมกันได้สองทางจะเป็นไปตาม สมมาตร จึงก่อเป็นความสัมพันธ์สมมูล
- เมื่อนำสมาชิกเหล่านี้มาจัดกลุ่ม จะได้ equivalence classes ของพรีออร์เดอร์
- หากย้ายไปพิจารณาเฉพาะการเชื่อมต่อระหว่างคลาสสมมูล การเชื่อมต่อนั้นจะเป็นไปตาม ปฏิสมมาตร และก่อเป็นลำดับบางส่วน
- ดังนั้นสำหรับพรีออร์เดอร์ทุกอัน เราสามารถนิยาม ลำดับบางส่วนบนคลาสสมมูลของพรีออร์เดอร์นั้น ได้
พรีออร์เดอร์กับทฤษฎีหมวดหมู่
- สภาพถ่ายทอด ของพรีออร์เดอร์คือกฎที่เมื่อมี $a \le b$ และ $b \le c$ แล้วจะได้ $a \le c$ ซึ่งตีความได้เป็น การประกอบ ของความสัมพันธ์
- นิยามของหมวดหมู่มีสองเงื่อนไขต่อไปนี้
- มี มอร์ฟิซึมเอกลักษณ์ สำหรับแต่ละวัตถุ
- สามารถ ประกอบ มอร์ฟิซึมที่เหมาะสมสองตัวได้ และการประกอบนั้นต้องเป็นสมบัติการเปลี่ยนหมู่
- ในพรีออร์เดอร์ สภาพถ่ายทอดทำหน้าที่เป็นการประกอบ และ สภาพสะท้อน ทำหน้าที่เป็นมอร์ฟิซึมเอกลักษณ์
- ดังนั้น พรีออร์เดอร์ทุกอันคือหมวดหมู่
- หมวดหมู่ทั่วไปอาจมีมอร์ฟิซึมได้หลายตัวระหว่างวัตถุสองตัว แต่ในพรีออร์เดอร์จะมี ได้มากสุดหนึ่งมอร์ฟิซึม ระหว่างวัตถุใด ๆ สองตัว
- เพราะมีเพียงกรณีที่ $a \le b$ หรือไม่มี เท่านั้น
- เช่นเดียวกับที่โมนอยด์เป็นหมวดหมู่ที่มีวัตถุเพียงตัวเดียว ลำดับก็สามารถสรุปได้ว่าเป็นหมวดหมู่ที่มีมอร์ฟิซึมได้มากสุดหนึ่งตัวระหว่างวัตถุสองตัว
- ด้วยคุณสมบัตินี้ แผนภาพทุกอันในพรีออร์เดอร์จึงสลับที่ได้
-
คุณสมบัติเชิงหมวดหมู่ของลำดับบางส่วนและพรีออร์เดอร์
- ทั้งลำดับบางส่วนและพรีออร์เดอร์ต่างก็เป็นกรณีพิเศษของพรีออร์เดอร์ จึงเป็นหมวดหมู่เช่นกัน
- พรีออร์เดอร์ถูกกล่าวถึงในทฤษฎีหมวดหมู่ว่าเป็น skeletal categories ซึ่งเป็นหมวดหมู่ที่ไม่มีวัตถุสมสัณฐานกันหลายตัวแยกกันอยู่ร่วมกัน
-
product และ coproduct
- นิยามของ coproduct ในหมวดหมู่ประกอบด้วยมอร์ฟิซึมสองตัว $A \to A + B$, $B \to A + B$ และสมบัติสากล
- รูปแบบนี้ตรงกับนิยามของ join ในลำดับทุกประการ
- ในลำดับ มอร์ฟิซึมทุกตัวมีเอกลักษณ์อยู่แล้ว ดังนั้น “มากกว่า” จึงสอดคล้องกับ “มีมอร์ฟิซึมเอกลักษณ์อยู่”
- ดังนั้น coproduct เชิงหมวดหมู่ในหมวดของพรีออร์เดอร์ก็คือ join
- ด้วยหลักภาวะคู่กัน product จึงสอดคล้องกับ meet
-
นิยามเชิงรูปนัย
- ในทฤษฎีหมวดหมู่ หมวดหมู่ที่เหมือนลำดับ คือมีมอร์ฟิซึมได้มากสุดหนึ่งตัวระหว่างวัตถุสองตัว เรียกว่า thin categories
- พรีออร์เดอร์ทุกอันมองได้ว่าเป็น thin category และในทางกลับกัน หมวดหมู่แบบนั้นก็ตีความเป็นพรีออร์เดอร์ได้
- thin category เป็นบริบทที่เข้าใจง่ายกว่าหมวดหมู่ทั่วไป จึงใช้สำรวจแนวคิดเรื่องหมวดหมู่ได้ดี
- การเข้าใจ meet และ join ยังช่วยให้เข้าใจแนวคิดทั่วไปกว่าอย่าง product และ coproduct ได้ด้วย
- นอกจากนี้ยังเป็นกรอบที่มีประโยชน์เมื่อเราไม่สนใจความแตกต่างระหว่างมอร์ฟิซึมหลายตัวระหว่างวัตถุ และต้องการเพียงโครงสร้างอย่างง่าย
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
[1, 3, 2].sort((a, b) => { if (a > b) { return true } else { return false } })โค้ดแบบนี้ ไม่ใช่ comparator ที่ถูกต้อง API คาดหวังค่าเป็นลบ, 0, หรือค่าบวก แต่โค้ดนี้คืนค่า boolean และบน Chrome ของฉันมันได้ผลลัพธ์เป็น[1, 3, 2]เหมือนเดิม ในสายตาฉัน ความถูกต้องทางคณิตศาสตร์ของบทความก็อยู่ระดับใกล้เคียงกัน และฉันสรุปข้อทักท้วงแบบละเอียดไว้ในคอมเมนต์นี้<=เป็นจริงหรือไม่ แน่นอนว่าต้องใช้เวลาคิดมากกว่าจะคุ้น แต่ในทางกลับกัน ยิ่งดึงมันเข้ามาใช้กับงานประจำวันบ่อย ๆ มันก็จะยิ่งคุ้นมือ แล้วเวลามองเทสต์ คุณจะเริ่มมีสัญชาตญาณแบบว่า "เงื่อนไขนี้คงโมเดลเป็น preorder แบบหนึ่งได้"