Bằng chứng không liên quan nói chung không được ngụ ý bởi lý thuyết đằng sau Coq. Ngay cả bằng chứng không liên quan đến bình đẳng cũng không được ngụ ý; nó tương đương với tiên đề K Streicher của . Cả hai có thể được thêm vào như tiên đề .
Có những sự phát triển trong đó hữu ích để lý luận về các đối tượng bằng chứng, và bằng chứng không liên quan làm cho điều này trở nên không thể. Có thể cho rằng những sự phát triển này nên có tất cả các đối tượng mà cấu trúc của nó có vấn đề được đúc lại Set
, nhưng với lý thuyết Coq cơ bản thì khả năng là có.
Có một cặp con quan trọng của sự không liên quan bằng chứng luôn luôn giữ. Tiên đề K của Strerich luôn giữ các miền có thể quyết định, tức là bằng chứng bình đẳng trên các tập hợp có thể quyết định là duy nhất. Bằng chứng chung là trong Eqdep_dec
mô-đun trong thư viện tiêu chuẩn Coq. Đây là định lý của bạn như một hệ quả (bằng chứng của tôi ở đây không nhất thiết là thanh lịch nhất):
Require Bool.
Require Eqdep_dec.
Theorem bool_pirrel : forall (b : bool) (p1 p2 : b = true), p1 = p2.
Proof.
intros; apply Eqdep_dec.eq_proofs_unicity; intros.
destruct (Bool.bool_dec x y); tauto.
Qed.
Đối với trường hợp đặc biệt này, đây là một bằng chứng trực tiếp (lấy cảm hứng từ bằng chứng chung trong Eqdep_dec.v
). Đầu tiên, xác định chúng tôi xác định một bằng chứng chính tắc về true=b
(như thường lệ trong Coq, việc có hằng số đầu tiên dễ dàng hơn). Sau đó chúng tôi cho thấy rằng bất kỳ bằng chứng nào true=b
phải có refl_equal true
.
Let nu b (p:true = b) : true = b :=
match Bool.bool_dec true b with
| left eqxy => eqxy
| right neqxy => False_ind _ (neqxy p)
end.
Lemma bool_pcanonical : forall (b : bool) (p : true = b), p = nu b p.
Proof.
intros. case p. destruct b.
unfold nu; simpl. reflexivity.
discriminate p.
Qed.
Nếu bạn thêm logic cổ điển vào Coq, bạn sẽ nhận được bằng chứng không liên quan. Nói một cách trực quan, logic cổ điển mang đến cho bạn một lời tiên quyết cho các đề xuất và điều đó đủ tốt cho tiên đề K. Có một bằng chứng trong mô-đun thư viện tiêu chuẩn Coq Classical_Prop
.