คำถามติดแท็ก program-logic

3
วางเฟรมกฎไว้เป็นการเปลี่ยนเซิร์ฟเวอร์หรือไม่
กฎกรอบเช่นหนึ่งที่ระบุด้านล่างจับความคิดที่ว่าได้รับโปรแกรมcที่มีเงื่อนไขpที่ถือก่อนที่จะเรียกและ postcondition qที่ถือหลังจากนั้นบางสภาพเคล็ดrควรถือทั้งก่อนและหลังcวิ่ง (ความ*เกี่ยวพันจำเป็นต้องมีการขัดแย้งกัน) บ่อยครั้งที่ก่อนและหลังมีสถานะของกองและcเป็นโปรแกรมที่มีประสิทธิภาพที่ปรับเปลี่ยนกองในทางใดทางหนึ่ง {p} c {q} ----------------- (where no free variable in r is modified by c) {p * r} c {q * r} การสนทนาเกี่ยวกับกฎของเฟรมที่ฉันได้เห็นดูเหมือนจะเน้นไปที่วิธีการแยกส่วนของกองrไว้ให้คงอยู่ สิ่งนี้ทำให้ "การใช้เหตุผลในท้องถิ่น": เมื่อให้เหตุผลเกี่ยวกับผลกระทบที่cมีเราสามารถเพิกเฉยต่อrส่วนของฮีปและเกี่ยวข้องกับตัวเราเองกับส่วนที่เปลี่ยนแปลงจริงเท่านั้น แต่วิธีการที่จะมองมันอีกอย่างก็คือว่าการเปลี่ยนแปลงจากpการqถูกเก็บรักษาไว้แม้ว่าrตอนนี้นั่งอยู่ที่นั่น ในคำอื่น ๆ มันเป็นสิ่งสำคัญที่เราจบลงด้วย postcondition {q * r}มากกว่าสำหรับบางคนอื่น ๆ{q' * r}q' ดังนั้นคำถามของฉันคือว่ามีการรักษากฎกรอบใด ๆ ที่กล่าวถึงหรือทำให้การใช้การเก็บรักษาของการเปลี่ยนแปลง from- p-to- qสิ่ง

3
ยากแค่ไหนที่จะลดการยกเลิกให้ถูกต้องเพียงบางส่วน
หากคุณมีความคุ้นเคยกับการตรวจสอบโปรแกรมที่คุณมีแนวโน้มที่จะชอบอ่านคำถามก่อนที่จะมีประวัติความเป็นมา หากคุณไม่คุ้นเคยกับการยืนยันโปรแกรมคุณอาจยังสามารถตอบคำถามนี้ได้ แต่คุณน่าจะชอบอ่านแบ็คกราวน์ก่อน พื้นหลัง มันมักจะระบุว่าการตรวจสอบความถูกต้องบางส่วนไม่สามารถตัดสินใจได้ เพื่อการถกเถียงกันขอเลือกหนึ่งวิธีที่เจาะจงมากในการทำให้คำสั่งนี้แม่นยำในรูปแบบของ Floyd - Hoare flowgraphคือเดี่ยวกับที่แตกต่างโหนดเริ่มต้นจากการที่ทุกโหนดสามารถเข้าถึงได้ โปรแกรมเป็น flowgraph มีโหนดมีคำสั่ง มีสามประเภทของคำสั่ง (1) สมมุติฐานสมมติว่า q , (2) การยืนยันยืนยัน qและ (3) การมอบหมาย v: = e ที่นี่qคือสูตร fol (ตรรกะอันดับหนึ่ง) eคือคำศัพท์ fol และvคือตัวแปร เราบอกว่าโปรแกรมนั้นถูกต้องบางส่วนเมื่อมีวิธีการใส่คำอธิบายประกอบแต่ละโหนดxด้วยเงื่อนไขa (x)และ postcondition b (x)เช่นนั้น (1) เงื่อนไขเบื้องต้นของโหนดเริ่มต้นนั้นถูกต้อง (2) { A (x) } x { B (x) } ถือสำหรับทุกคำสั่งxและ …

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