나는 수학 구성 요소 라이브러리를 사용하고 있는데이 증명하려고에 의존의 형태 오류 : 마지막 재 작성 오류 메시지와 함께 실패 Lemma card_sub_ord (k : nat) (P : nat -> bool) :
#|[set i : 'I_k | P i]| <= k.
Proof.
set S := [set i : 'I_k | P i].
나는 Coq 8.6과 CoqIDE를 리눅스 (우분투 17.04)에 성공적으로 설치했다. 그러나 SSReflect 및 MathComp를이 설치에 추가하기 위해 계속 진행할 필요는 없습니다. 내가 확인한 모든 참고 문헌들은 나에게 매우 혼란스러워 보였다. 누구든지 똑바로 간단하게 그 요리법을 가지고 있습니까? 나는 opam을 설치했다.
다음 코드는 Ssreflect Coq 라이브러리의 perm.v입니다. 이 결과가 무엇인지 알고 싶습니다. Lemma perm_invK s : cancel (fun x => iinv (perm_onto s x)) s.
Proof. by move=> x /=; rewrite f_iinv. Qed.
나는 수학 구성 요소 라이브러리를 사용하여 다음을 증명하려고에 bigops을 포함하는 엄격한 불평등 증명 : 처음 Lemma bigsum_aux (i: 'I_q) (j: 'I_q) (F G : 'I_q -> R):
(forall i0, F i0 <= G i0) /\ (exists j0, F j0 < G j0) ->
\sum_(i < q)
빈 범위 증거가 나는 형태로 목표를 증명해야 : forall x: ordinal_finType m, P x
내가 내 스택 Hm: m = 0이 경우 현재 오전, 그래서 이것은 본질적으로 이상 forall입니다 빈 집합입니다. 이 경우 어떻게 진행할 수 있습니까? case => x.
를 사용하여 forall i : (x < m)%N, P i
나를 잎
Coq에서 반사를 위해 MathComp 라이브러리를 사용하는 간단한 간단한 증명에 문제가 있습니다. 내가이 보조 정리를 증명한다고 가정 : From mathcomp Require Import ssreflect ssrbool ssrnat.
Lemma example m n: n.+1 < m -> n < m.
Proof.
have predn_lt
기본적으로 일부 인스턴스 (예 : 3 x^2 + 2 x +1 및 2 x +1)에서 의사 다항식 나누기의 결과를 관찰하고 싶습니다. 다항식 사이의 의사 구분은 Ssreflect 1.4의 polydiv.v에서 edivp에서 구현됩니다. 코드는 다음과 같아야합니다. Require Import ssreflect ssrfun ssrbool eqtype ssrnat
Coq 8.7은 대중적인 Ssreflect 라이브러리를 통합합니다. 나는 그것이 Unable to locate library ssrnat with prefix Coq의 불평 ssrnat 가져올 때, 그러나 From Coq Require Import ssreflect ssrfun ssrbool.
, 그리고 나도 디스크에 COQ 분포 ssrnat을 찾을 수