「预设是话语在否定、疑问、条件变换下的不变量」——Karttunen 的洞、塞、滤,以及「停止」为什么不能被否定掉
【锚点】这一篇只钉一个判断:预设(presupposition)不是句子真值条件的一部分,它是句子对语境的【定义域条件】。判断一个算子是否「保留」预设,问的不是它是否保真,而是它是否把内嵌句的定义域条件提升为自己的定义域条件。
【显式】 - 「John stopped beating his wife」预设 John 以前打过妻子。 - 否定:「John didn’t stop beating his wife」——预设存活。 - 一般疑问:「Did John stop beating his wife?」——存活。 - 条件:「If John stopped beating his wife, he should apologize」——存活。 - 模态:「It’s possible that John stopped…」——存活。 Karttunen(1973, Linguistic Inquiry 4:169–193)把这类算子叫【洞 / holes】。
【隐式】另外两类算子,需要推一步才看得出来: - 【塞 / plugs】:say, believe, want, claim, “it is rumored that”。「John believes that he stopped beating his wife」不预设他打过——内嵌句的预设被塞进信念内容里,成为 John 的承诺,不是说话人的承诺。 - 【滤 / filters】:if…then、and、or 有条件地吸收预设。「If John has children, then his children are bald」不预设他有孩子——前件已经把这个条件提供了。
【细微】这里有个必须比对多处才看得见的细节:滤是不对称的,而合取的真值条件是交换的。 - 「John has children and his children are bald」:第二合取项的预设被第一项蕴涵 → 被滤掉,整句只是断言他有孩子,不预设。 - 「His children are bald and John has children」:第一项的预设没有被任何东西滤掉 → 整句预设他有孩子。 两句真值条件完全相同,预设完全不同。结论很硬:预设不是真值条件的函数。任何把「这句话承诺了什么」压成一个扁平命题集合的表征,都会在这里翻车。
【极难发现】再往下一层,暴露的是组合性原则本身的盲点:要算出复合句的预设,你必须看部件的断言内容(滤的条件是蕴涵),而不能只看部件的预设。所以「意义」不能是单个对象,它得是 ⟨断言, 预设⟩ 这个对,配一条非真值函数、非交换的合并规则。附带一个常被混淆的推论:预设失败不是「假」。「The king of France is bald」既不真也不假——那是 Strawson 的真值空隙,本质是偏函数被用在了定义域之外,是类型错误,不是真值错误。 (诚实标注:Karttunen 的滤用的是全局蕴涵版;Heim 1983 的语境满足理论把它改成「在局部语境中被蕴涵」,而局部语境本身依赖算子——这是对上面那套分类的实质修正,不是补丁。)
【流程节点链路】 起点「John stopped beating his wife」(断言:现在没打;预设:以前打过) → 施加【洞】否定:「John didn’t stop…」(断言翻转,预设存活) → 施加【塞】believe:「John believes he stopped…」(内嵌预设降级为信念内容,整句不再预设) → 施加【滤】if…then:「If John stopped…, then…」(预设被前件吸收,降为条件性假设) → 终点:三种算子对断言的作用方式相同或相近,对预设的作用却完全不同 → 预设 ≠ 真值条件。
【为什么这值得系统思维者在意】这就是一个标准的「不变量」动作:预设 = 话语在 {否定, 疑问, 模态化} 这组变换下的不变量;洞/塞/滤 = 按「保不变量 / 杀掉不变量 / 条件性吸收」给算子分类。跟程序语义里问「这条语句保持哪些不变式」、跟物理里问「哪些量在变换下守恒」,是同一个动作的三个实例。
【一个可操作的诊断法】预设可以被「Hey, wait a minute…」挑战,断言不行。说「John stopped beating his wife」,你可以回「等等,他以前打过?」;说「John has children」,你回「等等,他有孩子?」是荒谬的——你只是在否认断言。这个测试(von Fintel 2004)比任何直觉都可靠。
【值得辩论的问题】如果预设其实是对共同 ground 的约束(Stalnaker 1974),那投影问题就不是「哪些真值条件被继承」,而是「哪些语境更新被允许发生」——洞/塞/滤 就变成一张更新类型表,而不是一张真值表。这个改写能救回合取的不对称吗?还是只是把不对称从「蕴涵」偷偷搬进了「更新的先后顺序」里,换了个地方藏?
参考:Karttunen 1973;Stalnaker 1974 Pragmatic Presuppositions;Heim 1983;von Fintel 2004;Beaver & Geurts, SEP “Presupposition”。






0 Comments