• 検索結果がありません。

工学部専門科目「計算と論理」配布資料 練習問題集 (1)

N/A
N/A
Protected

Academic year: 2021

シェア "工学部専門科目「計算と論理」配布資料 練習問題集 (1)"

Copied!
3
0
0

読み込み中.... (全文を見る)

全文

(1)

工学部専門科目「計算と論理」配布資料 練習問題集 (1)

五十嵐 淳

京都大学 大学院情報学研究科 通信情報システム専攻 [email protected]

[email protected]

November 11, 2014

演習の進め方

0. 予め練習問題を解いておく

1. 練習問題の解答を(問題番号・氏名とともに)白板に書く 2. 教員/TAによる講評

3. 1., 2. を繰り返す.

注意事項

小問単位で答えよ.

問題を解答する順番は問わない.(後の問題を最初に解いてよい.)

問題の解答は早い者勝ちとするが,同時に解答を開始するのは構わない.

正答した場合は成績へ加える.

1

単純型付ラムダ計算

定義 1.1 (正規形) M がこれ以上簡約できない,すなわち,M −→N なる項 N が存在しない

時,項 M は正規形(normal form) である,という.

定義 1.2 (正規化可能) M が正規形に簡約できる,すなわち,M −→ N (ただしN は正規形) であるような N が存在する時,項 M は正規化可能(normalizable) である,または,M は正規形 を持つ,という.

1

(2)

練習問題 1.1

M =if true then (fun n : nat => plus n n) (S O) else (fun n : nat => n) O とする.M は以下の3つの項

M1 = (fun n : nat => plus n n) (S O)

M2 = if true then plus (S O) (S O) else (fun n : nat => n) O M3 = if true then (fun n : nat => plus n n) (S O) else O に簡約されうる.以下の小問i(ただし i= 1,2,3)に答えよ.

小問i: M −→Mi の導出木を書け.

練習問題 1.2 Mfix f (x : nat) : nat := match x with O => O | S y => S (S (f y)) end とする.

M (S (S O))−→M1−→ · · · −→Mn

(ただしMn S (S (...O)...) の形) となる Mi を列挙せよ.

練習問題 1.3 Basics.vに登場したplus関数をfixを使った項Mplusで表すと以下のようになる.

Mplus = fix plus(m : nat) : nat := fun (n : nat) =>

match m with O => y | S m’ => S (plus m’ n) end

(Mplus (S O)) (S O)が簡約されてS (S O)になる過程を,Mplus (S O) (S O)−→M1 −→

· · · −→Mn −→S (S O)なる Mi を列挙することで示せ.

練習問題 1.4 前問の Mplus は正規化可能ではないことを説明せよ.

練習問題 1.5 練習問題1.1の項Mをこれ以上簡約できなくなるまで簡約した結果得られる項をN とするとき,M −→ Nの導出木を書け.

練習問題 1.6 関係 (fun x : nat => x) (S O)←→(fun x : nat => S O) Oの導出木を書け.

練習問題 1.7

(fun c : nat -> bool -> nat => fun a : nat => (c a)) (fun b : nat => fun a : bool => b) の正規形を求めよ.

練習問題 1.8 以下の小問に答えよ.

1. 練習問題1.1の項M について,型付け関係 M :T が成立するT を見つけ,型付け関係の 導出木を書け.

i. (ただしi= 2,3,4) 練習問題1.1の項Mi1 について,型付け関係 Mi1 :Ti1 が成立す Ti1 を見つけ,型付け関係の導出木を書け.

2

(3)

2

単純型付ラムダ計算

+

ペア

ペアで拡張した単純型付ラムダ計算を考える.

(types) S,T ::= · · · |S×T

(terms) M,N ::= · · · |(M1,M2)

| match M with (x, y) => N end 簡約規則

match (M1,M2) with (x, y) => N[x,y] end−→N[M1,M2] Γ M :S Γ N :T

Γ (M, N) :S×T (T-Pair) Γ M :T1×T2 Γ, x:T1, y:T2 N :S

Γ match M with (x, y) => N end :S (T-PMatch)

練習問題 2.1 Lists.vで定義した fstに相当する項Fst を書き,

1. 関係 Fst(O, S O)−→ Oの導出木を書け.

2. 型付け関係 Fst:nat×nat ->T が成立するT を見つけ,導出を書け.

練習問題 2.2 以下の単純型付ラムダ計算の型付け関係の判断について,判断が導出できるような項 Mを見つけ,導出を書け.ただし,S,T,U は型とする.

1. M :S->T ->S

2. M :(S->T ->U)->(S->T)->S->U 3. M :(S->T ->U)->(ST ->U) 4. M :(ST ->U)->(S->T ->U)

3

参照

関連したドキュメント

情報理工学研究科 情報・通信工学専攻. 2012/7/12

関東総合通信局 東京電機大学 工学部電気電子工学科 電気通信システム 昭和62年3月以降

理工学部・情報理工学部・生命科学部・薬学部 AO 英語基準入学試験【4 月入学】 国際関係学部・グローバル教養学部・情報理工学部 AO

 当図書室は、専門図書館として数学、応用数学、計算機科学、理論物理学の分野の文

関谷 直也 東京大学大学院情報学環総合防災情報研究センター准教授 小宮山 庄一 危機管理室⻑. 岩田 直子

東京大学大学院 工学系研究科 建築学専攻 教授 赤司泰義 委員 早稲田大学 政治経済学術院 教授 有村俊秀 委員.. 公益財団法人

向井 康夫 : 東北大学大学院 生命科学研究科 助教 牧野 渡 : 東北大学大学院 生命科学研究科 助教 占部 城太郎 :