제37회 · LLM과 함께 배우는 생각그림

조건문의 참과 거짓을 진리표로 확인하기

자연어 조건을 기호로 정리하고 가능한 입력을 빠짐없이 열거해, 규칙이 거짓이 되는 정확한 경우를 찾습니다.

입력값논리 연산참·거짓

한 문장 속 조건이 두 갈래로 읽힐 때

행사 안내에 “회원이고 개인정보 이용에 동의하면 자료실에 들어올 수 있다”라고 적혀 있다고 하자. 담당자는 회원과 동의를 모두 요구한다고 생각했지만, 신청자는 둘 중 하나면 된다고 읽을 수 있다. “이고”, “또는”, “이면”은 일상 문장에서 생략과 강조에 따라 범위가 흔들린다. 규칙을 실행하기 전에 어떤 입력에서 어떤 결론이 나오는지 표로 펼쳐야 한다.

진리표는 명제에 가능한 참·거짓 조합을 모두 배치하고 논리식의 결과를 계산한 표다. 여기서 명제는 참 또는 거짓으로 판단할 수 있도록 뜻과 범위를 고정한 문장이다. P를 “신청자가 회원이다”, Q를 “필수 동의를 완료했다”라고 정하면, P∧Q는 두 조건이 모두 참인 한 행에서만 참이다.

생각그림 1 · 두 조건을 모두 요구하는 네 행
PQP∧Q
참참참
참거짓거짓
거짓참거짓
거짓거짓거짓
입력이 두 개면 2²=4개 조합을 모두 적습니다. AND는 두 입력이 모두 참일 때만 참입니다.

표를 만들기 전에 명제를 판정 가능하게 쓴다

“좋은 회원이다”처럼 평가 기준이 없는 문장은 바로 참·거짓 칸에 넣기 어렵다. “2026년 10월 6일 기준 유효 회원번호가 있다”처럼 기준 시점과 판정 자료를 붙여 P를 만든다. Q도 “동의했다”보다 “필수 항목 세 개에 전자 서명했고 철회 기록이 없다”처럼 업무에서 확인할 수 있게 적는다.

한 명제에 여러 조건을 숨기지 않는다. “회원이며 성인이다”를 P 하나로 묶으면 어느 조건 때문에 결과가 달라졌는지 보이지 않는다. P=회원, Q=성인처럼 나누고 표에 열을 추가한다. 입력이 세 개면 8행, 네 개면 16행으로 늘어난다. 행 수가 커지면 의사결정표나 자동 검사를 쓰되, 조합을 임의로 생략하지 않는다.

생각그림 2 · 자연어에서 판정 가능한 명제로
자연어문제판정 가능한 명제
자격이 충분하다기준 없음P: 유효 회원번호가 있다
동의를 제대로 했다“제대로”가 모호Q: 필수 3항목에 서명했다
최근 신청했다최근 범위 없음R: 접수 시각이 48시간 이내다
각 열은 같은 자료를 보면 같은 참·거짓을 내릴 수 있을 만큼 구체적으로 정의합니다.

그리고·또는·부정은 결과가 달라지는 행이 다르다

P∧Q는 두 조건을 함께 요구한다. P∨Q는 하나 이상 참이면 참이며, 논리학의 “또는”은 보통 둘 다 참인 경우도 포함한다. 둘 중 정확히 하나만 허용하려면 배타적 또는 P⊕Q라고 명시한다. ¬P는 P의 참과 거짓을 뒤집는다. “미성년자가 아니다”와 “성인이다”가 같은지는 법적 기준과 미상 값을 따로 확인해야 한다.

업무 자료에는 참·거짓 외에 “미확인”이 생긴다. 고전 진리표는 두 값만 다루므로 미확인을 임의로 거짓에 넣지 않는다. 입력 검증 단계에서 보류·추가 확인 같은 별도 상태로 처리한 다음, 판정 가능한 행에만 논리식을 적용한다. 논리식과 자료 품질 규칙을 한 열에 섞지 않는 것이 핵심이다.

생각그림 3 · 연산자별 참 조건 비교
연산참이 되는 조건주의할 표현
P∧QP와 Q가 모두 참둘 다, 그리고
P∨Q하나 이상 참포함적 또는가 기본
P⊕Q정확히 하나만 참둘 중 하나만
¬PP가 거짓미확인을 거짓으로 바꾸지 않음
같은 두 입력을 쓰더라도 연산자가 바뀌면 참이 되는 행 집합이 달라집니다.

조건문 P→Q는 한 행에서만 거짓이다

“회원이면 자료실에 들어갈 수 있다”를 P→Q라고 하자. 이 조건문은 P가 참인데 Q가 거짓인 경우에 위반된다. 회원인데 입장이 거부된 행이 반례다. P가 거짓인 비회원 행은 이 문장만으로 입장 가능 여부를 결정하지 않는다. 조건문이 참이라고 해서 비회원에게 입장을 허용하라는 뜻도, 거부하라는 뜻도 아니다.

이 차이는 충분조건과 필요조건을 구분하게 한다. P→Q에서 P는 Q의 충분조건이고 Q는 P의 필요조건이다. 역 Q→P, 이 P→Q의 부정, 대우 ¬Q→¬P는 각각 다른 문장이다. 원래 조건문과 논리적으로 같은 것은 대우뿐이다. 안내문에서 “~이면”과 “~인 경우에만”을 바꾸면 화살표 방향이 달라질 수 있다.

생각그림 4 · 조건문 네 행과 한 반례
PQP→Q
참참참
참거짓거짓
거짓참참
거짓거짓참
P→Q는 P가 참이고 Q가 거짓인 행에서만 거짓입니다. 그 행이 규칙 위반을 찾는 반례가 됩니다.

필요조건과 충분조건을 뒤집지 않는다

“승인을 받아야 게시할 수 있다”는 게시→승인이다. 승인은 게시의 필요조건이지만, 승인만 받았다고 자동 게시되는 충분조건은 아닐 수 있다. 원고 검수와 예약 시각이 추가로 필요하기 때문이다. 이를 승인→게시로 쓰면 승인된 모든 초안이 게시된다는 지나치게 강한 규칙이 된다.

문장을 기호로 옮길 때는 먼저 “어떤 경우를 금지하는가”를 묻는다. 게시했는데 승인되지 않은 조합을 금지한다면 게시→승인이다. 표에서 그 한 행이 거짓인지 확인하고, 나머지 행이 업무 뜻과 맞는지 자연어로 다시 읽는다. 기호를 만든 뒤 원문으로 되돌아가는 역방향 읽기가 방향 오류를 잡는다.

생각그림 5 · 필요조건 방향을 확인하는 반례 검사
원문승인을 받아야 게시할 수 있다
올바른 식게시 → 승인
금지 행게시=참, 승인=거짓
뒤집은 오류승인 → 게시
조건문 방향은 문장 순서보다 금지하려는 조합을 표에서 찾으면 더 분명해집니다.

세 조건은 중간 열을 두어 계산한다

입장 규칙이 “회원이고 동의했거나, 보호자와 동행하면 허용”이라면 괄호가 필요하다. (P∧Q)∨R과 P∧(Q∨R)은 다른 식이다. 전자는 비회원도 보호자와 동행하면 허용하지만, 후자는 반드시 회원이어야 한다. 자연어의 쉼표만으로 결합 순서를 정하지 않는다.

진리표에는 P∧Q 같은 중간 열을 먼저 계산하고 마지막 열에 전체 결과를 둔다. 두 후보 식의 결과가 다른 행을 찾으면 모호함을 구체적으로 설명할 수 있다. 예를 들어 P=거짓, Q=거짓, R=참인 행에서 첫 식은 참이고 둘째는 거짓이다. 담당자에게 바로 이 사례를 물어 규칙을 확정한다.

생각그림 6 · 괄호가 다른 두 규칙의 차이
P 회원Q 동의R 보호자(P∧Q)∨RP∧(Q∨R)
거짓거짓참참거짓
참거짓참참참
참참거짓참참
거짓참거짓거짓거짓
두 후보가 갈리는 행은 문장 해석을 결정할 수 있는 가장 작은 반례 질문입니다.

LLM에는 표보다 먼저 기호 대응을 요구한다

LLM에게 안내문만 주고 진리표를 그리라고 하면 모델이 숨은 전제를 채우거나 “또는”의 뜻을 임의로 고를 수 있다. 먼저 원문 문장 ID, 원자 명제, 기준 시점, 입력 자료, 미확인 처리 방식을 표로 내게 한다. 각 논리식에는 어떤 원문 표현을 괄호로 묶었는지 근거를 붙인다.

모호한 표현은 하나로 결정하지 말고 후보 식 둘과 차이가 나는 행을 제시하게 한다. 생성된 표는 사람이 다시 계산한다. 행 개수는 n개 입력에 2ⁿ인지, 입력 조합이 중복되지 않았는지, 중간 열과 결과 열이 식에 맞는지 확인한다. 준비된 예시는 실제 기관 규칙이나 모델 실행 결과가 아니다.

생각그림 7 · 원문에서 검증된 진리표까지
문장 ID 분리
명제·범위 정의
후보 논리식
2ⁿ행 생성
반례·역방향 읽기
LLM은 조합을 정리하는 보조 도구이며, 모호한 정책을 대신 결정하지 않습니다.

오류 표는 행을 빼거나 “또는”을 바꾼다

수정 전 표는 P∨Q에서 둘 다 참인 행을 거짓으로 적었다. 일상어의 “커피 또는 차 중 하나”를 떠올려 배타적 또는로 바꾼 것이다. 원문이 정확히 하나를 요구하지 않으면 포함적 또는를 사용해 둘 다 참인 행도 참으로 고친다. 배타가 필요하면 P⊕Q라고 별도 규칙을 둔다.

또 다른 오류는 보기 불편하다는 이유로 거짓·거짓 행을 삭제한 것이다. 그 행이 기본 거부나 안내 발송을 결정할 수 있으므로 누락하면 완전성을 검사할 수 없다. 행 순서를 바꾸는 것은 가능하지만 모든 조합을 한 번씩 포함해야 한다. 표의 마지막 줄까지 업무 행동을 연결해 사용하지 않는 조합을 찾는다.

생각그림 8 · 진리표의 수정 전후
수정 전P∨Q에서 참·참을 거짓 처리
수정포함적 또는로 참 처리
수정 전거짓·거짓 행 삭제
수정모든 조합을 한 번씩 기록
진리표의 힘은 보기 좋은 행만 고르는 데 있지 않고 가능한 조합을 모두 남기는 데 있습니다.

완료 기준은 결과와 자연어가 왕복되는가다

마지막 검수에서는 각 기호가 한 문장과 한 판정 자료를 가리키는지, 부정 범위가 정확한지, 조건문 방향과 괄호가 맞는지, 2ⁿ개 입력 조합이 있는지 확인한다. 결과가 예상과 다르면 표를 억지로 고치지 않고 원래 규칙이 정말 그 결과를 의도했는지 담당자에게 확인한다.

진리표는 시간 순서, 책임자, 수량 비교를 보여 주는 도표가 아니다. 조건 조합의 논리 결과를 확인할 때 쓴다. 누가 언제 무엇을 처리하는지는 활동도나 스윔레인, 많은 업무 행동과 우선순위는 의사결정표가 더 알맞다. 질문에 맞는 도표를 선택해야 논리의 빈틈이 보인다.

생각그림 9 · 진리표 공개 전 검수표
검사통과 기준미통과 행동
명제판정 자료·시점이 있음정의 보완
조합n개 입력에 2ⁿ행누락·중복 수정
연산AND·OR·NOT·→ 계산 일치중간 열 재계산
해석결과를 자연어로 다시 읽음담당자 확인
미확인참·거짓과 분리보류 경로 추가
수식, 표, 자연어를 서로 왕복해 같은 규칙을 말할 때 검토가 끝납니다.

복사해서 쓸 수 있는 LLM 요청문

아래 요청문은 교육용 예시다. 원문을 함께 제공하고, 모델이 빈칸을 추측하지 않도록 금지 조건을 넣었다. 결과를 받으면 원문 문장과 노드·선의 대응을 사람이 다시 확인한다.

다음 안내문을 진리표로 검토해 줘.
1. 원문을 문장ID로 나누고 참·거짓 판정이 가능한 원자 명제를 정의한다. 각 명제의 기준 시점과 판정 자료를 적는다.
2. 그리고(∧), 포함적 또는(∨), 배타적 또는(⊕), 부정(¬), 조건문(→)을 구분한다. 원문이 모호하면 하나를 고르지 말고 후보 식을 나란히 둔다.
3. 입력 명제가 n개면 2ⁿ개 조합을 중복 없이 모두 만든다.
4. 복합식은 괄호와 중간 열을 먼저 계산한다.
5. 후보 식끼리 결과가 달라지는 최소 행을 찾아 자연어 질문으로 바꾼다.
6. 조건문은 P=참, Q=거짓인 반례 행과 필요조건·충분조건 방향을 확인한다.
7. 미확인 값은 거짓으로 바꾸지 말고 별도 확인 절차로 둔다.
8. 표 결과를 원문 문장으로 다시 읽고, 원문에 없는 정책은 추가하지 않는다.

[안내문] …
생각그림 10 · 요청문에서 결과와 검토까지
원문 붙이기
도표 목적 명시
추정 금지
문장별 대조
요청문은 도표를 자동으로 진실로 만들지 않습니다. 원문과 결과를 왕복해 확인하는 절차가 핵심입니다.

직접 실습하고 결과를 읽기

이 실습은 브라우저 안에 준비한 교육용 자료만 사용한다. 외부 LLM을 호출하거나 실제 기관 자료를 조회하지 않는다. 입력을 바꾸어 결과가 어떻게 달라지는지 보고, 설명과 맞지 않는 결과가 나오면 어떤 정보가 빠졌는지 적어 본다.

입력과 연산을 고르고 결과를 확인하세요.

자료와 출처

아래 자료는 이번 글의 정의와 표기법을 확인하는 데 사용했다. 생각그림과 사례 문장은 원자료를 복제하지 않고 이 글의 교육 목적에 맞게 새로 구성했다.