제 2 장 단순명제 1차논리언어는구문, 의미, 논리의세가지구성요소를갖는다. 구문 (syntax): 제대로모양을갖춘문장을만드는규칙을다룬다. 의미 (semantics): 해석을통해문장이맞다 (true)/ 틀리다 (false) 를판별하는법을다룬다. Tarski s World( 타스키월드 ) 라는프로그램을이용하여구문과의미의관계를배울것이다. 논리 (logic): 이치에맞는가를따지는것을다룬다. 즉, 이미알고있는또는확인된사실로부터새로운논리적결과를이끌어내는방법을다룬다. 앞서언급된구문, 의미, 논리등 1차논리언어의세가지요소들을처음엔간단한것부터시작해서점점복잡한것들을다루면서설명할것이다. 2.1 구문 (Syntax) 1차논리언어의구문은명사, 명사구, 술어, 단순명제, 복합명제등다섯가지요소로구성되어있다. 이번장에서는복합명제을제외한구성요소를소개할것이며복합명제은이후에다룰것이다. 13
14 단순명제 2.1.1 명사 (Individual Constants) 명사는실제로존재하는사람또는사물을가리키는이름이다. 자연어의명사박지성한경대학교일곱 1차논리언어의명사 park hknu 7 여기서이름이란기호들이특정한규칙에맞게나열된문자열을의미한다. 명사는모두영문소문자만이용하며아래의제약사항을알아두어야한다. 첫째, 하나의이름은여러사람또는여러사물을가리킬수없다. 예를들어, park이라는이름이축구선수박지성을이미가리킨다면박찬호나박세리를가리킬수없다. 둘째, 하지만한사람또는하나의사물에두개의이름을붙일수있다. 즉, 야구선수박찬호를가리키기위해 parkch, chanhopark, playerpark 등여러이름을사용할수있다. 셋째, 이름이없는사람또는사물이있을수있다. 갖태어난아기나이름없는돌맹이등을생각하면된다. 2.1.2 명사구 (Terms) 명사구에는단순명사구와복합명사구두가지종류가있다. 단순명사구 (simple terms): 모든명사는단순명사구이다. 복합명사구 (complex terms): n 개의단순명사구또는복합명사구를인수로사용하는함수기호를이용하여만든다. 따라서복합명사구는함수기호 ( 명사구,..., 명사구 ) 의모양을갖는다. 예를들어, mother는한개의인수를받는함수기호라고하자. 그러면아래와같은복합명사구를만들수있다.
구문 (Syntax) 15 자연어의명사구 호돌이의엄마 호돌이의엄마의엄마 1 차논리언어의명사구 mother(hodori) mother(mother(hodori)) 함수기호는모두 ( 영문 ) 소문자만이용하며, 복합명사구도반드시하나의 사람또는사물만을가리킨다. 2.1.3 술어 (Predicates) 사람또는사물의특징, 사람또는사물사이의관계를표현하는단어를술어라한다. 즉, 술어는동사또는형용사에해당하며, 집에있다, 좋아한다, 아름답다 등이술어이다. 술어는반드시 ( 영문 ) 대문자로시작한다. 박지성이돌이는순이의자연어의술어집에있다여동생을좋아한다. 1 차논리언어의술어 Home(park) Likes(dori, suni) 위예제에서 Home 은 집에있다 에해당하는술어이고, Likes 는 좋아한다 에해당하는술어이다. 또한 park은박지성을가리키는명사이고, dori 와 suni는각각돌이와순이를가리키는명사이다. 2.1.4 단순명제 (Atomic Sentences) 단순명제는주어와동사, 또는주어와형용사만을갖는가장간단한형태의문장에해당한다. 따라서단순명제은술어가명사구들을인수로가진형태로만들어지며, 술어 ( 명사구,..., 명사구 ) 의형태를가진다. 돌이가돌이는순이의자연어의단순명제집에있다여동생을좋아한다. 1 차논리언어의단순명제 Home(dori) Likes(dori, sister(suni))
16 단순명제 위예에서 sister 는누군가의언니를나타내는함수기호이며하나의인수를 갖는다. 술어에달려있는인수의개수는고정되어있으며, 또한명사구인수들 의순서가중요하다. 이는명사구의순서가변하면의미가달라질수있음 을의미한다. 예를들어 Likes(dori,suni) 와 Likes(suni,dori) 는서로의미가 다를수있다. 따라서단순명제의의미는항상명확하게판단되어질수있 다. 단순명제 술어 명사구인수 인수개수 Home(dori) Home dori 1 Likes(dori, sister(suni)) Likes dori, sister(dori) 2 Sent(dori, suni, email) Sent dori, suni, email 3 2.1.5 전위 / 중위표기법 복합명사구와단순명제을표현하는방식에는전위표기법과중위표기법이있다. 전위표기법은함수기호와술어이름을맨왼쪽에사용하는기본방식을일컫는다. 예를들어, father(dori), Likes(dori,suni) 에서처럼 father 라는함수기호와 Likes 라는술어를맨왼쪽에사용하며해당인수들을오른쪽에순서대로사용한다. 중위표기법은함수기호와술어가인수들사이에위치한다. 예르들어, 2 + 3, a = b, a < b 등과같이친숙한단순명제은중위표기법을사용하여표현한다.
의미 (Semantics) 17 2.2 의미 (Semantics) 본절에서는단순명제의의미를어떻게판단하는가에대해서알아본다. 먼저단순명제이어떤의미를갖는가를판단하기위해서는의미를해석할수할수있는하나의공간 (world) 가주어져야함을알아야한다. 왜냐하면의미를해석할수있는공간 (world) 이주어졌을경우에만주어진단순명제의참또는거짓을판명할수있기때문이다. 예를들어현재강의하는공간에서 Teaches(professor-lee,logic) 라는단순명제은참이지만 Teaches(student,logic) 은거짓이다. 하지만학생이논리를가르치지말라는법은없다. 즉, 학생이교수를대상으로논리를가르치는공간이라면위단순명제들의참, 거짓이뒤바뀐다. Tarski s World 프로그램의보다많은예제들을이용하여공간과단순명제의의미의관계를연습하면보다확실히이해할수있다. 2.2.1 구문과의미의관계 박지성이순이에게싸인을해준다 라는자연언어의문장을어떻게 1차논리언어의단순명제으로표현할수있는지를고민해보면여러가능성이있음을알수있다. 무엇보다도여러모양의술어를만들수있음을알수있다. 예를들어, 아래의세명제을살펴보면각각인자의개수에서차이를보이지만기본적으로동일한내용을다룸을알수있다. 하나의인수를받는술어 ParkjsGaveAutographTo 를사용하면, Parkjs- GaveAutographTo(suni) 으로나타낼수있다. 두개의인수를받는술어 GaveAutograph 를사용하면, GaveAutograph(parkjs, suni) 으로나타낼수있다.
18 단순명제 세개의인수를받는술어 Gave를사용하면, Gave(parkjs, suni, autograph) 으로나타낼수있다. 위에서사용된세개의술어중에서어떤모양의술어를선택해야하는가는상황에따라다르다. 세개의인수를받는 Gaver가가장융통성이높은술어이지만, 싸인을해주는당사자가박지성한사람으로뿐이라면 Parkjs- GaveAutographTo 를사용하는것으로도충분하다. 반면에해주는것이싸인뿐이라면 GaveAutograph를사용해도좋다. 하지만주는사람과받는사람, 그리고무엇을주는지가변할수있다면 Gave를사용해야할것이다. 2.2.2 Tarski s World 이용법 본절에서는영문교재교재 24쪽의 You try it을이용하여 Tarski s World( 타스키월드 ) 프로그램의사용법과주의사항을소개한다. (1) Tarski s World 프로그램을실행한후 TW Exercises라는폴더안에있는 Wittgenstein s World 와 Wittgenstein s Sentences 를연다. (Wittgenstein 은 비트겐슈타인 이라읽으며오스트리아출신논리철학자이다.) (2) Wittgenstein s Sentence 에서세미콜론 ( ; ) 이후에나오는문장은주석으로프로그램에어떠한영향도주지않는다. (3) Verify 버튼을누르면명제들의참, 거짓을판별할수있다. (4) 이제 Wittgenstein s World 를여러방식으로변형해보아라. 그런다음에 Verify 버튼을누를경우어떤변화가발생하는지확인한다. (5) Tarski s World의내용을변형해보면서모양과크기, 위치등의정보를이해하도록한다. 예를들어 BackOf(d, c) 가무엇을의미하는가?
1 차논리언어예제 19 (6) 단순명제의의미를이해할수있을때까지 Tarski s World 프로그램을가지고논다. (7) Between 술어의의미가영어의 between과같은의미를갖지않음을확인한다. (8) Between(b, c, d) 는 b, c, d 모두같은줄또는같은열또는대각선상에위치함을전제로하며, b가 c와 d 사이에위치함을의미한다. (9) Tarski s World의사용법을모두확인하고서프로그램을마칠경우변경된사항을저장하지않도록하는것에주의한다. 2.2.3 연습문제 영문교재 25쪽 - 27쪽에제시되어있는연습문제 1.2 부터 1.6까지를풀어본다. 연습문제들은단순히 Tarki World 사용법을익히도록해주는것만이아니라 1차논리언어의구문과의미를보다정확히이해시켜주는역할을한다. 2.3 1 차논리언어예제 본절에서는세개의 1 차논리언어를소개한다. 2.3.1 블록언어 (Blocks Languages) Tarski s World의블록언어가일종의 1차논리언어이다. 명사 : a, b, c, d, e, f ( 함수기호는없다. 따라서모든명사구는단순명사구임 )
20 단순명제 술어 : 블록언어에포함된술어는그림 2.3.1 을참조하면된다. 단순명제 : a = b, Tet(a), SameShape(a, b) 등등 Tet(a) a 는정사면체이다. Cube(a) a 는정육면체이다. Dodec(a) a 는정12면체이다. Small(a) a 는작다. Medium(a) a 는중간이다. Large(a) a 는크다. SameSize(a,b) a 와 b 의크기가같다. SameShape(a,b) a 와 b 의모양이같다. Larger(a,b) a 가 b 보다크다. Smaller(a,b) a 가 b 보다작다. SameCol(a,b) a 와 b 가같은열에위치한다. SameRow(a,b) a 와 b 가같은줄에위치한다. Adjoins(a,b) a 와 b 가좌우로또는앞뒤로붙어있다. ( 대각선으로붙어있는것은제외한다.) LeftOf(a,b) 정면에서바라보았을때 a 가 b 보다왼쪽에위치한다. RightOf(a,b) 정면에서바라보았을때 a 가 b 보다오른쪽에위치한다. FrontOf(a,b) 정면에서바라보았을때 a 가 b 보다앞쪽에위치한다. BackOf(a,b) 정면에서바라보았을때 a 가 b 보다뒷쪽에위치한다. Between(a,b,c) a, b, c 가같은줄또는같은열에위치하거나동일한대각선상에위치한다. 그림 2.3.1: 블록언어의술어 2.3.2 집합론언어 중학수학에서다룬집합과원소를다룰수있는언어를집합론언어이다. 명사로는자연수및영어알파벳을사용하며함수는없다. 따라서모든명사구는단순명사구이다.
1 차논리언어예제 21 술어로는 =, 두가지만있다. 집합론에서는관습적으로중위표기 법을사용한다. 따라서 a = b, a b 등의단순명제을사용할수있다. 2.3.3 산수언어 산수언어는자연수들의연산과성질을다루는언어이다. 명사구 : 0, 1, 2 등의자연수와 +, 의함수기호를중위표기법을이용하여명사구를표기한다. 예를들어, (1 + 0), (1 + 2) + (1 +1) 등이복합명사구이다. 술어에는 =, < 가있다. 모두중위표기법을사용한다. 따라서 1 = 2, 2 < 3, (1+2) < (2 + 3) 등이단순명제이다. 나중에배우게될귀납법을이용하면산수언어에서의명사구를아래와같이정의할수있다. (1) 0, 1, 2, 등은명사구이다. (2) t 1 과 t 2 가명사구이면 t 1 + t 2 와 t 1 t 2 도명사구이다. (3) (1) 과 (2) 의반복적인적용을통해만들어지지않으면명사구가아니가. 즉, 모든명사구는 (1) 과 (2) 의반복적용을통해서만만들어진다. 연습문제 (1) ( 단순명제복사하기 ) 이문제는타스키월드의입력도구화면, 그리고 단순명제의구문을연습할수있는문제이다. 다음은타스키월드의
22 단순명제 단순명제들이다. 새명제파일을열고이명제들을복사해서입력해라. 입력한문장이명제로보인다면타스키월드의각공식을확인해라. 만약실수를했다면되돌릴수있다. 또한, 리턴키를사용하지않고도명제들사이에새명제를추가할수있다. 올바르게입력했다면명제들은각라인별로번호가매겨질것이다. a Tet(a) b Medium(a) c Dodec(b) d Cube(c) e FrontOf(a, b) f Between(a, b, c) g a = d h Larger(a, b) i Smaller(a, c) j LeftOf(b, c) 파일이름은 Sentences 1.2로저장해야함을기억해라. 과제를완료했다면서브밋프로그램을이용하여모든해법파일을제출해라. (2) ( 세상건설하기 ) 연습문제 1.2의모든명제들이동시에참이되도록세상을건설해라. 파일이름은 World 1.3이다. (3) ( 단순명제번역하기 ) 영어로된간단한명제들이있다. 새명제파일을열어 1차논리언어로번역해서입력해라. a a is a cube.
1 차논리언어예제 23 b b is smaller than a. c c is between a and d. d d is large. e e is larger than a. f b is a tetrahedron. g e is a dodecahedron. h e is right of b. i a is smaller than e. j d is in back of a. k b is in the same row as d. l b is the same size as c. 명제들을번역한후모든명제들이참이되게끔세상을건설해라. 각파일의이름은 Sentences 1.4와 World 1.4로하여제출해라. (4) ( 이름할당하기 ) Lestrade s Sentences 와 Lestrade s World 를열면, 도형들이이름이없다는것을알수있을것이다. 너의임무는모든명제들이참이되게끔도형들에이름을할당하는것이다. 저장할때 Save As를사용해야함을명심하고이름은 World 1.5로제출해라. (5) ( 이름할당하기 ) 연습문제 1.5의모든결정들은강요되지않았다. 다시말하면, 다른이름을할당할수있었고그렇더라도명제들은참이됐을것이다. 명제들이참이되게유지하면서가능한많은이름을다시할당하고 World 1.6파일로제출해라. 파일들을비교할수있게정리해서 World 1.5, 1.6 파일을동시에제출해라.
24 단순명제 (6) 다음 1차논리언어의명제들을가능한명확한영어 ( 한국어 ) 주장으로표현하라. 가능한자연스럽게해야한다. 부언하자면모든명제들은참이다. a Taller(father(claire), father(max)) b john = father(max) c Taller(claire, mother(mother(claire)) d Taller(mother(mother(max)), mother(father(max))) e mother(melanie) = mother(claire) (7) 앞에서설명한함수기호 fm, bm, lm, rm을포함하는확장된블록언어가있다고가정해라. 그러면다음공식들은블록언어의명제가될수있다. a Tet(lm(e)) b fm(c) = c c bm(b) = bm(e) d FrontOf(fm(e), e) e LeftOf(fm(b), b) f SameRow(rm(c), c) g bm(lm(c) = lm(bm(c)) h SameShape(lm(b), bm(rm(e))) i d = lm(fm(rm(bm(d)))) j Between(b, lm(b), rm(b))
1 차논리언어예제 25 각세상의각명제가참인지거짓인지에따라 TRUE, FALSE로표를채워라. 타스키월드에서는이함수기호를이해하지못하므로답이맞는지확인할수없을것이다. 몇항목을채웠으니참고해서완성하고담당교수님에게보내라. (8) 연습문제 1.13에서네세상모두에서참이되는세개의명제가있음을눈치챌수있을것이다. 술어와함수기호가포함되어있기때문에세명제중어느것도어떤세상에서든지거짓이될수없다는것이밝혀졌다. 이문제의목적은연습문제 1.13의다른명제들이모두거짓이되게끔세상을건설하는것이다. 이런세상을찾으면 World 1.14 로제출해라. (9) 다음은산수언어의명사구들을표현한것이다. 다음각문항이어떤순서로적용됐는지그정의를설명해라. 이것들은어떤숫자를참조해야하는가? a (0 + 0) b (0 + (1 x 0)) c ((1 + 1) + ((1 + 1) x (1 + 1))) d ((1 x 1) x 1) x 1) (10) 산수언어에서 1을참조하는무한히많은명사구가있음을보여라.