การพิสูจน์ความซ้ำซากกับ coq


12

ปัจจุบันฉันต้องเรียนรู้ Coq และไม่ทราบวิธีจัดการกับor:

ตัวอย่างง่ายๆอย่างที่ฉันไม่เห็นวิธีที่จะพิสูจน์:

Theorem T0: x \/ ~x.

ฉันจะขอบคุณมันจริงๆถ้ามีคนช่วยฉันได้

สำหรับการอ้างอิงฉันใช้สูตรโกงนี้

ตัวอย่างของการพิสูจน์ที่ฉันมีอยู่ในใจ: นี่คือการปฏิเสธคู่:

Require Import Classical_Prop.

Parameters x: Prop.

Theorem T7: (~~x) -> x. 
intro H. 
apply NNPP. 
exact H. 
Qed.

NNPPชนิด 'คือดังนั้นมันโกงจะใช้มันเพื่อพิสูจน์forall p:Prop, ~ ~ p -> p. T7เมื่อคุณนำเข้าClassical_Propคุณจะได้รับAxiom classic : forall P:Prop, P \/ ~ P.
Anton Trunov

ดังนั้นแก้เป้าหมายของคุณสำหรับapply classic. T0
Anton Trunov

คำตอบ:


14

คุณไม่สามารถพิสูจน์ได้ใน Coq "วานิลลา" เพราะมันขึ้นอยู่กับตรรกะของสัญชาตญาณ :

จากมุมมองของทฤษฎี - พิสูจน์ตรรกะปรีชาญาณเป็นข้อ จำกัด ของตรรกะคลาสสิกที่กฎหมายของการยกเว้นการกำจัดกลางและการปฏิเสธสองครั้งไม่ได้เป็นกฎตรรกะที่ถูกต้อง

มีหลายวิธีที่คุณสามารถจัดการกับสถานการณ์เช่นนี้

  • แนะนำกฎของการยกเว้นตรงกลางเป็นความจริง:

    Axiom excluded_middle : forall P:Prop, P \/ ~ P.
    

    ไม่จำเป็นต้องพิสูจน์อะไรอีกหลังจากจุดนี้

  • แนะนำความจริงที่เทียบเท่ากับกฎของการยกเว้นตรงกลางและพิสูจน์ความเท่าเทียมกัน นี่เป็นเพียงตัวอย่างเล็ก ๆ น้อย ๆ


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

1
@AntonTrunov คุณต้องเพิ่มวงเล็บในของคุณAxiom peirceเนื่องจากมันไม่ใช่กฎของ Peirce (และในความเป็นจริงtrivialเพื่อพิสูจน์)
gallais

@ แกลลอรี่ขอขอบคุณที่จำได้! แก้ไขแล้ว.
Anton Trunov

6

ตามที่คนอื่นแจ้งให้คุณทราบว่าการออกเสียงซ้ำซากของคุณไม่ใช่การออกเสียงซ้ำซากเว้นแต่ว่าคุณจะใช้ตรรกะแบบดั้งเดิม แต่เนื่องจากคุณกำลังทำ tautologies ค่าความจริง decidable คุณสามารถใช้แทนbool Propจากนั้นคุณจะได้รับ:

Require Import Bool.

Lemma how_about_bool: forall (p : bool), Is_true (p || negb p).
Proof.
  now intros [|].
Qed.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.