답변:
Mark의 답변을 보여주기 위해 tCoq. 증명에서 우리 k는 유형 의 매개 변수 nat가 주어진 다고 가정합니다 . 우리는 사용 k의 값으로 y경우 x = 0:
Parameter k : nat.
Theorem t : forall x : nat, { y : nat | x <> 0 -> x = S y}.
Proof.
induction x.
exists k; tauto.
induction x.
exists 0; auto.
destruct IHx as [z G].
exists (S z).
intro H.
elim G; auto.
Defined.
우리 t 0는 다음과 같다는 것을 증명할 수 있습니다 k.
Theorem A: projT1 (t 0) = k.
Proof.
auto.
Qed.
이 protT1때문에이 t 0단지 자연수, 실제로 자연 번호가 아닙니다 와 그 증거 0 <> 0 -> 0 = S y와 projT1멀리 증거를 던졌습니다.
t명령 Extraction k으로 얻은에 대한 추출 된 Ocaml 코드는 다음 과 같습니다.
(** val t : nat -> nat **)
let rec t = function
| O -> k
| S n0 -> (match n0 with
| O -> O
| S n1 -> S (t n0))
다시 우리는 볼 수 t 0IS 같 karibtrarily 추정 파라미터이었다.