함수가 dem 등하다는 것을 증명하기 위해 정적 또는 종속 유형을 사용할 수 있습니까?
나는 운이없는 답변을 찾기 위해 Google과 StackOverflow / StackExchange의 여러 곳을 검색했습니다. 내가 찾은 가장 가까운 것은 Idris에 대한 다음 대화였습니다. https://groups.google.com/forum/#!topic/idris-lang/yp7vrspChRg
불행히도, 그 논의는 내 머리 위에 조금 있습니다.
3
100 % 확실하지 않기 때문에 이것을 답변으로 게시하지는 않지만 Rice의 정리 로 인해 이것이 불가능하다고 생각합니다 .
—
gardenhead
@gardenhead Rice의 정리에 따르면 프로그램의 행동이 가질 수있는 모든 속성이 주어지면 프로그램에 해당 속성이 있는지 여부를 결정하는 것이 때로는 불가능합니다. "이것은 때때로 불가능하다"와 "이것은 불가능하다"는 큰 차이가있다.
—
Tanner Swett
나의 마지막 의견은 꽤 모호했다. 어쨌든, 라이스 정리는 다음과 같이 말합니다 : 모든 기능을 dem 등원이거나 dem 등원이 아닌 것으로 올바르게 분류하는 알고리즘은 없습니다 . 그러나 일부 기능을 dem 등원인지 아닌지로 분류하는 유용한 알고리즘이 여전히 있습니다.
—
Tanner Swett
OP는 함수가 dem 등성임을 증명하는 알고리즘을 요구했지만 알고리즘이 함수를 무조건으로 분류하지 않는지에 대해 질문했습니다. 가장 큰 차이점은 사람이 증거를 작성할 수 있다는 것입니다. 튜링 완성도 는 실제로 문제가되지 않습니다 .
—
gallais