동일한 인덱스 유도 유형은 동일한 인덱스를 의미합니다.


9

foo색인을 생성 한 유도 형을 보자 x : X.

Parameter X : Type.

Inductive foo : X -> Type :=
| constr : forall (x : X), foo x.

foo x = foo y암시하는 경우 궁금 합니다 x = y. 이것을 증명하는 방법에 대한 아이디어가 없습니다.

Lemma type_equality_implies_index_equality : forall (x y : X), foo x = foo y -> x = y.

이것이 입증 될 수 없다면 왜?

답변:


8

증명할 수 없습니다. 우리가 설정할 때 다음과 같은 정리의 특별한 경우를 고려하십시오 X := bool.

foo true = foo false -> true = false

truefalse다른 점을 감안할 때 , 정리가 입증 될 수 있다면 그것을 보여줄 수 foo true있고 foo false달라야합니다. 문제는이 두 가지 유형이 동형이라는 것입니다 .

Inductive foo : bool -> Type :=
| constr : forall (x : bool), foo x.

(* An isomorphism between foo true and foo false *)
Definition foo_t_f (x : foo true) : foo false := constr false.
Definition foo_f_t (x : foo false) : foo true := constr true.

(* Proofs that the functions are inverses of each other *)
Lemma foo_t_fK x : foo_f_t (foo_t_f x) = x.
Proof. unfold foo_f_t, foo_t_f. now destruct x. Qed.

Lemma foo_f_tK x : foo_t_f (foo_f_t x) = x.
Proof. unfold foo_f_t, foo_t_f. now destruct x. Qed.

Coq의 이론에서는 여분의 공리를 가정하지 않고 두 가지 동형 형태가 다르다는 것을 보여주는 것은 불가능합니다. 이것이 동성애 형 이론 과 같은 Coq 이론의 확장 이 건전한 이유 입니다. HoTT에서 동형 형태는 동일하게 표시 될 수 있으며 정리를 증명할 수 있으면 HoTT가 일치하지 않습니다.


머리가 아프지 만 생각합니다. "코크의 이론에서 여분의 공리를 가정하지 않고 두 가지 동형 형태가 다르다는 것을 보여줄 수는 없습니다." ?
tom

그리고 보여줄 수 (x <> y) -> (foo x <> foo y)있습니까? 나는 배제 된 중간의 원칙없이이 세상에서 정말로 혼란 스럽다.
tom

내가 아는 가장 좋은 참고 문헌은 (아마도 가장 접근하기 쉽지는 않지만) Hofmann과 Streicher의 논문 "유형 이론의 그룹 형 해석"입니다. 호프만 (Hofmann)이 말한 것처럼 ( ncatlab.org/homotopytypetheory/files/HofmannDMV.pdf ), 동형 타입이 같은 Martin-Löf 타입 이론의 사운드 확장을 가질 수 있습니다. 이 결과는 Coq의 이론에도 적용됩니다.
Arthur Azevedo De Amorim

그리고 반대되는 것을 보여줄 수는 없습니다. 내가 참과 거짓으로 제시 한 반례도 그 진술과 모순된다.
Arthur Azevedo De Amorim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.