"종속적 인 코 프로덕트 유형"을 가질 수 있습니까?


14

나는 HoTT 책을 읽고 있는데 장 1의 내용에 대해 (아마도 순진한) 질문이 있습니다.

이 장에서는 함수 유형 를 소개 한 다음 를 종속 시켜 일반화합니다 이를 종속 함수 유형 이라고합니다 .

f:AB
Bx:A
B:AU,g:x:AB(x)

다음으로이 장에서는 제품 유형 를 소개 한 다음 를 종속 시켜 일반화합니다 그리고이를 종속 쌍 유형 이라고합니다 .

f:A×B
Bx:A
B:AU,g:x:AB(x)

여기서 패턴을 확실히 볼 수 있습니다.

다음 으로이 장에서는 coproduct 유형 및 ... combobreaker 를 소개합니다 .이 유형의 종속 버전에 대한 설명은 없습니다.

f:A+B

그것에 대한 근본적인 제한이 있습니까? 아니면 책의 주제와 관련이 없습니까? 어쨌든 누군가 기능과 제품 유형에 대한 직관을 도와 줄 수 있습니까? 이 두 가지를 특별하게 만들어서 종속 유형으로 일반화 한 다음 다른 모든 것을 만드는 데 사용되는 것은 무엇입니까?

답변:


18

종속 합은 데카르트 곱 와 보조 곱 의 일반적인 일반화입니다 . HoTT 책 은 부울 유형을 먼저 정의 할 필요가 없기 때문에 를 일반화하여 종속 합계를 도입 합니다.A×B A+BA×B

코 프로덕트는 종속 합계의 특수한 경우입니다. 유형 와 에 대해 및 정의 된 유형 패밀리 . 종속 합 는 와 같습니다 . 그런데 를 종속 제품 있습니다.ABP:boolUP(false)=AP(true)=Bb:boolP(b)A+BA×Bb:boolP(b)

제품 및 기능 유형에서 특별한 점을 묻습니다. 과 가 "필요한" 이유는 여러 가지가 있습니다 . 논리의 관점에서, 그것들은 형식에 따른 제안에 의해 와 에 대응하기 때문에 필요하다. 그러나 질문은 " 와 은 왜 필요한가?" 범주 이론의 관점에서, 및 는 대체에 대한 왼쪽과 오른쪽이기 때문에 필요합니다. 더 알고 싶으면 더 안전한 질문을하십시오.


여보세요. " 및 는 왼쪽과 오른쪽에 자막에 붙어 있습니다."를 표시하는 방법을 물어볼 수 있습니까? 어떤 카테고리가 사용됩니까?
ChoMedit

대체는 대각선 functor와 같고 는 인덱스 범주로 작동합니다. 그런 다음 추정되는 범주가 유형 범주 일 수 있습니다. A
ChoMedit

1

소프트웨어 엔지니어링에 대해 더 이야기하겠습니다.

후자 생성자 가 이전 생성자 를 참조 할 수있는 보조 제품 유형에 대해 이야기하고 있습니까 (후자 필드 가 이전 생성자 를 참조 할 수있는 제품과 매우 유사 함 )? 이는 HIT가 도입 된 후 Agda에서 가능합니다 (버전 2.6.0).

-- Auxiliary definition: Nat
data Nat : Set where
  zero : Nat
  succ : Nat -> Nat

-- The HIT I was talking about
data Int : Set where
  positive : Nat -> Int
  negative : Nat -> Int
  -- Note this constructor uses `positive` and `negative`.
  zeroPath : positive zero ≡ negative zero

다음으로 이 글을 당신의 유형 검사기 검사 정의 구문 그림에서 제시 "(26)"을 사용하여 정의 된 경우, 나는 그것이 "의존 로서도"를 지원하는 것은 매우 간단합니다 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.