우리는 종종 추론 규칙에 따라 객체 를 정의하려고합니다 . 이러한 규칙 은 단조 일 때 최소 고정 점 μ F를 생성하는 생성 함수 F 를 나타냅니다 . 우리는 걸릴 을 : = μ F 의 “유도 정의”로 . 더욱이 F의 단 조성은 “유도 원리”로 추리하여 집합에 A 가 포함 된시기 (즉, 속성이 A에 보편적으로 보유되는 시기)를 결정할 수있게한다 .
COQ의 기록이 대응 의 정의 을 명시 도입 용어. 이 정의는 특정 함수 F를 나타내지 만, 그 함수가 반드시 단조로운 것은 아닙니다. 따라서 Coq는 정의의 “잘 구성된”을 보장하기 위해 일부 구문 검사를 사용합니다. 근사 적으로, 소개 용어의 유형에서 음의 위치에서 A의 발생을 거부합니다 .
(이 시점까지 나의 이해에 결함이 있다면, 수정 해주세요!)
먼저 Coq와 관련하여 몇 가지 질문이 있습니다.
1) Coq의 구문 검사는 단지 의 정의 가 예측 적임을 보장하는 역할을 하는가? (그렇다면, 비정 형성이 정의를 잘못 정의하는 유일한 방법입니까?) 아니면 단 조성을 검사하고 있습니까? (따라서, 비단 조성이 무엇이 그것을 죽일 수 있습니까?)
2) 의 부정적 발생이 반드시 A 의 정의가 비 증식 적이거나 비단 조적 임을 암시 하는가? 아니면 Coq가 그 경우 잘 정의되어 있는지 확인할 수 없습니까?
그리고 더 일반적으로 :
3) 귀납적 정의의 우선 순위와 그 정의 생성 함수의 단일성 사이의 관계는 무엇인가? 그들은 같은 동전의 양면입니까? 그들은 관련이 없습니까? 비공식적으로, 어느 것이 더 중요한가?
답변
아닙니다.이 경우 확률과 단 조성은 밀접한 관련이 없습니다.
Coq / Adga의 양성 검사는 대략 단조로운 것의 고정 점이 가장 적은 것을 확인하는 역할을합니다.
다음은 격자와 모노톤 연산자로 유도 형을 생각하는 방법입니다. Knaster-Tarski 정리는 완전한 격자 에서 모든 모노톤 연산자 f : L → L 은 최소 고정 점 μ ( f )를 가짐을 기억 합니다. 다음으로 유형 이론의 유형을 확률에 따라 격자를 형성하는 것으로 생각할 수 있습니다. 즉, 입력 S는 아래 T 의 경우 진실 S는 그 수반 T . 이제 우리는 타입에 대해 모노톤 연산자 F 를 취하고 Knaster-Tarski를 사용 하여이 연산자의 고정 소수점을 해석하는 것입니다
.
그러나 유형 이론의 유형은 단순한 격자가 아니라 범주를 형성합니다. 두 종류의 주어 그 와 T를 , 가능성이있는 여러 방안 S 이하로 T 각 증거에 대한 하나의 방법으로, E : S → T는 . 따라서 형식 연산자 F 도 이러한 증명에 대해 합리적인 작업을 수행해야합니다. 단 조성의 적절한 일반화는 기능 입니다. 즉, 우리는 F 가 유형에 대한 연산자를 갖기를 원하며 e : S → T 이면 F (
.
이제 기능과 합에 의해 기능이 보존됩니다 (즉, 와 G 가 유형에 대한 endofunctors이면 F + G 와 F × G (포인트 방식으로 행동)도 유형에 대한 functors입니다. 그러나 지수 바이 펀터 F → G 는 왼쪽 인수에 반 변하기 때문에 함수 공간에 의해 보존되지 않으므로 유도 형 정의를 작성할 때 최소 고정 점을 취하도록 펑터를 정의합니다. 그것이 실제로 functor인지 확인하려면 함수 공간의 왼쪽에서 재귀 매개 변수의 발생을 배제해야합니다. 따라서 양성 검사.
즉석 로직 (시스템 F의 의미에서)은 일반적으로 피할 수 없습니다. 고전적인 논리와 집합 이론적 모델 중에서 선택하도록하는 원리이기 때문입니다. F 스타일 인덱싱이있는 경우 클래식 집합 이론에서 유형을 집합으로 해석 할 수 없습니다. (레이놀즈의 유명한 “다형성은 설정 이론이 아니다”를 참조하십시오.)
F- 스타일의 불확실성은 범주와 용어의 범주가 작은 완전한 범주를 형성한다고 말합니다 (즉, 호와 객체가 모두 세트이며 모든 작은 다이어그램의 한계가 존재 함). 고전적으로 이것은 카테고리를 포셋으로 만듭니다. 많은 구성 론자들은 이론 이 단지 고전적인 논리보다 더 많은 시스템 에서 유지되기를 원하기 때문에 건설적이다 . 그러므로 그들은 즉흥적 다형성의 소극적이다.
그러나 다형성 (polymorphism)을 사용하면 유형 이론 내부에서 고전적으로 “큰”많은 조건을 말할 수 있으며 양성도 그 중 하나입니다! 다형성 항을 생성 할 수있는 경우 유형 연산자 는 함수입니다.
이것이 기능에 어떻게 해당되는지보십시오. IMO는 일반적인 프로그래밍을 훨씬 쉽게 수행 할 수 있기 때문에 Coq에서 사용할 수있는 매우 좋은 옵션입니다. 양성 검사의 구문 적 특성은 일반적인 프로그래밍에 큰 장애가되고,보다 유연한 기능적 프로그램에 대한 고전적 공리의 가능성을 거래하게되어 기쁩니다.
편집 : 당신이 소유하고 설정의 차이에 대해 묻는 질문이 COQ 개발자가 할 사실에서 발생하는 것을 허용 하지 않고, 당신이 원하는 경우 순진 세트 이론적 측면에서 COQ의 정리에 대해 생각 강제로 그렇게 할 수 있습니다. 기술적으로 Prop와 Set을 분리 한 다음 Prop의 계산 내용에 따라 세트를 금지합니다.
따라서 ZFC에서 Prop를 진리 값으로 해석 할 수 있습니다.이 값은 부울 true 및 false입니다. 이 세상에서 모든 제안의 증거는 동일하므로 분명히 당신은 제안의 증거에 근거 할 수 없어야합니다. 따라서 Prop 증거의 계산 내용에 따른 세트 금지는 완전히 합리적입니다. 또한 2 요소 부울 격자는 분명히 완전한 격자이므로 임의의 설정 값 충족이 존재하므로 즉석 인덱싱을 지원해야합니다. 세트에 대한 우선 순위 제한은 F- 스타일 인덱싱이 고전적인 세트 이론적 모델에서 변질된다는 사실 (상기 언급 됨)에서 발생합니다.
Coq에는 다른 모델 (구성 적 논리 임)이 있지만 요점은 고전적인 수학자가 당혹 스러울만한 것을 증명할 수 없다는 점입니다.
답변
귀납적 정의와 비 현실성 사이에는 매우 깊은 연관성이 있지만, 나의 이해는 당신이 (im) 증명성에 대해 이야기하고있는 맥락에서 특별히 관련이 없으며 테스트는 순 전도를 보장하기위한 것이므로 고정 점 이론이 될 수 있습니다. 즉, 유도 원리가 잘 정의되어 있음 (이 시점에서 수정하겠습니다.)
코 퀀드 (Caquand)는이 대화 에서 즉석 성과 유도 적 정의 사이의 관계를 탐구한다 . G. Takeuti에 의한 50 년대의 결과로 되돌아 가서 즉석 정의는 유도 정의로 축소 될 수 있습니다. 그 책
- Impredicative Subsystems의 이론 증명-W. Buchholz, K. Schutte의 물리 과학 논문 및 교재
당신이 그것을 얻을 수 있다면, 주제에 대한 좋은 분석을 제공합니다. 이 슬라이드 는 개요를 제공합니다.
답변
Neil의 훌륭한 설명을 완성하기 위해 비현실 성은 “부드러운”감각을 가지고 있습니다. 즉, 자신에 대한 참조를 사용하여 집합 또는 컬렉션의 정의입니다. 그런 의미에서:
Inductive Lam : Set :=
| Var : Nat -> Lam
| App : Lam -> Lam -> Lam
| Abs : (Lam -> Lam) -> Lam
컬렉션 자체를 참조하는 함수 공간 (Lam-> Lam)을 사용하여 유도 형 Lam을 정의하기 때문에 즉석 정의입니다. 이 상황에서, 즉석 성은 해 롭습니다 : Cantor의 정리를 사용하여 False를 증명할 수 있습니다. 실제로 이것은 순진한 세트 이론을 수학의 일관된 기초로 할인하는 동일한 브랜드의 즉석 성입니다. 따라서 Coq에서는 허용되지 않습니다. 아시다시피 다른 형태의 즉석 성 이 허용됩니다.
Definition Unit : Prop := forall X:Prop, X -> X
제안으로서의 단위의 정의는 그것이 소속 된 모든 제안의 모음을 참조합니다. 그러나 나에게 다소 모호한 이유로이 불임은 ZFC에 존재하기 때문에 해 가 되지 않습니다 ( 무한한 이해 의 형태로) 하지 않습니다.
결론적으로, 정의에서 귀납적 유형의 부정적 발생은 불임의 한 형태이지만, 일반적으로 CoC를 불완전한 틀로 말할 때 언급되는 것은 아닙니다 .