증명 골프(proof golf)

린 라이브러리의 개발자들은 어떤 정리의 증명을 더 간결하게 만드는 일을 "골프"라고 일컫더군요. 이 용법의 유래는 저도 잘 모르겠지만, 저를 포함한 여러 린 개발자는 다른 사람의 증명을 검토하면서 그것을 어떻게 더 단순화할지도 제안하기에 '증명 골프'를 자주 칩니다.

흥미로운 사실은 늘 어느 한 사람만 다른 사람보다 더 간단한 증명을 찾지는 않는다는 것입니다. 다시 말해, 정리마다 골프를 더 잘 치는 사람이 다릅니다. 단, 그 증명을 검토하는 사람들이 서로 교류해야 더 간략한 증명을 누군가 찾을 가능성이 커지는 듯해요.

이 의견은 제 경험에 근거하고 있는데, 구체적인 사례는 린 라이브러리의 여러 풀 요청(pull request, PR)에서 확인하실 수 있습니다. 제가 그저께 작성한 다음 풀 요청도 그중 하나입니다.

1개의 좋아요

골프가 더 적은 타수로 코스를 완수해야 이기는 것이여서, 더 단순한 증명 만들기 게임을 골프로 빗댄것 같군요.

2개의 좋아요

네, 그런 거 같아요. 위키백과를 보니 '코드 골프' 항목이 있네요. 린뿐만 아니라 프로그래밍 전반에 걸쳐 쓰이는 용어인가 봐요.