과학철학 이야기

하임&크라처, [생성 문법의 의미론] 요약 정리

강형구 2016. 6. 23. 05:54

1: 진리조건적 의미론과 프레게 프로그램

 

   우리는 어떻게 소수의 음절들만을 갖고 무수히 많은 생각들을 표현할 수 있으며, 어떻게 이전까지는 전혀 들어보지 못한 새로운 문장들 또한 이해할 수 있을까? 이러한 언어적 현상은 어떻게 가능한 것일까? 만약 우리의 생각이 몇몇 부분들(parts)로 구성되어 있다면, 그 부분들이 우리가 구사하는 문장(sentence)의 구성 성분들과 대응된다면, 따라서 문장의 구성 성분들의 다양한 조합이 우리의 사고를 마치 거울처럼 반영하는 것이라 생각한다면 우리의 언어 활동을 이해할 수 있지 않을까? 만약 이 가설이 옳다면, 우리는 적은 수의 문장 구성 성분들이 어떻게 많은 수의 문장들을 조합하는지에 대해서 알아볼 필요가 있을 것이다. 이에 관해 프레게는 다음과 같은 추측을 제시한다. 문장의 논리적 조합에 있어서 늘 문제가 되는 것은 채워지지 않은 부분(unsaturated)을 채우는(saturating) 이다. 그렇다면 과연 채워지지 않은 부분을 채우는 것이란 과연 무엇을 의미하는 것일까? 프레게에 의하면 이는 바로 수학적 의미에서의 함수(function)이다.

 

   그런데 의미론(semantics)이란 말 그대로 의미를 다룬다. 그렇다면 우리가 특정한 진술의 의미를 안다는 것은 무엇일까? 프레게(혹은 프레게를 해석하는 사람들)에 의하면, 어떤 진술의 의미를 안다는 것은 그 진술의 진리조건(Truth-Condition)을 안다는 것을 뜻한다. 따라서 프레게적인 형식 의미론을 구축한다는 것은 다음을 의미한다. 특정한 문장이 주어졌을 경우, 그 문장을 이루는 부분들의 조합을 통해 그 문장의 진리조건을 도출할 수 있고, 이 때 문장의 부분들은 수학적 함수 관계를 통해 조합한다.

 

   프레게의 추측에 따라 의미론 프로그램을 진행시키기 전에 몇 가지 용어를 도입하고 정의할 필요가 있다. 두 대상 x, y가 있을 때 우리는 그것들로 순서쌍(ordered-pair) <x, y>, <y, x>를 만들 수 있다. 이항(two-place) 관계(relation)는 순서쌍의 집합이다. 함수란 관계의 특수한 종류(type)이다. 단순화시켜 말하자면, 순서쌍의 두 번째 항이 첫 번째 항으로부터 유일하게 결정되는 순서쌍의 집합을 함수라고 부른다.

 

함수의 정의

관계 f는 다음과 같은 조건을 만족시킬 때 오직 그 때에만 함수이다.

: 모든 x에 대해서 <x, y> f이고 <x, z> f이면 y = z이다.

 

만약 f가 함수라면,

이 함수의 정의역(domain){ x : <x, y> f }이고 치역(range){ x : <y, x> f }이다.

이 때 정의역을 A, 치역을 B라 하면 f : A B라 쓴다.

 

   함수를 표현하는 여러 방식이 있고, F { <a, b>, <c, b>, <d, e> }정의역이 {a, c, d}이고 f(a) = f(c) = b이며 f(d) = e인 함수 F’는 동일한 함수를 표현하고 있다. 정의역이 크기가 크거나 정의역이 무한집합일 경우에는 주로 조건 제시법이 사용된다. 예를 들어 '

f : ℕ → ℕ, 모든 x ∈ ℕ에 대해서 f(x) = x + 1'와 같이 표현한다.

 

2: 프레게 프로그램의 실행

 

   D를 실제 세계에 존재하는 모든 개체들의 집합이라고 하자. 이 때 D의 부분집합 또한 개체들의 집합이다. { 0, 1 }은 진리치의 집합이다. f : D { 0, 1 }(1이면 참Truth, 0이면 거짓False)이다. 철수는 철수를 지시하고, 영희는 영희를 지시한다. 노래한다, 'f : D { 0, 1 }이고 x D에 대하여 x가 노래하는 경우 오직 그 경우에만 f(x) = 1이 되는 함수 f'를 지시한다. 마찬가지로, 일한다, 'f : D { 0, 1 }이고 x D에 대하여 x가 일하는 경우 오직 그 경우에만 f(x) = 1이 되는 함수 f'를 지시한다.

 

프레게적 관점에서 문장을 해석하는 의미론적 규칙들은 다음과 같다.

(S1) α

S

β

γ

의 구조를 갖고 있다면, 〚α〛=〚γ〛(〚β〛)를 지시한다.

(S2) α

NP

β

의 구조를 갖고 있다면, 〚α〛=〚β〛를 지시한다.

(S3) α

VP

β

의 구조를 갖고 있다면, 〚α〛=〚β〛를 지시한다.

(S4) α

N

β

의 구조를 갖고 있다면, 〚α〛=〚β〛를 지시한다.

(S5) α

V

β

의 구조를 갖고 있다면, 〚α〛=〚β〛를 지시한다.

 

이제 우리는 영희가 노래하는 경우 오직 그 때만

S

NP

VP

N

V

영희는

노래한다

= 1이다.’라는 주장을 프레게의 방식으로 어떻게 해석할 수 있을지 생각해보자.

(S1)에 따르면

S

NP

VP

N

V

영희는

노래한다

에서 β

NP

N

영희

이고 γ

VP

V

노래한다

. 따라서

S

NP

VP

N

V

영희는

노래한다

=

VP

V

노래한다

(

NP

N

영희

)로 나타낼 수 있다. 또한 (S3)(S5)에 따르면

VP

V

노래한다

=

V

노래한다

,

V

노래한다

=

노래한다

이므로,

노래한다

(

영희는

)으로 나타낼 수 있다. 그리고 이는 다시,f : D { 0, 1 }이고 x D에 대하여 x가 노래하는 경우 오직 그 경우에만 f(x) = 1(영희)로 나타낼 수 있다. 최종적으로 우리의 결론을 정리하면 다음과 같다.

 

영희가 노래하는 오직 그 경우에만,f : D { 0, 1 }이고 x D에 대하여 x가 노래하는 경우 오직 그 경우에만 f(x) = 1(영희) = 1이다.

 

  

   프레게의 기본적인 가정은 술어가 일종의 함수라는 것이다. 그런데 하나의 술어는 그 술어가 표현하는 속성을 가지는 모든 대상들의 집합이라고 생각할 수도 있을 것 같다. 그렇다면 술어에 대한 집합적 표현은 프레게의 가정을 위반하는 것일까? 아니다. A를 하나의 집합이라고 하자. 이 때 A의 특성함수(characteristic function)

를 도입하고,

x A인 모든 x에 대해서 f(x) = 1이고, x A인 모든 x에 대해서 f(x) = 0을 만족시키는 함수라고 하자. 이 때 f의 치역은 { 0, 1 }이다. 이와 같은 정의에 의해 어떤 대상들의 집합에 대해서도 그 집합을 특징짓는 특성함수

= { x D : f(x) = 1 }을 대응시킬 수 있다.

 

세계에 철수, 민수, 영희 세 사람이 있고, 철수와 민수가 잠을 자며 민수가 코를 골고 있다면,

 

잠을 잔다=

철수 1

민수 1

영희 0

이고 코를 곤다=

철수 0

민수 1

영희 0

이 된다. 달리 말하면, 잠을 잔다= { <철수, 1>, <민수, 1>, <영희, 0> }이고 코를 곤다= { <철수, 0>, <민수, 1>, <영희, 0> }로 표현할 수 있다. 잠을 잔다(철수) = 1이다.

또한 x D인 모든 x에 대해서 만약 코를 곤다(x) = 1이면 잠을 잔다(x) = 1이다.

또한 { x : 잠을 잔다(x) = 1 } { x : 코를 곤다(x) = 1 }= 1이다.

 

   지금까지 우리는 가장 단순한 경우인 자동사(intransitive verb)만을 다루었다. 이제 우리의 논의를 타동사(transitive)에까지 확장시켜보자. 영희가 민수를 좋아한다라는 문장을 분석하면 다음과 같다.

 

S

NP

VP

N

NP

V

 

N

 

영희는

민수를

좋아한다

    

   위의 도식을 보면 VPVNP로 조합되고, 프레게의 추측에 따라서 이 때의 조합은 함수 관계다. 그리고 우리는 이전 논의에서 NP가 개체들을 지시하고 VP가 개체들로부터 진리값에 이르는 함수를 지시하는 것을 알았다. 이는 좋아하다와 같은 타동사가 개체들로부터 함수(개체들로부터 진리값에 이르는)에 이르는 또 다른 함수를 지시함을 의미한다.

 

①〚좋아하다= f : D { g : gD에서 { 0, 1 }으로의 함수 }

x D인 모든 x에 대해서 f(x) =

: D { 0, 1 }

y D인 모든 y에 대해서 yx를 좋아하는 오직 그 경우에만

(y) = 1이다.

 

②〚좋아하다D로부터 함수들의 집합에 이르는 함수이다.

이 때의 함수들은 정의역이 D이고 치역이 { 0, 1 }인 함수들이다.

특히 이 함수들은 x D인 모든 x에 대해서 f(x) =

: D { 0, 1 }이며,

y D인 모든 y에 대해서 yx를 좋아하는 오직 그 경우에만

(y) = 1이다.

 

③〚좋아하다= f : D { g : gD에서 { 0, 1 }으로의 함수 }

x, y D인 모든 x에 대해서 yx를 좋아하는 오직 그 경우에만 f(x)(y) = 1이다.

 

이 결과를 토대로 우리는 기존의 의미론적 규칙에 대해서 아래의 규칙을 덧붙이게 된다.

(S6) α

VP

β

γ

의 구조를 갖고 있다면, 〚α〛=〚γ〛(〚β〛)를 지시한다.

 

  

   이제 우리는 개체, 진리값, 개체들로부터 진리값에 이르는 함수 뿐만 아니라 개체로부터 함수(개체로부터 진리값에 이르는)에 이르는 함수까지 다룰 수 있게 되었다. 이 결과를 몬테규(Montague)의 표기법을 도입해서 표현해보자.

 

의미론적 유형(types)

et는 의미론적 유형이다.

만약 στ가 의미론적 유형이라면 <σ, τ> 또한 의미론적 유형이다.

 

  

의미론적 지시의 영역(domain)

D (개체들)

{ 0, 1 } (진리값)

모든 의미론적 유형 σ, τ에 대해

가 정의역이고

가 치역인 함수들의 집합

 

고유명사의 지시는

, 자동사의 지시는

, 타동사의 지시는

에 속한다.

{ f : f

} ,

{ f : f

}이다. 형용사(adjective)와 양화사(quantifier)를 다룰 경우 유형은 훨씬 더 복잡해진다. 이상과 같은 논의에서 우리는 타동사가 1가 함수(논항argument이 개별자인 함수)라고 상정해왔는데, 이와 같은 우리의 상정을 뒷받침해주는 세 가지의 근거가 있다.

 

두 갈래 가지치기 규칙(Binary Branching)

구문론(syntax)에서 타동사(transitive)는 동사절(VP)을 구성하기 위해 직접 목적어와 결합하고, 동사절들은 주어와 결합하여 하나의 문장을 만든다.

 

국소성(Locality)

의미론적 해석 규칙은 국소적이다. , 어떤 위치에 있는 매듭(node)도 그 하위 매듭의 지시체들을 통해 계산할 수 있다.

 

프레게의 추측(Frege's Conjecture)

의미론적 조합은 함수적 적용(application)과 같다.

 

   현재 표준적인 의미론에서는 타동사를 2(2-place) 함수로 취급한다. 타동사를 1가 함수로 취급하는 우리의 논의와 표준적인 논의는 어떻게 연관될까? 이를 알아보기 위해 다음과 같은 예를 들어보자. D에 갑, , 병이라는 이름을 가진 염소 세 마리만 있다고 하자. 이 때 보다 더 큰이라는 관계가 다음과 같은 순서쌍으로 표현된다.

= { <, >, <, >, <, > }. 우리는 이 순서쌍에 유일한 2가의 특성함수를 아래와 같이 대응시킬 수 있는데, 쉔핀켈(Schönfinkel)에 의하면 임의의 n가 함수는 1가 함수로 환원될 수 있으므로, 2가 함수를 2가지 방식으로(좌항 우선, 우항 우선) 1가 함수에 환원시킬 수 있다.

 

=

<, > 0

<, > 0

<, > 0

<, > 1

<, > 1

<, > 0

<, > 1

<, > 0

<, > 0

=

0

0

0

1

0

1

1

0

0

=

0

1

1

0

0

0

0

1

0

 

   마지막으로 함수를 더 간단하게 표현할 수 있는 표기법을 도입해보자.

f : ℕ → ℕ, 모든 x ∈ ℕ에 대해서 f(x) = x + 1’이라는 함수의 경우,

[ λx : x ∈ ℕ. x + 1 ]이라고 간단하게 나타낼 수 있다. 이 때 λx : x ∈ ℕ. x + 1’는 모든 xx + 1에 대응시키는 최소(smallest) 함수'를 뜻한다. λ-용어를 도식적으로는 다음과 같이 나타낸다. [ λα : φ . γ ]. 이 때 α논항 변수(argument variable), φ정의역 조건(domian condition), γ결과값 기술구(value description)라고 한다. 이는 φ에 속하며 γ이라는 값을 가지는 모든 α에 대해 1을 부여하고, 그 밖의 다른 경우에는 0을 부여하는 함수라고 읽을 수 있다.

 

   예를 들어 [ λx : x ∈ ℕ. x는 짝수 ]라는 표현은, “만약 x가 짝수이면 1의 값을 부여하고 그 밖의 경우에는 0을 부여하는 함수라고 읽을 수 있다. 이러한 λ-표기법은 타동사의 경우도 간단히 표시할 수 있게 한다.사랑하다〛≔ [ λx : x D . [ λy : y D . yx를 사랑한다] ]라고 표시할 수 있다. 더 짧게 다음과 같이 나타낼 수도 있다. λx . [ λy. yx를 사랑한다].