집합과 수리논리학

명제와 결합자

LimeCoding 2022. 3. 7. 22:10

명제란 무엇인가?(What is statement?)


명제(statement)란 참 또는 거짓을 둘 다 갖지 않고 하나만 가지는 서술을 말한다. 쉽게 말해서 어떠한 문장이 주어졌을 때 참 또는 거짓으로 답할 수 있는 문장이 명제이다. 명제를 정의할 때는 하나의 조건이 들어가는데 누구에게나 명제에 대한 답이 동일하도록 하는 조건이 필요하다. 예를 들어 "서울에는 지금 눈이 내린다"라는 문장이 있다. 이는 참과 거짓으로 대답할 수 있다. 눈이 내리면 참, 내리지 않으면 거짓인 것이다. 이는 누구나 참과 거짓으로 대답할 수 있다. 반면 "지금 서울의 날씨는 좋다."라는 문장은 참과 거짓으로 판별하기에는 기준이 애매하다. 누군가에게는 화창한 날씨가 좋은 날씨일 수 있지만 다른 누군가에게는 비오는 날이 좋은 날씨일 수도 있다. 이렇게 사람에 따라 답이 달라진다면 이건 명제라고 할 수 없다.

 

명제인 문장 명제가 아닌 문장
명제인 문장
  1. 달은 지구의 위성이다.
  2. 햄스터는 햄으로 만들어졌다.
  3. 인류는 달에 간 적이 있다.
  4. 우주에는 지구이외에 생명체가 사는 행성이 있다.
명제가 아닌 문장
  1. 좋은 하루 보내세요!
  2. 오늘은 뭘 먹을까?
  3. 지금 서울의 날씨는 좋다.

 

명제인 문장은 참과 거짓인지는 중요하지 않다. 그러므로 1, 2, 3은 명제이다. 4번 문장은 참과 거짓을 따질 수 없지 않느냐고 반문할 수 있다. 하지만 이는 우리가 아직 발견하지 못했을 뿐 참과 거짓 둘 중 하나로 답할 수 있다. 옛날 사람들이 공기의 존재를 부정했지만 지금은 존재함을 발견한 것을 떠올리면 쉽게 이해가 갈 것이다. 반면 명제가 아닌 명제는 참과 거짓을 따질 수가 없다. "달은 지구의 위성이다.", "햄스터는 햄으로 만들어졌다."와 같은 것을 단순명제(simple statement)라고 한다. 이러한 단순 명제가 둘 이상이 결합되어 만들어진 명제를 합성명제(compound statement)라고 한다. "달은 지구의 위성이다. 그리고 인류는 달에 간 적이 있다."라는 문장은 합성명제이다.

 

 

결합자란?(What is connective?)


명제는 단순명제 그 자체로도 쓰일 수 었지만 2개 이상을 결합하여 복합명제로 사용할 수 도 있다. 이때 서로 다른 명제를 결합할 때 쓰는 것이 바로 결합자(connective)이다. 다양한 결합자가 있지만 주로 사용되어지는 결합자들은 5가지정도가 있다. 결합자의 기호와 뜻은 다음과 같다.

 

결합자

~는 "부정", ^는 "그리고", ∨는 "또는", →는 "...이면 ...", ↔는 "...이면 그리고 그때에만 ..."이라는 의미이다. 추가적으로 두 화살표 기호에 대한 영어표현을 잠깐 소개하도록 하겠다. A → B는 영어로 "if A then B(A이면 B)", "A only if B(B일 때만 A)" 또는  "B if A(A일 때 B)"라고 표현한다. A  ↔ B는 영어로 "A if and only if B(A이면 그리고 그때에만 B)"라고 한다.

 

 

부정이란?(What is Not?)


부정(not)은 어떤 명제에 대해 참이면 거짓으로, 거짓이면 참으로 바꾸어주는 역할을 한다. 명제 p가 "6은 3의 배수이다"일 때 ~p는 "6은 3의 배수가 아니다"가 되는 것이다. 명제p는 참이며 ~p는 거짓이 된다. 부정의 진리표는 다음과 같다.

 

 

부정의 진리표

 

 

논리곱이란?(What is conjuction)


논리곱(conjunction)은 "and"를 말한다. 논리곱은 두명제가 동시에 참일 때만 참인 명제이다. 명제 p가 "서울은 한국의 수도이다." 이고 명제 q가 "부산은 한국의 도시이다."라고 한다면 p ^ q는 "서울은 한국의 수도이고 부산은 한국의 도시이다."가 된다. p와 q는 모두 참이므로 p^q는 참이 된다. 여기서 p와q 각각은 p^q의 요소(component)가 된다. 명제 p와 q는 각각 참과 거짓으로 나타낼 수 있으므로 총 4가지의 상태가 나온다. 이를 확장하면 논리곱이 적용되는 명제의 개수가 n개이면 결과는 2의 n승이다. 다은은 p^q에 대한 진리표이다.

 

논리곱의 진리표

 

논리합이란?(What is disjunction?)


논리합(disjunction)은 "or"을 말한다. 논리합은 두 명제중 하나만 참이여도 참인 명제이다. 명제 p가 "8은 2의 배수이다."이고 명제 q가 "5는 2의 배수이다." 일 때 q는 거짓이지만 p가 참이기 때문에 p∨q는 참이 된다. 만약 p, q가 모두 거짓이면 p∨q는 거짓이 된다. 논리합도 논리곱과 마찬가지로 명제의 개수에 따라 그 결과 값이 2의 제곱수로 나타난다. 다음은 p∨q에 대한 진리표이다.

 

논리합의 진리표

 

동치란 무엇인가?(What is equivalent?)


동치의 정의는 다음과 같다.

정의

단순명제 p, q이거나 합성명제인 P, Q에 대한 모든 논리적 가능성의 각각의 경우 진리값이 같으면 P와 Q는 논리적 동치(logically equivalent) 또는 간단히 동치(equivalent)라 하고 이것을 P≡Q라 한다.

드모르간 법칙을 동치로 표현하면 p∨q ≡ ~(~p ^ ~q)이 된다. 왼쪽과 오른쪽은 식이 달라보여도 결과값은 서로 같다.

 

 

조건부란 무엇인가?(What is conditional)


조건부(conditional)은 →을 말하며 이 기호를 통해 만들어진 명제 p → q를 조건문(conditional statement)이라고 한다. p → q는 p가 참이면 q도 참이다라는 명제이다. 이 명제는 p가 참인데 q가 거짓이면 거짓인 명제이다. 이것을 논리곱과 논리합으로 표현하면 ~(p ^ ~q)가 된다. 다음은 조건문에 대한 진리표이다.

 

조건문의 진리표

 

쌍조건부란 무엇인가?(What is biconditional?)


쌍조건부(biconditional)는 ↔를 말한다. 이 쌍조건부로 두 명제 p, q를 결합하면 p ↔ q인 쌍조건문(biconditional statement)가 된다. 쌍조건문은 (p→q) ^ (qp)로 나타낼 수 있으며 p와 q가 같은 값을 가질 때 참이 된다. 다음은 p ↔ q의 진리표이다.

 

쌍조건문의 진리표