유도 술어를 정의 할 때 고정 매개 변수와 고정 매개 변수를 선택할 수 있습니다. 인위적인 예를 들어 고려 :비 고정 매개 변수가있는 유도 세트
inductive foo for P where
"foo P True (Inl x) (Inl x)"
그것을 유도 고정 된 하나 설정하고 하나의 비 고정 매개 변수에 정의 된이 점을 설정하는 어떻게 든 수 있습니까?
inductive_set Foo for P where
"(Inl x, Inl x) : Foo P True"
는 오류 메시지와 함께 거부 :
이Argument types 'd, bool of Foo do not agree with types'd of declared parameter
내가 유도 술어 버전을 기반으로 세트를 정의 할 수 있다는 것을 알고 (예를 들어, Foo P b = {(x, y). foo P b x x}
),하지만 난 항상 전에 전개해야 유도 또는 사례 분석을 적용 할 수 있습니다 (또는 Foo
에 해당하는 규칙을 도입해야합니다. 약간 중복 됨).