Coq를 배우고 있으며, 처음으로 ring
전술을 사용해야합니다. Require Ring.
또는 Require ArithRing.
뒤에 목표를 가지고있는 방정식의 오른쪽을 단순화하기 위해 사용했지만 Coq는 존재하지 않는 참조를 취합니다. 나는 (내가 ring
과 ring_simplify
여러 번 시도) 여기에 코드 내 조각을 복사CoqIde의 "Ring"전술이 허용되지 않습니다.
Lemma sum_n_p : forall n, 2 * sum_n n + n = n * n.
(* sum_n n is inductively defined as the sum of all numbers between 1 and n *)
Proof.
intros n.
induction n as [ |m IHm].
+simpl.
reflexivity.
+assert (SnSn : S m * S m = m * m + 2 * m + 1).
ring_simplify in [S m * S m = m * m + 2 * m + 1]. (*or just ring. , neither works*)
rewrite SnSn.
rewrite <- IHm.
simpl.
ring.
Qed.
다음 번 팁을위한 간단한 팁 : 완전한 작동 예제를 제공하여보다 쉽게 도움을 얻을 수 있도록하십시오. (당신은'sum_n'의 정의를 포함하지 않았습니다.) –