‘수학 형식과 기능‘을 읽다가
군 이론에 대한 부분이 나오자 무슨 말인지 모르겠더군요.
관련 내용이 있는 책을 찾아보니 ‘대수학’과목이네요.
우리학교 수학과 커리큘럼을 보니 3~4학년용이군요.;;;;
수학 전공도 아닐뿐더러 공업수학도 안 배운 저에게
3~4학년용이라니..;;
그래서 50%정도 이해하고 넘어가니 다음 절은 ‘부울대수’입니다.
이건 이산수학을 독학하면서 조금 봤죠.
컴퓨터 시간에도 나오기도 하는 것이죠.^^
그런데 한 그림에 필이 꼽혔습니다.
‘S ⇒ T’를 벤다이어그램으로 나타내면 위와 같다는군요.
책에서는 이런 설명이 있습니다.

첫 번째 나오는 설명은 이해가 가지만
어째서 두 번째 설명으로 넘어가는지 모르겠습니다.
‘S ⇒ T’를 이렇게 말합니다.
‘S이면 T이다.’
이것이 첫 번째 설명이 되는 것이지요.
그럼 두 번째 설명은 수식으로 하면 다음과 같습니다.
‘~S∨T’
첫 번째와 두 번째가 어떻게 연결되는 것인지 잘 모르겠습니다.
구글링을 해보았습니다.
위의 벤다이어그램으로도 설명이 되지만,
진리표(truth table)을 보니 조금 낫네요.
‘~A∨B’는 분명 저 진리표대로 나옵니다.
그렇다면 ‘A⇒B’이 저 진리표를 따르는지 확인해보겠습니다.
‘A⇒B’은 ‘만약 A가 참이면 B 역시 참이다.’이니
1. A는 참, B도 참이면 명제 역시 참입니다.
2. A가 참, B가 거짓이면 명제는 거짓입니다.
왜냐하면 A가 참일 때 B 역시 참이라고 했는데 거짓이기 때문입니다.
그러나 3, 4번은 모르겠습니다.
A가 거짓일 때 언급이 없기에 참인지 거짓인지 알 수가 없을테니 말입니다.
하지만 참인지 거짓인지 알 수 없는건 명제가 되지 않으니 앞뒤가 안 맞습니다.
여기에 대해 이산수학 책에 이런 글이 있습니다.
- 조건문(conditional statement)의 수학적 개념은 가정과 결론을 완전 독립적으로 취급한다. 즉, 가정과 결론 사이에 아무런 관계가 없는 것이다.
- 인과관계가 있는 보통문장에서는 3, 4번이 참인지 거짓인지를 모를 것이다. 그러나 논리의 조건문에서는 3, 4번을 참으로 정의한다.
A와 B는 독립적으로 취급하는군요.
그럼 질문이 바뀌었습니다.
1. 왜 둘을 독립적으로 취급하는걸까?
2. 왜 3, 4번을 참으로 정의할까?
답을 찾고자 인터넷을 더 찾아보았습니다.
글을 읽어보시면 알겠지만,
3, 4번을 참으로 했을 경우 황당한 일이 발생하더군요.
그 중 하나를 바꿔 적겠습니다.
‘2+2=5라면 NoSyu는 교황이다.’를 증명하라는 말에
‘2+2=4이기에 5=4가 될 것입니다.
양변에 3을 빼면 2=1이 될 것입니다.
NoSyu와 교황은 둘이니 둘은 하나가 될 것입니다.
따라서 NoSyu는 교황입니다.’
이거 어디서 많이 들어본 얘기이군요.
0으로 나눌 수 있다면 저렇게 할 수 있다고 한 이야기가 생각납니다.
역시 일반적인 말과 수학에서 말하는 조건문은 다른가봅니다.
그래서 위키피디아에서는 혼동을 줄이고자
‘if then’을 쓰지 말고,
‘it is not the case that A and/or it is the case that B’ 혹은
‘A is false and/or B is true'(=‘~A∨B’)라 하자는군요.
(우리나라말로 번역이 힘들어서 원문을 그대로 가져왔습니다.)
왜 둘은 달라야 하는지,
수학적으로는 왜 그러해야 하는지는
알 듯 모를 듯 싶네요.
좀 더 알아보면 알 듯 싶기도 합니다만,
혹시 아시는 분은 힌트를 주시면 고맙겠습니다.
참조
수학 형식과 기능
공통수학 정석
이산수학 및 응용
위키피디아(http://en.wikipedia.org/)
foldop(http://www.swif.it/foldop/)
Wolfram MathWorld(http://mathworld.wolfram.com)
이래서 수학이 싫습니다[…]-_-
어렵잖아효..ㅡㅡ
/AYIN/
그.. 그렇군요.;;
/입코군/
제가 다른분에게 설명하는 글이 아닌 질문하는 글이기 때문일겁니다.^^
F -> F (T)는 대우를 생각해보면 T -> T가 되므로 true가 됨을 알 수 있…을까요?
요즘 이산수학을 듣는지라 가정문이 F인 경우에 대해서는 결론에 상관없이 true라고 들었는데 그 이유에 대해서는 ‘그렇게 정해져있으니까’라는 설명이었습니다.
int c = ( a > b ) ? true : false; 라는 문장이라면 a,b와의 관계에 종속적으로 c값으 도출되는 것일텐데 어째서 독립적인건지 모르겠습니다.
잠시후에 수업에 들어가니 여쭤봐야겠습니다.
/로냐프/
오랜만이네요.^^
네.. 저도 대우를 생각해서 하나 발견해냈지만,
A, B 둘 다 false인 경우는 설명하기 힘들더군요.
그리고 수학적 조건문과 언어(컴퓨터 언어도 들어가더군요.)적 조건문은 차이난다는 글이 있더군요.
혹시 답변 얻으시면 힌트 부탁드립니다.^^
여쭤봤습니다. 간단하게 대답하시더군요
"약속이야"
"그럼 2=1일때 1=0이다, 라는게 가능한가요?"
"응, 수학적으론 가능해"
…라고 하시더군요.
간단명료하고 할말없어지는 답변이었습니다.
아, 참고로 위에 저 문장은 컴파일시 warning이 뜹니다.
저도 제가 왜 저렇게 썼는지 궁금해져서 돌려보니까 컴파일러에 따라 안되기도 하더군요;
/로냐프/
알아봐주셔서 고맙습니다.
정말 간단명료하네요.
제가 궁금한 건 왜 그렇게 약속을 했는가입니다.
다른 글에 보면 ‘0^0=1’이라는 글을 적었습니다.
http://nosyu.pe.kr/wordpress/451
원래 0^0은 정의되어있지 않다가 맞으나
계산기나 어떤 식에서는 1이라고 정의한다는군요.
그 이유에 대해 탐구(?)해 본적이 있어
이번 것도 찾을 수 있지 않을까 했지만 못 찾았네요.ㅜㅜ
/로냐프/
제가 알기론 표준 C에서는 True, False가 정의되어 있지 않은 것으로 기억합니다.
다만 임플리멘테이션에 따라 True == 1, False == 0으로 상수화시켰다고 한 듯 싶네요.
확실하지 않은 정보라..^^;;;;
어익후 머리야..-_-ㅋ
부사관시험준비 수학공부해야 하는데 큰일입니다ㅜ
/방랑객/
설명조의 글이 아니라 머리아프실거에요.^^
부사관 시험 준비하시는군요.
합격하시길..^^
도대체 뭔 소리냐고요~~ 참.나 (배영만 버전)
내 인생에 있어 수학은… 입니다. (답이 없다는 뜻이죠.ㅋㅋㅋ)
/마래바/
답이 없는건가요..ㄷㄷㄷ