ตัวดำเนินการประตูหมุนชั้นนำหมายถึงอะไร


12

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

ฉันต้องการที่จะรู้ว่าใครรู้ว่าผู้ประกอบการประตูหมุนชั้นนำมีความหมายที่รู้จักกันดี ตัวอย่างเช่นฉันไม่เข้าใจตัวดำเนินการชั้นนำที่จุดเริ่มต้นของตัวส่วนต่อไปนี้:⊢

x:T1⊢t2:T2⊢λx:T1.t2 : T1→T2

มีคนช่วยฉันเข้าใจไหม ขอบคุณ



ว้าวคำถามนี้มีจำนวนการดู "1k" ซึ่งมากกว่าจำนวนรวมของการดูคำถามใหม่ 29 ข้อ! ขณะที่ฉันตรวจสอบแล้วแท็ก "type-theory" และแท็ก "denotational-semantics" ไม่อยู่ในแท็กยอดนิยม 50 อันดับแรก ฉันอยากรู้เกี่ยวกับสาเหตุที่อยู่เบื้องหลังปรากฏการณ์นี้ ฉันไม่มีเงื่อนงำ @DW? ฉันมีคำถามเมตาหรือไม่?
— John L.

ถ้าฉันไม่ผิดคุณจะต้องย้ายผู้ประกอบการหมุน ( ) ในการสรุปของกฎระหว่างและt_2ฉันจะเพิ่มแท็ก⊢λx:T1t2type-checking
— mchar

3
@ Apass.Jack มันสิ้นสุดลงในคำถามเกี่ยวกับเครือข่ายที่ร้อนแรงดังนั้นมันจึงได้รับความสนใจมากขึ้นเพราะสิ่งนั้น
— JAB

คำตอบ:


20

ทางด้านซ้ายของประตูหมุนคุณสามารถค้นหาบริบทท้องถิ่นรายการขอบเขตที่แน่นอนเกี่ยวกับประเภทของตัวแปรที่อยู่ในมือ

x1:T1,…,xn:Tn⊢e:T

ข้างต้นสามารถเป็นศูนย์ที่เกิดใน T ซึ่งหมายความว่าไม่มีการตั้งสมมติฐานเกี่ยวกับตัวแปร โดยปกติแล้วที่นี้หมายถึงว่าเป็นคำปิด (ไม่มีตัวแปรใด ๆ ฟรี) มีประเภทTn⊢e:TeT

บ่อยครั้งที่กฎที่คุณพูดถึงถูกเขียนในรูปแบบทั่วไปที่สามารถมีสมมติฐานได้มากกว่าที่กล่าวถึงในคำถาม

Γ,x:T1⊢t:T2Γ⊢(λx:T1.t):T1→T2

นี่แสดงให้เห็นถึงบริบทใด ๆ และแสดงให้เห็นถึงการขยายได้โดยการผนวกสมมติฐานเพิ่มเติมในรายการ\เป็นเรื่องปกติที่จะต้องให้ไม่ปรากฏในดังนั้นส่วนขยายจึงไม่ "ขัดแย้ง" กับข้อสันนิษฐานก่อนหน้านี้ΓΓ,x:T1x:T1ΓxΓ


7

ในฐานะที่เป็นส่วนเติมเต็มให้กับคำตอบอื่น ๆ โปรดทราบว่ามี "ความหมาย" สามระดับในการพิมพ์ derivations และคำพูดเดียวกันถือด้วยการพิสูจน์เชิงตรรกะเนื่องจากมีการติดต่อกันระหว่างสองคน (เรียกว่าการติดต่อกันของ Curry-Howard)

ความหมายแรกคือลูกศรที่ปรากฏในสูตรและสอดคล้องกับความหมายเชิงตรรกะในสูตร (หรือประเภทฟังก์ชั่นสำหรับ -calculus)λ

ความหมายที่สองปรากฏขึ้นโดยสัญลักษณ์หมุนรอบตัวและหมายถึง "สมมติว่าทุกสูตรทางด้านซ้ายเป็นสูตรทางด้านขวา" โดยเฉพาะอย่างยิ่งกฎที่คุณให้จะบอกว่าเราควรพิสูจน์นัยได้อย่างไร: เพื่อพิสูจน์จากนั้นเราต้องพิสูจน์ภายใต้สมมติฐานที่ว่าถือ ในแง่ของ -calculus เพื่อพิสูจน์ว่ามีประเภทเราต้องแสดงให้เห็นว่ามีประเภทโดยสมมติว่าเป็นตัวแปรประเภท (ดูที่การติดต่อ?)A⇒BBAλλx.tA→BtBxA

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


3

ในประเภทการตรวจสอบระบบการ ( ) แสดงให้เห็นถึงความสัมพันธ์ที่ประกอบไปด้วยสภาพแวดล้อมประเภทการแสดงออกและประเภท:Typ⊢⊢Env×Exp×Typ

ในตัวอย่างของคุณนิพจน์ถูกพิมพ์ที่ประเภท wrt กับสภาพแวดล้อมประเภทที่มีการจับคู่ประเภทกับตัวแปรประเภทt2T2 xT1x

ในบริบทนี้สภาพแวดล้อมประเภทเป็นฟังก์ชั่นบางส่วนที่กำหนดประเภทให้กับตัวแปรมักจะแสดงด้วยโดยที่ แกมมา∈ E n V : V R ⇀ T ปีหน้าΓΓ∈Env:Var⇀Typ

โปรดทราบว่าผู้ประกอบการขอสงวนฟังก์ชันการทำงานโดยไม่คำนึงถึงสถานที่ที่ปรากฏทั้งในสถานที่หรือข้อสรุปของกฎ


-1

ในทุกสถานการณ์ที่ฉันได้เห็นหมายความว่ามีข้อพิสูจน์ของ โดยสมมติว่า  ถือ หาก  ว่างเปล่านั่นหมายความว่า  เป็นคำซ้ำซาก: มีหลักฐานโดยไม่จำเป็นต้องมีข้อสมมติฐานใด ๆY X X YX⊢YYXXY


1
แต่ถ้าสิ่งที่คุณพูดเป็นความจริงมันแปลกเพราะนั่นก็หมายความว่าแถบแนวนอนหมายถึงใช่มั้ย ถ้าด้านบนเป็นจริงด้านล่างจะเป็นจริง ดังนั้นผลจะหมายถึงว่าเป็นจริงดังนั้นเป็นจริงโดยไม่มีเงื่อนไข XYX⊢YXY
— Jim Newton

1
แถบแนวนอนหมายความว่าสิ่งที่อยู่ด้านล่างเป็นการหักจากสิ่งที่อยู่ด้านบนทันที แม้ว่าฉันจะเห็นด้วยว่ามันดูแปลกมากในตัวอย่างของคุณที่ความจริงที่ไม่มีเงื่อนไขมาจากเงื่อนไขที่มีเงื่อนไข ...
— David Richerby

ทฤษฎีประเภทไม่ใช่เหตุผล มันเป็นเรื่องที่เกี่ยวข้องในหลาย ๆ ทางและ (บางส่วนโดยเจตนา) ใช้สัญกรณ์ที่คล้ายกัน แต่ก็ไม่มีการเชื่อมต่อกับความสัมพันธ์ที่พิสูจน์ได้และแน่นอนไม่มีการเชื่อมต่อด้านหลัง (อย่างน้อยก็ไม่สมเหตุสมผลตรรกะจากระยะไกล) อย่างที่เขียนไว้คือคำตอบที่ดีที่สุดทำให้เข้าใจผิดเพราะมันแสดงให้เห็นว่า " " เป็นสูตรที่แทบไม่เคยอยู่ในทฤษฎีประเภทเช่นภาษาที่มีสูตรเช่นคือ โดยทั่วไปไม่ได้อธิบายและมักเป็นไปไม่ได้ในมาตรฐานเมตาตรรกะเช่นสำหรับแคลคูลัสแลมบ์ดาเชิงเส้น ( x : T 1 ) ∨ ( y : T 2 )x:T1(x:T1)∨(y:T2)
— Derek Elkins ออกจาก SE

@DerekElkins มันเป็นระบบพิสูจน์และระบบพิสูจน์เป็น logics เป็นข้อเสนอที่แม่นยำและไม่มีอะไรนอกจากคำกล่าวที่ว่าข้อเสนอนั้นเก็บไว้เมื่อถือ ความจริงที่ว่าความไม่ต่อเนื่องของข้อเสนอไม่ใช่สูตรเป็นเพียงข้อ จำกัด ของไวยากรณ์ของตรรกะ x:TΓ⊢x:TΓ
— David Richerby

มันไม่ใช่แค่ความแตกแยก ไม่มี ,หรือเป็นสูตรเช่นกัน หรือคุณกำลังบอกว่ามันเป็นตรรกะที่มีเพียงข้อเสนออะตอมเท่านั้น ฉันพูดถึงตรรกะเชิงเส้นเป็นตัวอย่าง ในคำสั่งให้ตรรกะเชิงเส้นได้อย่างง่ายดายมากสามารถเป็นกรณีที่ถือในขณะที่ไม่ได้ เครื่องหมายจุลภาคและเชื่อมโยงกันแบบใดที่สอดคล้องกับ "ค่าความจริง" ของ ,และและสร้างพฤติกรรมดังกล่าวข้างต้น มีตัวเลือกหากเมตาลอจิกยังเป็นตรรกะเชิงเส้นที่ได้รับคำสั่งด้วย แต่เราก็ไม่ได้อธิบายอะไรเลย ( x : A ) ∧ ( y : B ) ( x : A ) → ( y : B ) x : A , y : B ⊢ t : C y : B , x : A ⊢ t : C ⊢ x : A y : B t : C¬(x:A)(x:A)∧(y:B)(x:A)→(y:B)x:A,y:B⊢t:Cy:B,x:A⊢t:C⊢x:Ay:Bt:C
— Derek Elkins ออกจาก SE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.