변수 이름을 묶지 않고도 계산 규칙을 쓸 수 있을까?
결합논리는 입력을 전달·선택·공유하는 작은 연산자로 변수 묶기의 역할을 표현합니다. 괄호와 적용 순서가 계산의 핵심입니다.
그림에서 무엇을 볼까요?
I는 입력을 전달, K는 첫 입력을 선택, S는 마지막 입력을 공유한다. 예시 결과는 별, 별, 9이다.
LTCT 예시에서 K는 두 장의 카드를 받아 첫 카드를 내보내는 연산자로 읽습니다. K ‘별’ ‘달’을 적용하면 ‘별’이 남습니다. I ‘별’은 입력을 그대로 전달합니다. 여기의 별과 달은 계산 구조를 읽기 위한 이름이며, 논문의 원래 사례나 실행 가능한 프로그램을 옮긴 것이 아닙니다.
S의 예시는 조금 다릅니다. x를 3, f를 덧셈, g를 두 배로 만드는 함수로 놓으면 f x (g x)는 3+(2×3)이 되어 9를 얻습니다. f는 첫 숫자를 받은 뒤 두 번째 숫자를 받는 방식으로 정의했다고 가정합니다. 같은 입력 3이 두 자리에 전달되는 사실을 먼저 보고, 그다음 두 배와 덧셈의 순서를 확인하면 됩니다.
함께 확인할 점
결합논리에서 자유변수의 사용과 묶인 변수의 제거를 구별해야 합니다. “어떤 변수도 존재하지 않는 논리”라는 요약은 부정확합니다.
짧은 규칙으로 표현 가능하다는 사실이 모든 계산의 종료나 빠른 실행을 보장하지는 않습니다.
생각해 볼 질문
S K K x를 규칙대로 줄이면 무엇이 남을까요?
