한 문장 속 조건이 두 갈래로 읽힐 때
행사 안내에 “회원이고 개인정보 이용에 동의하면 자료실에 들어올 수 있다”라고 적혀 있다고 하자. 담당자는 회원과 동의를 모두 요구한다고 생각했지만, 신청자는 둘 중 하나면 된다고 읽을 수 있다. “이고”, “또는”, “이면”은 일상 문장에서 생략과 강조에 따라 범위가 흔들린다. 규칙을 실행하기 전에 어떤 입력에서 어떤 결론이 나오는지 표로 펼쳐야 한다.
진리표는 명제에 가능한 참·거짓 조합을 모두 배치하고 논리식의 결과를 계산한 표다. 여기서 명제는 참 또는 거짓으로 판단할 수 있도록 뜻과 범위를 고정한 문장이다. P를 “신청자가 회원이다”, Q를 “필수 동의를 완료했다”라고 정하면, P∧Q는 두 조건이 모두 참인 한 행에서만 참이다.
| P | Q | P∧Q |
|---|---|---|
| 참 | 참 | 참 |
| 참 | 거짓 | 거짓 |
| 거짓 | 참 | 거짓 |
| 거짓 | 거짓 | 거짓 |
표를 만들기 전에 명제를 판정 가능하게 쓴다
“좋은 회원이다”처럼 평가 기준이 없는 문장은 바로 참·거짓 칸에 넣기 어렵다. “2026년 10월 6일 기준 유효 회원번호가 있다”처럼 기준 시점과 판정 자료를 붙여 P를 만든다. Q도 “동의했다”보다 “필수 항목 세 개에 전자 서명했고 철회 기록이 없다”처럼 업무에서 확인할 수 있게 적는다.
한 명제에 여러 조건을 숨기지 않는다. “회원이며 성인이다”를 P 하나로 묶으면 어느 조건 때문에 결과가 달라졌는지 보이지 않는다. P=회원, Q=성인처럼 나누고 표에 열을 추가한다. 입력이 세 개면 8행, 네 개면 16행으로 늘어난다. 행 수가 커지면 의사결정표나 자동 검사를 쓰되, 조합을 임의로 생략하지 않는다.
| 자연어 | 문제 | 판정 가능한 명제 |
|---|---|---|
| 자격이 충분하다 | 기준 없음 | P: 유효 회원번호가 있다 |
| 동의를 제대로 했다 | “제대로”가 모호 | Q: 필수 3항목에 서명했다 |
| 최근 신청했다 | 최근 범위 없음 | R: 접수 시각이 48시간 이내다 |
그리고·또는·부정은 결과가 달라지는 행이 다르다
P∧Q는 두 조건을 함께 요구한다. P∨Q는 하나 이상 참이면 참이며, 논리학의 “또는”은 보통 둘 다 참인 경우도 포함한다. 둘 중 정확히 하나만 허용하려면 배타적 또는 P⊕Q라고 명시한다. ¬P는 P의 참과 거짓을 뒤집는다. “미성년자가 아니다”와 “성인이다”가 같은지는 법적 기준과 미상 값을 따로 확인해야 한다.
업무 자료에는 참·거짓 외에 “미확인”이 생긴다. 고전 진리표는 두 값만 다루므로 미확인을 임의로 거짓에 넣지 않는다. 입력 검증 단계에서 보류·추가 확인 같은 별도 상태로 처리한 다음, 판정 가능한 행에만 논리식을 적용한다. 논리식과 자료 품질 규칙을 한 열에 섞지 않는 것이 핵심이다.
| 연산 | 참이 되는 조건 | 주의할 표현 |
|---|---|---|
| P∧Q | P와 Q가 모두 참 | 둘 다, 그리고 |
| P∨Q | 하나 이상 참 | 포함적 또는가 기본 |
| P⊕Q | 정확히 하나만 참 | 둘 중 하나만 |
| ¬P | P가 거짓 | 미확인을 거짓으로 바꾸지 않음 |
조건문 P→Q는 한 행에서만 거짓이다
“회원이면 자료실에 들어갈 수 있다”를 P→Q라고 하자. 이 조건문은 P가 참인데 Q가 거짓인 경우에 위반된다. 회원인데 입장이 거부된 행이 반례다. P가 거짓인 비회원 행은 이 문장만으로 입장 가능 여부를 결정하지 않는다. 조건문이 참이라고 해서 비회원에게 입장을 허용하라는 뜻도, 거부하라는 뜻도 아니다.
이 차이는 충분조건과 필요조건을 구분하게 한다. P→Q에서 P는 Q의 충분조건이고 Q는 P의 필요조건이다. 역 Q→P, 이 P→Q의 부정, 대우 ¬Q→¬P는 각각 다른 문장이다. 원래 조건문과 논리적으로 같은 것은 대우뿐이다. 안내문에서 “~이면”과 “~인 경우에만”을 바꾸면 화살표 방향이 달라질 수 있다.
| P | Q | P→Q |
|---|---|---|
| 참 | 참 | 참 |
| 참 | 거짓 | 거짓 |
| 거짓 | 참 | 참 |
| 거짓 | 거짓 | 참 |
필요조건과 충분조건을 뒤집지 않는다
“승인을 받아야 게시할 수 있다”는 게시→승인이다. 승인은 게시의 필요조건이지만, 승인만 받았다고 자동 게시되는 충분조건은 아닐 수 있다. 원고 검수와 예약 시각이 추가로 필요하기 때문이다. 이를 승인→게시로 쓰면 승인된 모든 초안이 게시된다는 지나치게 강한 규칙이 된다.
문장을 기호로 옮길 때는 먼저 “어떤 경우를 금지하는가”를 묻는다. 게시했는데 승인되지 않은 조합을 금지한다면 게시→승인이다. 표에서 그 한 행이 거짓인지 확인하고, 나머지 행이 업무 뜻과 맞는지 자연어로 다시 읽는다. 기호를 만든 뒤 원문으로 되돌아가는 역방향 읽기가 방향 오류를 잡는다.
세 조건은 중간 열을 두어 계산한다
입장 규칙이 “회원이고 동의했거나, 보호자와 동행하면 허용”이라면 괄호가 필요하다. (P∧Q)∨R과 P∧(Q∨R)은 다른 식이다. 전자는 비회원도 보호자와 동행하면 허용하지만, 후자는 반드시 회원이어야 한다. 자연어의 쉼표만으로 결합 순서를 정하지 않는다.
진리표에는 P∧Q 같은 중간 열을 먼저 계산하고 마지막 열에 전체 결과를 둔다. 두 후보 식의 결과가 다른 행을 찾으면 모호함을 구체적으로 설명할 수 있다. 예를 들어 P=거짓, Q=거짓, R=참인 행에서 첫 식은 참이고 둘째는 거짓이다. 담당자에게 바로 이 사례를 물어 규칙을 확정한다.
| P 회원 | Q 동의 | R 보호자 | (P∧Q)∨R | P∧(Q∨R) |
|---|---|---|---|---|
| 거짓 | 거짓 | 참 | 참 | 거짓 |
| 참 | 거짓 | 참 | 참 | 참 |
| 참 | 참 | 거짓 | 참 | 참 |
| 거짓 | 참 | 거짓 | 거짓 | 거짓 |
LLM에는 표보다 먼저 기호 대응을 요구한다
LLM에게 안내문만 주고 진리표를 그리라고 하면 모델이 숨은 전제를 채우거나 “또는”의 뜻을 임의로 고를 수 있다. 먼저 원문 문장 ID, 원자 명제, 기준 시점, 입력 자료, 미확인 처리 방식을 표로 내게 한다. 각 논리식에는 어떤 원문 표현을 괄호로 묶었는지 근거를 붙인다.
모호한 표현은 하나로 결정하지 말고 후보 식 둘과 차이가 나는 행을 제시하게 한다. 생성된 표는 사람이 다시 계산한다. 행 개수는 n개 입력에 2ⁿ인지, 입력 조합이 중복되지 않았는지, 중간 열과 결과 열이 식에 맞는지 확인한다. 준비된 예시는 실제 기관 규칙이나 모델 실행 결과가 아니다.
오류 표는 행을 빼거나 “또는”을 바꾼다
수정 전 표는 P∨Q에서 둘 다 참인 행을 거짓으로 적었다. 일상어의 “커피 또는 차 중 하나”를 떠올려 배타적 또는로 바꾼 것이다. 원문이 정확히 하나를 요구하지 않으면 포함적 또는를 사용해 둘 다 참인 행도 참으로 고친다. 배타가 필요하면 P⊕Q라고 별도 규칙을 둔다.
또 다른 오류는 보기 불편하다는 이유로 거짓·거짓 행을 삭제한 것이다. 그 행이 기본 거부나 안내 발송을 결정할 수 있으므로 누락하면 완전성을 검사할 수 없다. 행 순서를 바꾸는 것은 가능하지만 모든 조합을 한 번씩 포함해야 한다. 표의 마지막 줄까지 업무 행동을 연결해 사용하지 않는 조합을 찾는다.
완료 기준은 결과와 자연어가 왕복되는가다
마지막 검수에서는 각 기호가 한 문장과 한 판정 자료를 가리키는지, 부정 범위가 정확한지, 조건문 방향과 괄호가 맞는지, 2ⁿ개 입력 조합이 있는지 확인한다. 결과가 예상과 다르면 표를 억지로 고치지 않고 원래 규칙이 정말 그 결과를 의도했는지 담당자에게 확인한다.
진리표는 시간 순서, 책임자, 수량 비교를 보여 주는 도표가 아니다. 조건 조합의 논리 결과를 확인할 때 쓴다. 누가 언제 무엇을 처리하는지는 활동도나 스윔레인, 많은 업무 행동과 우선순위는 의사결정표가 더 알맞다. 질문에 맞는 도표를 선택해야 논리의 빈틈이 보인다.
| 검사 | 통과 기준 | 미통과 행동 |
|---|---|---|
| 명제 | 판정 자료·시점이 있음 | 정의 보완 |
| 조합 | n개 입력에 2ⁿ행 | 누락·중복 수정 |
| 연산 | AND·OR·NOT·→ 계산 일치 | 중간 열 재계산 |
| 해석 | 결과를 자연어로 다시 읽음 | 담당자 확인 |
| 미확인 | 참·거짓과 분리 | 보류 경로 추가 |
복사해서 쓸 수 있는 LLM 요청문
아래 요청문은 교육용 예시다. 원문을 함께 제공하고, 모델이 빈칸을 추측하지 않도록 금지 조건을 넣었다. 결과를 받으면 원문 문장과 노드·선의 대응을 사람이 다시 확인한다.
다음 안내문을 진리표로 검토해 줘. 1. 원문을 문장ID로 나누고 참·거짓 판정이 가능한 원자 명제를 정의한다. 각 명제의 기준 시점과 판정 자료를 적는다. 2. 그리고(∧), 포함적 또는(∨), 배타적 또는(⊕), 부정(¬), 조건문(→)을 구분한다. 원문이 모호하면 하나를 고르지 말고 후보 식을 나란히 둔다. 3. 입력 명제가 n개면 2ⁿ개 조합을 중복 없이 모두 만든다. 4. 복합식은 괄호와 중간 열을 먼저 계산한다. 5. 후보 식끼리 결과가 달라지는 최소 행을 찾아 자연어 질문으로 바꾼다. 6. 조건문은 P=참, Q=거짓인 반례 행과 필요조건·충분조건 방향을 확인한다. 7. 미확인 값은 거짓으로 바꾸지 말고 별도 확인 절차로 둔다. 8. 표 결과를 원문 문장으로 다시 읽고, 원문에 없는 정책은 추가하지 않는다. [안내문] …
직접 실습하고 결과를 읽기
이 실습은 브라우저 안에 준비한 교육용 자료만 사용한다. 외부 LLM을 호출하거나 실제 기관 자료를 조회하지 않는다. 입력을 바꾸어 결과가 어떻게 달라지는지 보고, 설명과 맞지 않는 결과가 나오면 어떤 정보가 빠졌는지 적어 본다.
자료와 출처
아래 자료는 이번 글의 정의와 표기법을 확인하는 데 사용했다. 생각그림과 사례 문장은 원자료를 복제하지 않고 이 글의 교육 목적에 맞게 새로 구성했다.