限定継続を用いたフォーカスおよび inverse scope の分析と実装
叢悠悠

1(指導教員：戸次大介)

はじめにかによって真理条件が異なっている．(3) では also によって「Bill 以外に Mary が Sue に紹介した人物が存在する」という前提がもたらされる．同様に，(4) は「Sue 以外に Mary が Bill だけを紹介した人物が存在する」という前提をもつ．
直感的に，only は「その命題を満たすのはフォーカスされたもののみである」という意味をもつが，これは only がフォーカスに対するコンテキスト，つまりフォーカスの部分が “hole” となった命題を要求し，hole にフォーカスされた語句を代入した命題は真，他の語句を代入したものは偽としていることを意味する．
また，also は「フォーカス以外にその命題を満たすものが存在する」という前提を引き起こす．言い換えれば，also のフォーカスを他の語句に置き換えた命題の中で，真になるものが少なくとも 1 つ存在することを意味する．これらをふまえて，only のフォーカスに対する意味表示と also のフォーカスがもたらす前提を以下のように記述することができる ([2, 7])．

フォーカスや inverse scope といった言語現象は，その意味表示を与える際に特定の語彙項目に対するコンテキストが必要となる．意味表示とは文の真理条件を論理式で表現したものであるが，この中である項のまわりのコンテキストは，その項に対する残りの計算とみなすことができる．この「残りの計算」のことをプ
ログラミングでは「継続」とよぶ．本研究では限定継続命令 shift/reset [3] を用いてフォーカスおよびinverse scope を含む文の意味表示を与える．また，これらの意味表示を OchaCaml [4] で実行し，正しく簡約されることを示す．

2

継続

継続とは，計算のある時点における残りの計算のことを指す．たとえば，1 + (2 ∗ 3) という計算の 2 ∗ 3 の部分を実行しているときの継続は「現在実行している部分の結果に 1 を足す」という計算になる．この計算は λx. (1 + x) という関数で表すことができる．
継続のうち，範囲の限られたものを限定継続とよぶ．
shift/reset は限定継続を扱うためのオペレータであり，shift は継続を切り取る命令，reset は shiftが切り取る継続の範囲を定める命令である．例として 1 + reset (2 ∗ shift k. (3 + k 4)) という計算を考えると，shift によって切り取られる継続 k は，shiftのまわりの計算のうち，reset で囲まれた範囲のもの，つまり λx. (2 ∗ x) という関数になる．この式を簡約す
ると 12 になる．
OchaCaml は shift/reset を 使 う こ と の で きる ML 系言語である．本研究では OchaCaml 上でshift/reset を用いてフォーカスおよび inverse scopeを含む文の意味表示を記述し，それらがどのように簡約されるかを観察する．

3def(5) [M ]Fo ≡ shift k. ∀x (k x ↔ x = M )def(6) [M ]Fa ≡ shift k. ∃y (k y ∧ ¬(y = M ))フォーカスを shift で表し，副詞のスコープを resetで囲むことにより，継続 k はフォーカス部分が holeとなった命題になる．(5) は「hole の部分に何らかの語句を代入した命題が成り立つのは，それがフォーカスされた語句であるとき，かつそのときのみである」ということを意味する．また，(6) は「hole の部分に代入してその命題が成り立つような語句がフォーカスされた語句以外に存在する」ということを表す．
この定義に従って (1) および (4) の意味表示を記述し，OchaCaml で実行すると，それぞれ以下のように簡約される（なお，m, b, s は名前 Mary, Bill, Sue の指示対象である）．

フォーカス(1) reset (introduce (m, shift k. ∀x (k x ↔ x = b), s))= ∀x (introduce (m, x, s) ↔ x = b)

フォーカスとは，文の中で新しい，あるいは重要な情報となる部分のことである．only や also といった副詞は，フォーカスを伴う機能語として知られている([6])．以下，only と also のフォーカスを [ ]Fo , [ ]Faで表すとし，例文 (1)-(4) を考える．

(4) reset (introduce (m, shift k. ∀x (k x ↔ x = b),shift k ′. ∃y (k ′ y ∧ ¬(y = s))))= ∃y(∀x(introduce(m, x, y) ↔ x = b)∧¬(y = s))(1) Mary only introduced [Bill]Fo to Sue.
（Mary は Bill だけを Sue に紹介した．
）

さらに，1 つの語句が複数の副詞にフォーカスされている場合もある．以下がその例である．

(2) Mary only introduced Bill to [Sue]Fo .
（Mary は Bill を Sue だけに紹介した．
）(7) Sue has also thought that John only loved[[Mary]Fa ]Fo .

(3) Mary also introduced [Bill]Fa to Sue.
（Mary は Sue に Bill も紹介した．
）(7) は「Mary 以外に John が彼女だけを愛していたとSue がかつて思っていた人が存在する」という読みをもつ．[[Mary]Fa ]Fo がネストしたフォーカスになっており，外側が only ，内側が also に対応している．ここで，only のスコープは “John loved x” という部分に限られるが，also のスコープは Sue の信念までを含んだ “Sue has thought that John only loved x” とい(4) Mary also only introduced [Bill]Fo to [Sue]Fa .
（Mary は Sue にも Bill だけを紹介した．
）(1) と (2) は only のフォーカスが Mary の紹介した人と，Mary が誰かを紹介した先の人のどちらになる27

う範囲である．つまり，(7) では 2 つの副詞のフォーカ
スに対するコンテキストが異なっている．これらのコンテキストを区別するためには，階層付けした 2 つの限定継続命令が必要になる．そこで，[8] は OchaCaml
で通常の shift/reset にあたる shift1/reset1 および 1 つ階層が上の shift2/reset2 を定義し，(7) の意味表示を (8) のように与えた．

def(10) [f ]INV ≡ shift k. f k(f : (e → t) → t)

INV オペレータは量化名詞句 f を引数として受け取る．shift によって k に束縛される継続は，f のまわりのコンテキストである．このコンテキストが f に渡されることで，f に含まれる量化表現が上のスコープをとる表示となる．shift オペレータが含まれるため，実行する際は式全体を reset で囲む必要がある．
INV オペレータを用いると，量化表現を 3 つ含む文における intermediate-inverse scope reading を導出できる．以下がその例である（everypp は前置詞句に含まれる every を表す）．

(8) reset2 (think (s,reset1 (love (j, shift1 k. ∀x (k x ↔ x =shift2 k ′. ∃y (k ′ y ∧ ¬(y = m)))))))= ∃y (think (s,∀x (love (j, x) ↔ x = y) ∧ ¬(y = m)))only と also のフォーカスをそれぞれ shift1/reset1,shift2/reset2 で記述することで，also のフォーカスに含まれる shift2 が reset1 で囲まれた only のスコープを越えて reset2 までの継続を切り取ることが可能になる．

(11) Some teachers introduce [most students]INV toevery company.
reset (some teacher (everypp company(introduce (inv (most student)))))= most z (student (z), ∃y (teacher (y)∧∀x (company (x) → introduce (y, z, x))))45

Inverse scope

複数の量化表現を含む文においては，それぞれの量化表現のスコープ関係が表層的な順序と一致した surface scope reading と，順序が逆転した inverse scope
reading をともにもつことがある．以下の例文を考える．

おわりに

本研究ではフォーカスあるいは inverse scope のど
ちらか一方を含む文について，shift/reset で意味表示を与えた．今後はフォーカスと inverse scope をともに含む文における両者の相互作用について考察したいと考えている．

(9) Some woman loves every man.
（ある女性が全ての男性を愛している．
）

参考文献

a. ∃x (woman (x) ∧ ∀y (man (y) → love (x, y)))（ある特定の女性が全ての男性を愛している．
）[1] Barker, C.: Continuations and the Natureof Quantification, Natural Language Semantics
10(3), pp. 211–241 (2002).

b. ∀y (man (y) → ∃x (woman (x) ∧ love (x, y)))（全ての男性について，彼を愛する女性が存在する．
）[2] Bekki, D. and K. Asai: Representing CovertMovements by Delimited Continuations, In:K. Nakakoji, Y. Murakami, and E. McCready(eds.): New Frontiers in Artificial Intelligence(JSAI-isAI 2009 Workshops, Tokyo, Japan,November 2009, Selected Papers from LENLS
6), Vol. LNAI 6284, pp. 161–180 (2010).

(9a) は some と every のスコープが文中の順序と一致した surface scope reading である．一方，(9b) では every のスコープが some より上になっている．これが (9) に対する inverse scope reading である．
[5] は論理形式とよばれる表示を用いて文中に含まれる量化表現の相対的なスコープを表現している．たとえば，(9b) の読みは (9c) のような論理形式で表される（[S ] と [NP ] はそれぞれ [ ] 内が文および名詞句であることを表す）．

[3] Danvy, O. and Filinski, A.: Abstracting Control, In: LFP90, the 1990 ACM Conference on
Lisp and Functional Programming, pp. 151–160(1990).
[4] Masuko, M. and K. Asai: Caml Light +shift/reset = Caml Shift, Theory and Practiceof Delimited Continuations (TPDC 2011), pp.
33–46 (2011).

(9c) [S [NP every man]3 [S [NP some woman]2 [S e2loves e3 ]]][5] May, R.: The Grammar of Quantification, Doctoral dissertation, MIT, Cambridge (1977).

(9c) の 2 つ目の S ノードと 3 つ目の S ノードはそれぞれ every man, some woman に対するコンテキストである．この場合，自身のコンテキストに他の量化表現を含んでいる every man が上のスコープをとる．
[1] は各語彙項目に対する継続を明示化し，文を構成する際の実行順序を指定することで surface/inverse
scope reading を導出しているが，3 つの量化表現を含む文において，主語位置の量化表現のスコープが他の 2 つの間に入る読み（本稿では intermediate-inverse
scope reading とよぶ）を導出できない．この問題を回避するために，[9] は inverse scope reading を導出するための INV オペレータを (10) のように定義した（e は個体，t は真偽値の型である）．

[6] Rooth, M.: Focus, The Handbook of Contemporary Semantic Theory, pp.271–298 (1997).
[7] 叢悠悠, 浅井健一, 戸次大介: 限定継続を用いたフォーカスの分析と実装に向けて, 情報処理学会
第 214 回自然言語処理研究会 (2013).
[8] 叢悠悠, 浅井健一, 戸次大介: 限定継続を用いたフォーカスの分析と実装, 第 16 回プログラミングおよびプログラミング言語ワークショップ論文集掲載予定 (2014).
[9] 叢悠悠, 浅井健一, 戸次大介: 限定継続を用いた
inverse scope の分析と実装, 言語処理学会第 20回年次大会発表論文集掲載予定 (2014).

28