(syntax) - kocwelearning.kocw.net/contents4/document/lec/2013/hankyong/... · 2014-02-18 · 14...

13
2 1 언어, , 는다. (syntax): 장을 . (semantics): 장이 (true)/ (false) . Tarski’s World() 을이. (logic): . , 결과방법. , , 1 언어점점 서설. 2.1 (Syntax) 1 언어, , , , . 은이. 13

Upload: others

Post on 01-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

제2장

단순명제

1차 논리 언어는 구문, 의미, 논리의 세 가지 구성요소를 갖는다.

구문(syntax): 제대로 모양을 갖춘 문장을 만드는 규칙을 다룬다.

의미(semantics): 해석을 통해 문장이 맞다(true)/틀리다(false)를 판별하

는 법을 다룬다. Tarski’s World(타스키 월드)라는 프로그램을 이용하여 구

문과 의미의 관계를 배울 것이다.

논리(logic): 이치에 맞는가를 따지는 것을 다룬다. 즉, 이미 알고 있는 또는

확인된 사실로부터 새로운 논리적 결과를 이끌어 내는 방법을 다룬다.

앞서 언급된 구문, 의미, 논리 등 1차 논리 언어의 세 가지 요소들을 처

음엔 간단한 것부터 시작해서 점점 복잡한 것들을 다루면서 설명할 것이다.

2.1 구문(Syntax)

1차 논리 언어의 구문은 명사, 명사구, 술어, 단순명제, 복합명제 등 다섯

가지 요소로 구성되어 있다. 이번 장에서는 복합명제을 제외한 구성요소를

소개할 것이며 복합명제은 이후에 다룰 것이다.

13

Page 2: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

14 단순명제

2.1.1 명사(Individual Constants)

명사는 실제로 존재하는 사람 또는 사물을 가리키는 이름이다.

자연어의 명사 박지성 한경대학교 일곱

1차 논리 언어의 명사 park hknu 7

여기서 이름이란 기호들이 특정한 규칙에 맞게 나열된 문자열을 의미

한다. 명사는 모두 영문 소문자만 이용하며 아래의 제약사항을 알아두어야

한다.

첫째, 하나의 이름은 여러 사람 또는 여러 사물을 가리킬 수 없다. 예를

들어, park이라는 이름이 축구선수 박지성을 이미 가리킨다면 박찬호나 박

세리를 가리킬 수 없다.

둘째, 하지만 한 사람 또는 하나의 사물에 두 개의 이름을 붙일 수 있

다. 즉, 야구선수 박찬호를 가리키기 위해 parkch, chanhopark, playerpark

등 여러 이름을 사용할 수 있다.

셋째, 이름이 없는 사람 또는 사물이 있을 수 있다. 갖 태어난 아기나

이름 없는 돌맹이 등을 생각하면 된다.

2.1.2 명사구(Terms)

명사구에는 단순명사구와 복합명사구 두 가지 종류가 있다.

• 단순명사구(simple terms): 모든 명사는 단순명사구이다.

• 복합명사구(complex terms): n개의단순명사구또는복합명사구를인

수로 사용하는 함수기호를 이용하여 만든다. 따라서 복합명사구는 함

수기호(명사구, ...,명사구)의 모양을 갖는다. 예를 들어, mother는 한

개의 인수를 받는 함수기호라고 하자. 그러면 아래와 같은 복합명사

구를 만들수 있다.

Page 3: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

구문(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))

Page 4: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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)에서 처럼 ’fa-

ther’라는 함수기호와 ’Likes’라는 술어를 맨 왼쪽에 사용하며 해당 인

수들을 오른쪽에 순서대로 사용한다.

• 중위 표기법은 함수기호와 술어가 인수들 사이에 위치한다. 예르 들

어, ’2 + 3’, ’a = b’, ’a < b’ 등과 같이 친숙한 단순명제은 중위 표기

법을 사용하여 표현한다.

Page 5: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

의미(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)으로 나타낼 수 있다.

Page 6: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

18 단순명제

• 세 개의 인수를 받는 술어 Gave를 사용하면, Gave(parkjs, suni, auto-

graph)으로 나타낼 수 있다.

위에서 사용된 세 개의 술어 중에서 어떤 모양의 술어를 선택해야하는가

는 상황에 따라 다르다. 세 개의 인수를 받는 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)가 무엇을 의미하는가 ?

Page 7: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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 (함수기호는 없다. 따라서 모든 명사구는 단순명

사구임)

Page 8: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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 집합론 언어

중학 수학에서 다룬 집합과 원소를 다룰 수 있는 언어를 집합론 언어이다.

• 명사로는 자연수 및 영어 알파벳을 사용하며 함수는 없다. 따라서 모

든 명사구는 단순명사구이다.

Page 9: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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) t1과 t2가 명사구이면 t1+ t2와 t1× t2도 명사구이다.

(3) (1)과 (2)의 반복적인 적용을 통해 만들어지지 않으면 명사구가 아니

가. 즉, 모든 명사구는 (1)과 (2)의 반복적용을 통해서만 만들어진다.

연습문제

(1) (단순명제 복사하기) 이 문제는 타스키 월드의 입력도구 화면, 그리고

단순명제의 구문을 연습할 수 있는 문제이다. 다음은 타스키 월드의

Page 10: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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.

Page 11: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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 파일을 동시에 제출해라.

Page 12: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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))

Page 13: (Syntax) - KOCWelearning.kocw.net/contents4/document/lec/2013/Hankyong/... · 2014-02-18 · 14 단순명제 2.1.1 명사(Individual Constants) 명사는실제로존재하는사람

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을 참조하는 무한히 많은 명사구가 있음을 보여라.