Comments
Description
Transcript
pdf, 7 pages
日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集 永続性と減少ダイアグラム法に基づく合流性証明法 内田 和真 青戸 等人 外山 芳人 項書き換えシステムの合流性証明法としてルールラベリングに基づく減少ダイアグラム法が知られている.しかし, 非線形項書き換えシステムに対してはこの証明法をそのまま適用することは困難である.一方,非線形項書き換えシ ステムの合流性証明法として永続性と危険対解析を組み合わせた手法が提案されている.本報告では,非線形項書き 換えシステムに適用可能な,永続性と減少ダイアグラム法に基づく新しい合流性証明法を提案する. 接適用できない項書き換えシステム R について,R 1 はじめに から得られる型付き項書き換えシステム Rτ に含まれ 抽象書き換えシステムの合流性証明法として減少 る非線形変数に任意の正規項を代入し,Rτ を無限個 ダイアグラム法が知られている [6] [7].また,減少ダ τ の書き換え規則をもつ線形項書き換えシステム Rnf イアグラム法とルールラベリングを用いて左線形か τ に変換する.さらに,Rnf に減少ダイアグラム法を つ停止性をもたない項書き換えシステムの合流性証 直接適用することで元の項書き換えシステム R の合 明法が提案されている [1] [4] [7] [8].しかし,非線形項 流性を導く. 書き換えシステムに減少ダイアグラム法を直接適用 することは一般に困難である. 2 準備 一方で,非線形かつ停止性をもたない項書き換えシ ここでは,抽象リダクションシステムおよび項書き ステムの合流性判定法として,項書き換えシステムに 換えシステムの基本的な用語や概念について説明す 型付けを行なっていくつかの部分システムに分解し, る [3]. 部分システムの合流性から永続性を利用して全体の ラ ベ ル 集 合 を I と し ,→α を α ∈ I に よって ラ 合流性を示す方法が提案されている [2].また,型付 ベル付けされた集合 T 上の関係とする.このとき, けによる分解に失敗する場合でも,型付き項書き換え A = (T, ⟨→α ⟩α∈I ) を抽象リダクションシステム,→α システムが弱左線形のときはその弱左非線形変数を をリダクション関係という.また,≻ は I 上の整礎な 正規項で具体化して得られる左線形項書き換えシス 半順序とする.α ∈ I について,gα = {β ∈ I|α ≻ β} テムの合流性から,元の項書き換えシステムの合流性 と定義する.また,α,β のどちらかより真に小さい を示す方法も提案されている [5]. ラベルの集合を gα ∪ β = gα ∪ gβ と定義する.→ 本報告では,永続性と減少ダイアグラム法を組み合 わせた非線形項書き換えシステムの合流性自動証明法 + = の反射閉包を →,対称閉包を ↔,推移閉包を →,反 ∗ ∗ 射推移閉包を →,同値閉包を ↔ とそれぞれ表す. を提案する. 本証明法では,減少ダイアグラム法が直 関数記号の集合を F ,変数記号の集合を V ,また F Confluence of Term Rewriting Systems based on Persistency and Decreasing Diagrams. Kazumasa Uchida,Takahito Aoto,Yoshihito Toyama, 東北大学電気通信研究所, Dept. of Research Institute of Electrical Communication, Tohoku University. と V からなる項の集合を T (F, V ) と表す.項 t に 1 回 だけ出現する変数を線形変数,2 回以上出現する変数 を非線形変数とよぶ.各変数が高々1 回しか現れない 項を線形項,非線形変数を含んだ項を非線形項とよぶ. 項 t に出現する変数集合を V (t),項 t に出現する非線 数を共有しない書き換え規則 l1 → r1 ,l2 → r2 につ 形変数集合を Vnl (t) と表す.項 t の位置の集合 P os(t) いて,位置 p が存在し l1 と l2 |p ∈ / V が単一化可能 を t ∈ V のとき P os(t) = {ϵ},t ≡ f (t1 , t2 , ..., tn ) の で,l1 と l2 |p の最汎単一化子を θ としたとき,項の とき P os(t) = {ϵ} ∪ {iu | 1 ≤ i ≤ n, u ∈ P os(ti )} と 対 ⟨l2 [r1 ]p θ, r2 θ⟩l1 →r1 ,l2 →r2 は l1 → r1 ,l2 → r2 に 定義する.項 t の位置 p での部分項を t|p ,位置 p に 対する危険対とよばれる.ただし,2 つの書き換え規 出現する関数記号を t(p) と表す.項 t における関数記 則が同一のときは p ̸= ϵ とする.R に含まれる書き 号の位置集合を P osF (t) = {p ∈ P os(t) | t(p) ∈ F }, 換え規則から得られる危険対の集合を CP (R) と表記 変数記号の位置集合を P osV (t) = P os(t)\P osF (t) する. と定義する.p と q をある項における位置とする.ま 項書き換えシステム R が合流性をもつとは,任意 た,ある正整数列 o が存在して po = q をみたすとき の項 t, t1 , t2 に対して,t1 ←R t →R t2 ならば,ある p ≥ q と順序付けされ,このとき位置 o は p\q と表 項 s が存在して t1 →R s ←R t2 となることである. される.p ∥ q を p q ∧ q p と定義する.ホール とよばれる特別な定数記号 を含む項を文脈とよぶ. 文脈 C においてホールが位置 pi (1 ≤ i ≤ n) に出現 しているとき,位置 pi のホールを項 ti で置き換えて ∗ ∗ ∗ ∗ 命題 2.1 ( [5]) 項書き換えシステム R1 ,R2 の書き ∗ 換え関係を →,→ とし,また → ⊆ → ⊆ ↔ が成り 1 2 1 2 1 立つとする.このとき,R1 が合流性をもつならば R2 も合流性をもつ. 得られる項を C[t1 , . . . , tn ]p1 ,...,pn と表す.代入 θ は, θ : V → T (F, V ) で定義される関数である.θ(t) は 2. 1 減少ダイアグラム法による合流条件 tθ とも表される. ∗ 項の対 (l, r) が l ∈ / V かつ V (r) ⊆ V (l) をみたすと き,これを書き換え規則とよび l → r と表す.項書き 換えシステム R は書き換え規則の有限集合である.書 き換え規則 l → r の両辺が線形項ならば,この書き換 え規則 l → r は線形であるという.項書き換えシステ ム R が線形であるとは,R のすべての書き換え規則 が線形であることをいう.書き換え規則 l → r に出現 する非線形変数集合を Vnl (l → r) = Vnl (l) ∪ Vnl (r), = ∗ α, β ∈ I に対して,←α ·→β ⊆ ↔gα · →β · ↔gα∪β · = ∗ ←α · ↔gβ をみたす整礎な半順序 ≻ が存在するとき, →α と →β は局所減少性をもつという.また,抽象 リダクションシステム A = (T, ⟨→α ⟩α∈I ) が局所減少 性をもつとは,整礎な半順序 ≻ が存在して,すべて の α, β ∈ I に対して,→α と →β が局所減少性をも つことである. 命題 2.2 (減少ダイアグラム法に基づく合流性 [7]) 抽 線形変数集合を Vl (l → r) = V (l)\Vnl (l → r) と定 象リダクションシステム A = (T, ⟨→α ⟩α∈I ) が局所減 義する.書き換え規則 l → r ∈ R ,文脈 C[ ],代 少性をもつとき,A は合流性をもつ. 入 θ が存在して s = C[lθ]p かつ t = C[rθ]p となると 項書き換えシステム R の書き換え規則へラベル き,項 s が項 t に書き換えられるといい,s → t と表 付けすることをルールラベリングという [1] [8].R 上 す.また,項 s の部分項 lθ をリデックスといい,リ のラベリング関数を δ : R → N とし,s = C[lθ], デックスを持たない項を正規形という.ある書き換え t = C[rθ],δ(l → r) = i のとき s →i t とラベル付け C[lθ] → C[rθ] について,リデックス lθ の真部分項 される. が正規形となるとき,この書き換えを最内書き換えと ∗ よぶ.最内書き換えを → と表す.また,s → t とな im im る正規形 t が存在するとき,項 s を最内正規という. 項 s, t について,sθ = tθ をみたす代入 θ を単一 化子とよび,s と t の最汎単一化子を mgu(s, t) と表 す.項 t が項 s に対して位置 p ∈ P osF (s) で重なる とは,s|p と t が最汎単一化子をもつことをいう.変 2. 2 永続性による合流条件 ソートの集合を S とする.変数 x にソート σ ,n 引 数関数の関数記号 f にソート σ1 × · · · × σn → σ を 関連付ける型付けを τ と定義する.項 t を τ で型付 けしたものを tτ と表し,その型を τ (t) と表す.ある 項 C[s] が存在して C[sσ ]τ と型付けされるとき τ & σ Rτ について,l → r ∈ Rτ と x ∈ Vnl (l) ∪ Vnl (r) が と記す.このとき,& は擬半順序となる.型付け τ が 存在し σ = τ (x) となるときの型 σ を Rτ の非線形型 R において矛盾がないとは,任意の l → r ∈ R にお とよぶ.また,Rτ 上の非線形型の集合を N Lτ (Rτ ) いて l,r が型付けされて τ (l) = τ (r) となることを と表す. いう.このとき,τ (l → r) = τ (l) と定める.R 上の 矛盾のない型付け τ から得られる型付き項書き換え システムを Rτ = {lτ → r τ | l → r} と定義する.型 σ をもつ項に適用可能な Rτ の書き換え規則の集合を Rστ と表す.R の合流性と Rτ の合流性が等価である ことは以下の命題より知られている. 命題 2.3 (永続性 [2]) R が合流性をもつことと Rτ が 定義 3.2 (型付き項の変数) Rτ 上の型付き項 t に対 して非線形型変数集合を VN Lτ (t) = {x ∈ V (t) | τ (t) ∈ N Lτ (Rτ )} ,線 形 型 変 数 集 合 を VLτ (t) = V (t) \ VN Lτ (t) と表す. 例 3.3 以下の項書き換えシステム R とその一般的な 型付け τ を考える. f (x, x, y) → f (x, g(x), y) 合流性をもつことは等価である. R= f (x, y, z) → h(a) 3 弱線形システム 項書き換えシステム R に減少ダイアグラム法を直 接適用するには R が線形となっている必要がある. 0×0×1 f: → 2, g: → 0 0 h: 0 → 2, a : → 0 R τ 上 に 変 数 の 型 を 明 示 す る と ,R τ = そこで,左辺と右辺に現れる非線形変数を対象とした {f (x , x , y ) → f (x , g(x ), y ), f (x , y , z ) → 弱線形システムを提案する.最初に,非線形型付き項 h(a)} となる.このとき,N Lτ (Rτ ) = {0} が得られ, τ 0 0 1 0 0 1 0 0 1 書き換えシステム R が弱線形システムならば,無限 VN Lτ (f (x0 , x0 , y 1 )) = {x},VN Lτ (f (x0 , y 0 , z 1 )) = 個の書き換え規則をもつ線形型付き項書き換えシス {x, y},VLτ (f (x0 , x0 , y 1 )) = {y},VLτ (f (x0 , y 0 , z 1 )) = τ テム Rnf に変換できることを示す.次に,Rτ が弱線 τ 形かつ Rnf が合流性をもつとき,Rτ は合流性をも つことを示す. {z} となる. 定義 3.4 (弱線形) 型 σ が 最 内 正 規 で あ る と は , τ (t) = σ となる任意の項 t が最内正規であること 3. 1 弱線形システムの線形化 ここでは,弱線形な非線形型付き項書き換えシス テム Rτ を無限個の書き換え規則をもつ線形型付き をいう.また,型付き項書き換えシステム Rτ のすべ ての非線形型が最内正規であるとき,Rτ は弱線形で あるという. τ 項書き換えシステム Rnf に変換する手法を示す.変 定義 3.5 (型付き項書き換えシステムの線形化) 弱線 数 x に対応する定数 cx の集合を CV = {cx | x ∈ V } 形な型付き項書き換えシステム Rτ の非線形変数に とする.以下では,書き換えを行う項の集合として, 正規形を代入して得られる線形な型付き項書き換え T (F, V ) の代わりに基底項集合 T (F ∪ CV ) をもちい τ τ システム Rnf を Rnf = {lθ̂ → rθ̂ | l → r ∈ Rτ , θ̂ : る.項 t ∈ T (F, V ),{x1 , . . . , xn } = V (t) とおくと, Vnl (l → r) → TN F (F ∪ CV )} と定義する. x1 , . . . , xn を定数 cx1 , . . . , cxn に置き換えた基底項 tc ∈ T (F ∪ CV ) が得られ,t → s ⇔ tc → sc が成立 例 3.6 以下の型付き項書き換えシステム Rτ を考 える. する.よって,項書き換えシステムが T (F, V ) 上で合 流性をもつことと T (F ∪ CV ) 上で合流性をもつこと は等価である.また,以下では T (F ∪ CV ) ∩ N F (Rτ ) を TN F (F ∪ CV ) と表す. 定義 3.1 (非線形型) ある型付き項書き換えシステム Rτ = f (x, x, y) → f (x, g(x), y) f (x, y, z) → h(a) このとき,VN Lτ (f (x, x, y)) = {x},VN Lτ (f (x, y, z)) τ = {x, y} より,Rnf = {f (s, s, y) → f (s, g(s), y)|s ∈ TN F (F ∪ CV )} ∪ {f (x, y, z) → h(a)} が得られる. 3. 2 線形化されたシステムの合流性 τ ここでは,Rnf 4. 1 重なりをもたないシステムの合流性 τ の合流性から R の合流性を導く. ここでは,非線形項書き換えシステム R が重なり 以下では,T (F ∪ CV ) 上での Rτ の書き換えを →, をもたないとき,R の合流性を示すには Rτ が弱線形 τ Rnf の書き換えを → とする. であることを示せば十分であることを示す. 補題 3.7 弱線形な型付き項書き換えシステム Rτ 上 補題 4.1 型付き項書き換えシステム Rτ が重なりを の型 σ を非線形型とする.任意の項 t ∈ T (F ∪ CV ) τ もたないならば,Rnf も重なりをもたない. に つ い て ,τ (t) = σ が 成 り 立 つ な ら ば ,あ る 項 τ とおく.この 証明. l1 θ̂1 → r1 θ̂1 , l2 θ̂2 → r2 θ̂2 ∈ Rnf nf ∗ s ∈ N F (Rτ ) が存在し,t → s となる. とき,l1 θ̂1 が l2 θ̂2 に位置 p ∈ P os(l2 θ̂2 ) で重なると nf τ τ 証明. R は弱線形なので,項 t は R 上で最内正規. よって t は Rτ の最内書き換えによって正規形 s へ書 τ き換え可能である.このとき,R の最内書き換えは τ Rnf 2 でシミュレーションできる. 補題 3.8 t, t′ ∈ T (F ∪ CV ) とする.Rτ が弱線形か ∗ つ t → t′ ならば,ある項 s が存在し,t → s かつ nf ∗ 証 明. l → r ∈ Rτ ,t = C[lθ] → C[rθ] = t′ , θ = [x1 := t1 , . . . , xn := tn , y1 := u1 , . . . , ym := um ],Vnl (l → r) = {x1 , . . . , xn },Vl (l → r) = {y1 , . . . , ym } とする.非線形性より,項 t1 , . . . , tn は 最内正規となり,それぞれ正規形 s1 , . . . , sn をもつ. 非線形変数への代入を θ̂ = [x1 := s1 , . . . , xn := sn ], 線形変数への代入を θ′ = [x1 := u1 , . . . , xm := um ] ∗ ∗ nf nf 1. p ∈ P osF (l2 ) のとき.このとき,l2 = C[u]p とな る l2 の部分項 u と l1 θ̂1 について,mgu(l1 θ̂1 , u) = θ となる最汎単一化子 θ が存在する.このとき, u と l1 の最汎単一化子は mgu(l1 , u) = θ̂1 θ とな る.しかし,これは Rτ が重なりをもたないこと に矛盾する. t′ → s となる. nf 仮定して矛盾を導く. 2. p ∈ / P osF (l2 ) の と き .こ の と き ,p0 ∈ P osVN L (l2 ),p0 ≤ p な る 位 置 p0 が 存 在 す る .x = l2 |p ,t = xθˆ2 と お く.こ の と き , 0 t = C[u′ ]p/p0 となる t の部分項 u′ と l1 θ̂1 に ついて,mgu(l1 θ̂1 , u′ ) = θ′ となる最汎単一化子 θ′ が存在する.しかし,定義 3.5 より t は正規形 2 であり矛盾する. とすると、C[lθ] → C[lθ̂θ ′ ],C[rθ] → C[rθ̂θ ′ ] が成 τ 定義 4.2 (Rnf に対するラベル付け) Rτ 上のラベリ τ り立つ.定義 3.5 より,lθ̂ → r θ̂ ∈ Rnf .よって, τ ング関数を δ としたとき,Rnf 上のラベリング関数 C[lθ̂θ′ ] → C[rθ̂θ′ ] となり,s = C[rθ̂θ′ ] とすれば題 δ̂ を δ̂(lθ̂ → rθ̂) = δ(l → r) と定める. nf 2 意をみたす. τ 補題 4.3 型付き項書き換えシステム Rnf について, τ 補題 3.9 Rτ が弱線形で,Rnf が合流性をもつとき, τ l1 θ̂1 → r1 θ̂1 , l2 θ̂2 → r2 θ̂2 ∈ Rnf ,l1 と l2 は重なり Rτ は合流性をもつ. をもたないものとする.このとき, 証明. 定義 3.5 から → ⊆ →,補題 3.8 から → ⊆ ↔ s = s[l1 θ̂1 θ′ ]p → s[r1 θ̂1 θ′ ]p = t が得られる.よって,命題 2.1 から Rτ の合流性が示 s = s[l2 θ̂2 θ′ ]q → s[r2 θ̂2 θ′ ]q = u ∗ nf される. nf 2 nf α = = nf β nf α nf β ならば,t → · ← u が成り立つ. 証明. p と q の位置による場合分けを行う. 4 非線形項書き換えシステムの合流性 1. p ∥ q のとき.このとき, 本節では,非線形項書き換えシステム R の合流条 s = s[l1 θ̂1 θ′ , l2 θ̂2 θ′ ]p,q 件を R が重なりをもたない場合と重なりをもつ場合 t = s[r1 θ̂1 θ′ , l2 θ̂2 θ′ ]p,q に分けて考える. u = s[l1 θ̂1 θ′ , r2 θ̂2 θ′ ]p,q とおける.よって,以下が成立する. ′ ′ ′ ここで,危険対に対する局所減少性を保証するため ′ t = s[r1 θ̂1 θ , l2 θ̂2 θ ]p,q → s[r1 θ̂1 θ , r2 θ̂2 θ ]p,q の条件 Cond(α, l → r) を以下のように定義する. nf β ← s[l1 θ̂1 θ′ , r2 θ̂2 θ′ ]p,q = u 2. q ≤ p のとき. 定義 4.6 (Cond(α, l → r)) l → r ∈ Rτ とする.任 nf α 意の x ∈ Vnl (l → r) について,τ (x) & τ (l′ → r ′ ) な (a) p\q ∈ P os(l2 θ̂2 ) のとき.補題 4.1 より,l1 θ̂1 るすべての l′ → r′ ∈ Rτ に対して α ≻ δ(l′ → r′ ) を と l2 θ̂2 は重なりをもたない.よって,(t, u) みたすとき,Cond(α, l → r) が成り立つという. は存在しない. 補題 4.7 l → r ∈ Rτ ,δ(l → r) = β とする.こ (b) ある q0 ∈ P osVL (l2 ) が存在し,qq0 ≤ p の とき.このとき,l1 θ̂1 → r1 θ̂1 , l2 θ̂2 → r2 θ̂2 の線形性より,以下が成立する. ∗ ∗ C[rθ] = t ならば,s→ 証 明. s = s[l1 θ̂1 θ′ ]p → s[r1 θ̂1 θ′ ]p = t nf gα ·→ ·← nf β nf gα t が成り立つ. θ = [x1 := t1 , . . . , xn := tn , y1 := u1 , . . . , ym := um ],Vnl (l → r) = {x1 , . . . , xn }, nf α s = s[l1 θ̂1 θ′ ]p → s[l1 θ̂1 θ′′ ]p = u nf β のとき,Cond(α, l → r) が成立し,s = C[lθ] →β Vl (l → r) = {y1 , . . . , ym } とする.補題 3.7 より, また,r1 θ̂1 の線形性から,t → s[r1 θ̂1 θ′′ ]p 項 t1 , . . . , tn についてそれぞれ正規形 s1 , . . . , sn が ← u が成り立つ. 存 在 し ,ま た τ (xi ) = τ (ti ) と 仮 定 よ り ti → = nf β ∗ nf gα nf α si (1 ≤ i ≤ n) が 成 り 立 つ .非 線 形 変 数 へ の 代 3. q > p のとき.2 と同様. = = nf β nf α よって,すべての場合で t → · ← u が成り立つ. 入 を θ̂ = [x1 := s1 , . . . , xn := sn ],線 形 変 数 へ 2 の 代 入 を θ′ = [x1 := u1 , . . . , xm := um ] と す る ∗ 定理 4.4 重なりのない項書き換えシステム R から得 られる型付き項書き換えシステム Rτ が弱線形とす と C[lθ] → nf gα ∗ C[lθ̂θ′ ],C[rθ] → C[rθ̂θ′ ] が 成 nf gα τ り立つ.定義 3.5 より,lθ̂ → r θ̂ ∈ Rnf .よって, る.このとき,R は合流性をもつ. C[lθ̂θ′ ] → C[rθ̂θ′ ] となる. 証明. R が重なりをもたないので,Rτ も重なりをも 補題 4.8 型付き項書き換えシステム Rτ 上の任意 たない.また,補題 4.1 より いので補題 4.3 より τ Rnf τ Rnf 2 nf β も重なりをもたな の危険対 ⟨v1 , v2 ⟩l1 →r1 ,l2 →r2 ∈ CP (Rτ ) について, は局所減少性をもち,命題 δ(l1 → r1 ) = α,δ(l2 → r2 ) = β と す る と き , 2.2 より合流性をもつ.よって,補題 3.9,命題 2.3 よ り R の合流性が示される. 2 Cond(α, l2 → r2 ),Cond(β, l1 → r1 ) が成立し,さ らに以下が成立するものとする. ∗ = ∗ ∗ = v1 ↔gα · →β · ↔gα∪β · ←α · ↔gβ v2 4. 2 重なりをもつシステムの合流性 τ このとき,任意の危険対 ⟨vˆ1 , vˆ2 ⟩ ∈ CP (Rnf ) につい ここでは,非線形項書き換えシステム R が重なり て,以下が成立する. をもつ場合の合流条件を検討する.以下では,Rτ は τ 命題 4.5 ( [5]) l1 θ̂1 → r1 θ̂1 ∈ Rnf が l2 θ̂2 → r2 θ̂2 ∈ τ Rnf に対して位置 p で重なるとし,そのときの危 τ が l2 → r2 ∈ Rτ に 対 し て 位 置 p で 重 な り を も ち,その危険対 ⟨v1 , v2 ⟩ に対してある θ̂ が存在し て v1 θ̂ = vˆ1 ,v2 θ̂ = vˆ2 となる.また,任意の変数 x ∈ Vnl (v1 ) ∪ Vnl (v2 ) について xθ̂ ∈ TN F (F ∪ CV ) が成立する. nf gα = ∗ = ·→ ·↔ nf β nf gα∪β ∗ ·← ·↔ nf α nf gβ vˆ2 証明. 命題 4.5 より,任意の変数 x ∈ Vnl (v1 )∪Vnl (v2 ) 弱線形性をもつものとする. 険対を ⟨vˆ1 , vˆ2 ⟩ とする.このとき,l1 → r1 ∈ R ∗ vˆ1 ↔ について xθ̂ ∈ TN F (F ∪ CV ) が成り立つようなある 代入 θ̂ が存在し,vˆ1 = v1 θ̂ ← · → v2 θ̂ = vˆ2 と表 nf α nf β せるので,以下が成立する. ∗ = ∗ = ∗ v1 θ̂↔gα · →β · ↔gα∪β · ←α · ↔gβ v2 θ̂ よって,補題 4.7 より以下が成立する. ∗ vˆ1 = v1 θ̂ ↔ nf gα = ∗ ·→ ·↔ nf β nf gα∪β = ∗ ·← ·↔ nf α nf gβ v2 θ̂ = vˆ2 2 補題 4.9 型付き項書き換えシステム Rτ 上の任意 の危険対 ⟨v1 , v2 ⟩l1 →r1 ,l2 →r2 ∈ CP (Rτ ) について, 下が成立する. ∗ δ(l1 → r1 ) = α,δ(l2 → r2 ) = β と す る と き , ·→ ·↔ nf gα Cond(α, l2 → r2 ) が成立し,さらに以下が成立す nf β ∗ = ·← ·↔ nf α るものとする. ∗ v1 ↔gα · →β · ↔gα∪β v2 τ このとき,任意の危険対 ⟨vˆ1 , vˆ2 ⟩ ∈ CP (Rnf ) につい ∗ ∗ ∗ = nf β nf gα∪β ∗ = t = s[v1 θ̂]p ↔ nf gα ·→ ·↔ nf gα s[v2 θ̂]q = u 以下が成立する. て,以下が成立する. vˆ1 ↔ nf gβ nf gα∪β ii. 条件 II が成り立つとき.補題 4.9 より ∗ = ∗ = t = s[v1 θ̂]p ↔ ·→ ·↔ nf β nf gα∪β vˆ2 s[v2 θ̂]q = u vˆ2 2 証明. 補題 4.8 と同様に証明できる. iii. 条件 III が成り立つとき.補題 4.9 より 以下が成立する. 補題 4.10 型付き項書き換えシステム Rτ 上の任意 ∗ nf gα∪β の危険対 ⟨v1 , v2 ⟩l1 →r1 ,l2 →r2 ∈ CP (R ) について, δ(l1 → r1 ) = α,δ(l2 → r2 ) = β とするとき,以下 τ の条件 I,II,III のいずれかが成立するならば,Rnf は合流性をもつ. = ∗ = nf gβ (b) ある q0 ∈ P osVL (l2 ) が存在し,qq0 ≤ p の = = とき.補題 4.3 より t → · ← nf α u が成り 立つ. よって,すべての場合で局所減少性をみたすため,命 ∗ v1 ↔gα · →β · ↔gα∪β · ←α · ↔gβ v2 II. Cond(α, l2 → r2 ) が成立し,さらに以下が成立 するものとする. ∗ nf α 3. q > p のとき.2 と同様. し,さらに以下が成立するものとする. ∗ ·← ·↔ vˆ2 s[v2 θ̂]q = u nf β I. Cond(α, l2 → r2 ),Cond(β, l1 → r1 ) が成立 ∗ = t = s[v1 θ̂]p ↔ τ 2 τ 題 2.2 より,Rnf は合流性をもつ. 定理 4.11 項書き換えシステム R から得られる型付 ∗ = v1 ↔gα · →β · ↔gα∪β v2 き項書き換えシステム Rτ が弱線形とする.このと III. Cond(β, l1 → r1 ) が成立し,さらに以下が成立 き,任意の危険対 ⟨v1 , v2 ⟩l1 →r1 ,l2 →r2 ∈ CP (Rτ ) に ついて,δ(l1 → r1 ) = α,δ(l2 → r2 ) = β とすると するものとする. ∗ = ∗ v1 ↔gα∪β · ←α · ↔gβ v2 き,以下の条件 I,II,III のいずれかが成立するなら 証明. ば,R は合流性をもつ. ′ ′ s = s[l1 θ̂1 θ ]p → s[r1 θ̂1 θ ]p = t I. Cond(α, l2 → r2 ),Cond(β, l1 → r1 ) が成立 nf α s = s[l2 θ̂2 θ′ ]q → s[r2 θ̂2 θ′ ]q = u し,さらに以下が成立するものとする. ∗ nf β = = nf β nf α = ∗ = ∗ v1 ↔gα · →β · ↔gα∪β · ←α · ↔gβ v2 とおく.p と q の位置による場合分けを行う. 1. p ∥ q のとき.補題 4.3 より t → · ← u が成り II. Cond(α, l2 → r2 ) が成立し,さらに以下が成立 するものとする. 立つ. ∗ ∗ = v1 ↔gα · →β · ↔gα∪β v2 2. q ≤ p のとき. (a) p\q ∈ P osF (l2 θ̂2 ) のとき.補題 4.5 より,任 意の変数 x ∈ VN Lτ (v1 ) ∪ VN Lτ (v2 ) につい て xθ̂ ∈ TN F (F ∪ CV ) が成り立つようなあ る代入 θ̂ が存在し,t = s[v1 θ̂]p ← nf α s→ nf β s[v2 θ̂]q = u と表せる.このとき,条件 I,II, III に対する場合分けで証明する. i. 条件 I が成り立つとき.補題 4.8 より以 III. Cond(β, l1 → r1 ) が成立し,さらに以下が成立 するものとする. ∗ = ∗ v1 ↔gα∪β · ←α · ↔gβ v2 τ 証明. 補題 4.10 より,Rnf は合流性をもつ.よって, 補題 3.9,命題 2.3 より R の合流性が示される. 2 例 4.12 ( [5]) 以下の停止性を持たない項書き換えシ ステム R とその一般的な型付け τ を考える. (1) : R= (2) : (3) : f: 提案した.本証明法では,与えられた非線形項書き換 f (x, y) → f (g(x), g(x)) えシステム R から型付き項書き換えシステム Rτ を f (g(x), x) → f (x, g(x)) 構成する.次に,Rτ が弱線形ならば Rτ を無限個の g(x) → h(x) τ 書き換え規則を含む線形な項書き換えシステム Rnf 0×0 → 1, g: 0 → に変換する.さらに,減少ダイアグラム法を適用して 0 h: 0 → 0 R と一般的な型付け τ から型付き項書き換えシ ステム Rτ が得られる.Rτ の部分システム Rστ は, R0τ = {(3)} と R1τ = {(1), (2), (3)} である.まず,R τ τ Rnf の合流性を示し,永続性をもちいて R の合流性 τ の無限個の危険対に を導く.また,本報告では,Rnf 対する局所減少性を,Rτ の有限個の危険対に対する 局所減少性から導く手法を示した. が弱線形かどうか調べる.Rτ の非線形型は型 0 のみ 本手法に基づく合流性自動判定法の実装,および弱 であり,R0τ は明らかに停止性をみたすので型 0 とな 線形に制限されている合流条件の拡張,ルールラベリ る任意の項は最内正規である.よって Rτ は弱線形で ング法の改良などは今後の課題である. τ ある.このとき, R の危険対は ⟨f (g(g(x)), g(g(x))), f (x, g(x))⟩ τ CP (R ) = ⟨f (x, g(x)), f (g(g(x)), g(g(x)))⟩ ⟨f (h(x), x), f (x, g(x))⟩ となる.ここで,δ((2)) = 2,δ((1)) = δ((3)) = 1 のようなラベリングを考える.このとき,危険対 ⟨f (g(g(x)), g(g(x))), f (x, g(x))⟩ に対して, f (g(g(x)), g(g(x)))←1 ←1 f (x, g(x)) となるので,定理 4.11 の条件 III が成立する.危 険対 ⟨f (g(g(x)), g(g(x))), f (x, g(x))⟩ に対しても定 理 4.11 の条件 II が同様に成立する.また,危険対 ⟨f (h(x), x), f (x, g(x))⟩ に対して, f (h(x), x)→1 f (g(h(x)), g(h(x)))←1 ←1 ←1 f (x, g(x)) となり,定理 4.11 の条件 III が成り立つ.よって,Rτ のすべての危険対は定理 4.11 のいずれかの条件をみ たすので,R の合流性が示される. 5 まとめと今後の課題 本報告では,永続性と減少ダイアグラム法を組み合 わせた非線形項書き換えシステムの合流性証明法を 参 考 文 献 [1] Aoto, T.: Automated confluence proof by decreasing diagrams based on rule-labeling, Proc. of 21st RTA, LIPIcs, 2010, pp. 1–16. [2] Aoto, T. and Toyama, Y.: Persistency of Confluence, Journal of Universal Computer Science, Vol. 3, No. 11(1997), pp. 1134–1147. [3] Baader, F. and Nipkow, T.: Term Rewriting and All That, Cambridge University Press, 1998. [4] 的場正樹, 青戸等人, 外山芳人: 片側減少ダイアグラム 法による項書き換えシステムの可換性証明法, コンピュー タソフトウェア, Vol. 30, No. 1(2013), pp. 187–202. [5] 鈴木翼, 青戸等人, 外山芳人: 永続性に基づく項書き 換えシステムの合流性証明, コンピュータソフトウェア, 採録決定. [6] van Oostrom, V.: Confluence by decreasing diagrams, TCS, Vol. 175(1997), pp. 159–181. [7] van Oostrom, V.: Confluence by decreasing diagrams converted, Proc. of 19th RTA, LNCS, Vol. 5117(2008), pp. 306–320. [8] Zankl, H., Felgenhauer, B., and Middeldorp, A.: Labelings for Decreasing Diagrams, Proc. of 22nd RTA, LIPIcs, 2011, pp. 377–392.