การให้เหตุผลเกี่ยวกับการวนลูปที่ไม่สิ้นสุด


10

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

พื้นหลัง

ฉันต้องการที่จะสร้างแบบจำลองในขณะที่ภาษาที่มีไม่ใช่ระดับ ฉันคิดว่านี่เป็นวิธีที่ชัดเจน (หรืออย่างน้อยก็ไร้เดียงสา) ในการสร้างแบบจำลองภาษาดังกล่าวกับโดเมน Power Smyth แต่แก้ไขให้ถูกต้องถ้าฉันผิด เราจะสร้างแบบจำลองความหมายของคำสั่งในภาษานี้เป็นฟังก์ชั่นที่มีโดเมนเป็นชุดSของรัฐและที่มีรหัสเป็นชุดP(S)={}P(S)โดยที่เป็นองค์ประกอบน้อยที่สุด คิดเป็นไม่ใช่การเลิกจ้างและP(S)เป็นมหาอำนาจแห่งรัฐ

σ{σ1,σ2,}PQ

  • skipσ={σ}
  • x:=Eσ={σ[(Eσ)/x]}
  • abortσ=
  • if E then P else Qσ=Pσถ้าEσ=trueมิฉะนั้นQσ
  • PQσ=ถ้าPσ=หรือQσ=มิฉะนั้นPσQσ
  • P σ = Q τ = τ P σ τ P σQ τP;Qσ=ถ้าหรือสำหรับมิฉะนั้นPσ=Qτ=τPστPσQτ

มีคำสั่งบางส่วนที่สมบูรณ์โดยที่สำหรับและถ้าทั้งและเป็นเซตที่เหมาะสมและและเราสามารถขยายสิ่งนี้ไปยังฟังก์ชั่นจากถึงจุด:ถ้าสำหรับทุก ๆและเป็นฟังก์ชั่นที่แมทุกรัฐจะ\S ' S 'P ( S ) S 1S 2 S 1 S 2 S 1S 2S P ( S ) 12 1 ( σ ) 2 ( σ ) σ SSP(S)S1S2S1S2S1S2fSP(S)f1f2f1(σ)f2(σ)σf

ความหมายของลูปคือเป็นขอบเขตบนสุดของโซ่ , ที่ถ้า ,ถ้าหรือบางมิฉะนั้นtau) (คำจำกัดความนี้อนุมานว่าฉันเพิ่งนิยามไว้คือ Scott ต่อเนื่อง แต่ฉันคิดว่ามันปลอดภัยที่จะละทิ้งสิ่งนั้นไว้)( ) F ( F ( ) ) ... ( กรัม) ( σ ) = { σ } E ( σ ) = F ลิตรs อีP σ = while E do Pσff(f)f(f(f))f(g)(σ)={σ}E(σ)=falsePσ=τ P σ τ P σกรัม( τ ) g(τ)=τPστPσg(τ)f

คำถาม

พิจารณาโปรแกรมนี้:

b : = t r u e ; w h i l e b d ox:=0;
b:=true;
while b do
x:=x+2;
b:=falseb:=true

สังหรณ์ใจนี้เป็นวงที่สามารถกลับจำนวนแม้แต่บวกใด ๆ หรือไม่ยุติและสอดคล้องกับสิ่งที่เราสามารถพิสูจน์เกี่ยวกับวงนี้โดยใช้เงื่อนไขเสรีนิยมที่อ่อนแอที่สุดว่า (มันเป็นไปได้ที่จะแสดงให้เห็นว่าเป็นห่วง คงที่) แต่เนื่องจากห่วงมีความสามารถที่จะไม่ยุติ (เราสามารถปรับแต่งเป็นทางเลือกที่ไม่ได้กำหนดโดยโปรแกรมที่มักจะใช้สาขาขวามือ) ความหมายของโปรแกรมนี้ใดก็ตามสถานะเริ่มต้นคือ\(ไม่เป็นทางการน้อยกว่า: ฟังก์ชันที่แมปสถานะใด ๆ ที่เป็นเท็จกับตัวเองและสถานะใด ๆ ที่เป็นจริงกับเป็นจุดคงที่ของใช้เพื่อกำหนดลูป)b b fn.x=2nbbf

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


4
ฉันคิดว่าการใช้เป็นโคโดเมนของความหมายของโปรแกรมคุณได้ให้เหตุผลอย่างสมบูรณ์เกี่ยวกับโปรแกรมที่สามารถแยกความแตกต่างได้ ความคิดที่ไร้เดียงสาคือการใช้แต่ฉันไม่รู้ว่าจะนำปัญหาอื่นมาใช้หรือไม่ P ( S { } ){}P(S)P(S{})
Tsuyoshi Ito

ใช่คุณถูกต้องอย่างแน่นอนที่ดูเซตมันชัดเจนอยู่แล้วว่าความหวังจะหายไปก่อนที่เราจะไปถึงตัวอย่าง ข้อเสนอแนะของคุณก็เกิดขึ้นกับฉันเช่นกัน แต่ฉันคิดว่าคุณจบลงด้วยปัญหาเดียวกันในตัวอย่างนี้ตราบใดที่ไม่ใช่แบบจำลองและถ้า เราเลือกอันหลังมันจะรบกวนความสามารถของเราในการให้ความหมายกับลูปเป็นจุดคงที่น้อยที่สุดตามปกติ S { } { }{}P(S)S{}{}
Rob Simmons

คุณเคยดู Dynamic Logic ไหม? ความหมายถูกกำหนดในแง่ของความสัมพันธ์จากรัฐถึงอเมริกาและคุณสามารถใช้ตรรกะเพื่อเหตุผลเกี่ยวกับความถูกต้องบางส่วนและทั้งหมดซึ่งก็คือคุณสมบัติของการคำนวณที่สิ้นสุดลงและการคำนวณทั้งหมดสิ้นสุดลงด้วยคุณสมบัติที่กำหนด
Dave Clarke

ฉันไม่ได้คิดถึงตรรกะแบบไดนามิกในการตั้งค่านี้ แต่ฉันเห็นว่ามันเกี่ยวข้องกันอย่างไร - ฉันจะเห็นว่า Platzer และนักเรียนของเขาคิดอย่างไรเมื่อฉันกลับมาที่พิตต์สเบิร์ก
Rob Simmons

คำตอบ:


10

ใน [dB80] ฮิตช์ค็อกและปาร์ควิเคราะห์คุณสมบัติการสิ้นสุดของการเรียกซ้ำจะพิสูจน์ให้สอดคล้องกับการวิเคราะห์ความหมายขึ้นอยู่กับการตีความ Egli-มิลเนอร์ที่เรียกว่าความสัมพันธ์ [Egl75, Plo76] ซึ่งเป็นการแสดงออกถึงความเอาแน่เอานอนไม่นิยม ความคิดนี้จับได้ว่าการรวมกันแบบสัมพันธ์แบบไม่สัมพันธ์กันนั้นถูกต้องถ้ามันสร้างการคำนวณอย่างน้อยหนึ่งครั้งที่นำไปสู่ผลลัพธ์ที่ต้องการ (แม้จะมีการคำนวณแบบไม่สิ้นสุด) สิ่งนี้ดูเหมือนจะสอดคล้องกับสิ่งที่คุณพยายามทำ

ต่อไปจะอธิบายลักษณะความหมายของคำสั่งในฐานะที่เป็นฟังก์ชั่น การทำแผนที่แต่ละสถานะเริ่มต้นไปยังชุดของรัฐที่อาจมีเช่นนั้นนั้นเข้มงวดในแง่ที่ว่า . ทางเลือก nondeterministic ระหว่างงบและอธิบายโดยฟังก์ชั่นการทำแผนที่แต่ละรัฐเริ่มต้นสหภาพผลแต่ละซิก) ดังนั้นเมื่อใดก็ตามที่หรือS σ S S ( ) = { } S 1 S 2 σ S 1 ( σ ) S 2 ( σ ) S 1 S 2SfSσfSfS()={}S1S2σfS1(σ)fS2(σ)S1S2มีความเป็นไปได้แบบ nondeterministic ในการสร้างผลลัพธ์ที่ไม่พึงประสงค์จากนั้นจึงเลือก nondeterministic ในฐานะที่เป็นชุดสุดท้ายของรัฐสุดท้ายหนึ่งได้รับในการวิเคราะห์นี้เรียกว่ามหาเศรษฐี Egli - Milner powerset ของรัฐ:

}PE--M(S)={ sS | sมี จำกัด และไม่มีข้อ จำกัด หรือมี}

ทำไมเซตย่อยที่ไม่สิ้นสุดของไม่ถือว่าเป็นเซตสุดท้ายของสถานะในโมเดลนี้ ภายใต้สมมติฐานที่ว่าหน่วยการสร้างพื้นฐานทั้งหมดของข้อตกลงเชิงสัมพันธ์จะสร้างชุดสุดท้ายที่เป็นไปได้ที่ไม่มีขอบเขตและไม่ จำกัด สำหรับรัฐสุดท้ายเท่านั้น สามารถมองเห็นได้ดังนี้ จัดโครงสร้างชุดการคำนวณที่เป็นไปได้ทั้งหมดที่เริ่มต้นใน stateเป็นที่มี root และสถานะเป็นโหนด ชุดใบไม้เป็นชุดสุดท้ายของสถานะสุดท้ายที่สามารถเข้าถึงได้จากยกเว้นσ 0 σ 0 σ 0Sσ0σ0σ0ซึ่งอาจหายไปในหมู่ใบไม้ แต่เป็นตัวแทนในชุดสุดท้ายของสหรัฐฯโดยความจริงที่ว่ามีเส้นทางที่ไม่มีที่สิ้นสุดในต้นไม้ จากการสันนิษฐานข้างต้นและเนื่องจากมีเพียงตัวเลือกที่ จำกัด เท่านั้นที่มีให้เลือกต้นไม้นี้จึงแตกแขนงอย่างประณีต ดังนั้นจึงมีเพียงจำนวน จำกัด ของใบที่ระดับความลึกใด ๆ ที่กำหนด ดังนั้นจำนวนอนันต์สุดท้ายที่เป็นไปได้สามารถสร้างได้ต่อหน้าการคำนวณที่ไม่มีที่สิ้นสุด (การประยุกต์ใช้บทแทรกของKönig [Kön32])

E - M s , t P E - M ( S )(PE--M(S),E--M)เป็นตำแหน่งสำหรับ กำหนดโดย: สำหรับ ,E--Ms,tPE--M(S)

sE--Mt=(ss{}t)(ss=t) .

นี่สามารถมองเห็นเป็นตัวยึดผ่านที่ ชุด -greater สามารถสร้างขึ้นโดยการใส่รัฐมากขึ้นแทนการ\ดังนั้นเป็นองค์ประกอบน้อยM}}) นอกจากนี้ posetครอบครอง lub สำหรับ -chains ในทำนองเดียวกันฟังก์ชั่นที่เข้มงวดจาก ถึงได้รับคำสั่งบางส่วนโดยการขยายจุดของ--M}} ยิ่งไปกว่านั้นฟังก์ชั่นที่น้อยที่สุดคือE - M{ } ( P E - M ( S ) , E - M ) ( P E - M ( S ) , E - M ) ω S { } P E --M ( S ) E - M λ σ { } ωE--M{}(PE--M(S),E--M)(PE--M(S),E--M)ωS{}PE--M(S)E--Mλσ.{}และ lub ของ -chains ของฟังก์ชันดังกล่าวมีอยู่ด้วยเช่นกันω

[dB80] JW de Bakker ทฤษฎีทางคณิตศาสตร์ของโครงการความถูกต้อง ศิษย์โถง 2523

[Egl75] H Egli แบบจำลองทางคณิตศาสตร์สำหรับการคำนวณแบบ nondeterministic รายงานทางเทคนิค, ETH Zürich, 1975

[Kön32] D König Theorie der endlichen และ Unendlichen Graphen รายงานทางเทคนิคไลพ์ซิก 2475

[Plo76] GD Plotkin การสร้างพลังงานโดเมน วารสารสยามเกี่ยวกับการคำนวณ , 5 (3): 452-487, 1976

ข้อจำกัดความรับผิดชอบ: สิ่งนี้ถูกนำมาเกือบทุกคำจากหนังสือที่ฉันเคยเขียนร่วม:

WP de Roever และ K Engelhardt ข้อมูลการปรับแต่ง: Model-Oriented วิธีการพิสูจน์และการเปรียบเทียบของพวกเขา สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์, 2541


4
วลี "นี้ถูกนำมาเกือบทุกคำจากหนังสือที่ฉันเคยเขียนร่วม" น่าจะนำหน้าด้วย "Extra Awesomeness:" ไม่ใช่ "คำเตือน:" :-D ขอบคุณสิ่งนี้มีประโยชน์มาก
Rob Simmons

วิธีหนึ่งในการดู nondeterminism (และวิธีที่ฉันต้องการมองมัน) คือมันเป็นรูปแบบของการเน้นย้ำ - โปรแกรมที่มีตัวเลือก nondeterministic นั้นถูกปรับปรุงโดยโปรแกรมที่ใช้ตัวเลือกแรกเสมอใช้ตัวเลือกที่สองเสมอ หรือ (ดูการทำงานที่กว้างขวาง McIver และมอร์แกนในพื้นที่นี้โดยเฉพาะ) โปรแกรมที่จะใช้เวลาหนึ่งทางเลือกหรืออื่น ๆ ที่มีความน่าจะเป็น 0.5 ดังนั้นห่วงว่าไม่ใช่ deterministically ไม่ยุติคือการกลั่นโดยวงที่ไม่เคยสิ้นสุดและยังห่วงโดยเหรียญพลิกของคุณที่สิ้นสุด (ที่มีความน่าจะเป็น 1)
ร็อบซิมมอนส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.