제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 |
|
영희는 |
민수를 |
좋아한다 |
위의 도식을 보면 VP는 V와 NP로 조합되고, 프레게의 추측에 따라서 이 때의 조합은 함수 관계다. 그리고 우리는 이전 논의에서 NP가 개체들을 지시하고 VP가 개체들로부터 진리값에 이르는 함수를 지시하는 것을 알았다. 이는 ‘좋아하다’와 같은 타동사가 개체들로부터 함수(개체들로부터 진리값에 이르는)에 이르는 ‘또 다른 함수’를 지시함을 의미한다.
①〚좋아하다〛= f : D → { g : g는 D에서 { 0, 1 }으로의 함수 }
x ∈ D인 모든 x에 대해서 f(x) =
: D → { 0, 1 }
y ∈ D인 모든 y에 대해서 y가 x를 좋아하는 오직 그 경우에만
(y) = 1이다.
②〚좋아하다〛는 D로부터 ‘함수들’의 집합에 이르는 함수이다.
이 때의 ‘함수들’은 정의역이 D이고 치역이 { 0, 1 }인 함수들이다.
특히 이 함수들은 x ∈ D인 모든 x에 대해서 f(x) =
: D → { 0, 1 }이며,
y ∈ D인 모든 y에 대해서 y가 x를 좋아하는 오직 그 경우에만
(y) = 1이다.
③〚좋아하다〛= f : D → { g : g는 D에서 { 0, 1 }으로의 함수 }
x, y ∈ D인 모든 x에 대해서 y가 x를 좋아하는 오직 그 경우에만 f(x)(y) = 1이다.
이 결과를 토대로 우리는 기존의 의미론적 규칙에 대해서 아래의 규칙을 덧붙이게 된다.
(S6) α가
VP |
|
β |
γ |
의 구조를 갖고 있다면, 〚α〛=〚γ〛(〚β〛)를 지시한다.
이제 우리는 개체, 진리값, 개체들로부터 진리값에 이르는 함수 뿐만 아니라 개체로부터 함수(개체로부터 진리값에 이르는)에 이르는 함수까지 다룰 수 있게 되었다. 이 결과를 몬테규(Montague)의 표기법을 도입해서 표현해보자.
◎ 의미론적 유형(types)
① e와 t는 의미론적 유형이다.
② 만약 σ과 τ가 의미론적 유형이라면 <σ, τ> 또한 의미론적 유형이다.
◎ 의미론적 지시의 영역(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’는 모든 x를 x + 1에 대응시키는 최소(smallest) 함수'를 뜻한다. λ-용어를 도식적으로는 다음과 같이 나타낸다. [ λα : φ . γ ]. 이 때 α를 논항 변수(argument variable), φ를 정의역 조건(domian condition), γ를 결과값 기술구(value description)라고 한다. 이는 “φ에 속하며 γ이라는 값을 가지는 모든 α에 대해 1을 부여하고, 그 밖의 다른 경우에는 0을 부여하는 함수”라고 읽을 수 있다.
예를 들어 [ λx : x ∈ ℕ. x는 짝수 ]라는 표현은, “만약 x가 짝수이면 1의 값을 부여하고 그 밖의 경우에는 0을 부여하는 함수”라고 읽을 수 있다. 이러한 λ-표기법은 타동사의 경우도 간단히 표시할 수 있게 한다.〚사랑하다〛≔ [ λx : x ∈ D . [ λy : y ∈ D . y는 x를 사랑한다] ]라고 표시할 수 있다. 더 짧게 다음과 같이 나타낼 수도 있다. λx . [ λy. y는 x를 사랑한다].
'과학철학 이야기' 카테고리의 다른 글
그라이스, [지시적 조건문] 요약 정리 (0) | 2016.06.25 |
---|---|
써얼, [언화행위] 요약 정리 (0) | 2016.06.24 |
오스틴, [말과 행위] 요약 정리 (0) | 2016.06.22 |
레일턴, [확률적 설명에 대한 연역-법칙적 모형] 요약 정리 (0) | 2016.06.20 |
프리드만, [설명과 과학적 이해] 요약 정리 (0) | 2016.06.19 |