O28

Size: px
Start display at page:

Download "O28"

Transcription

1 ループ書いたら負けかなと思っている uskz

2 自己紹介 梶本裕介 25 歳

3 ループ嫌い 抽象度が低すぎる accumulate? transform? 範囲とかいちいち気にしないといけないのが嫌 形式的な扱いが面倒くさい int f(int a, int b, int c) { return 3 * a + 3 * b + 3 * c; } int f(int a, int b, int c) { return 3 * (a + b + c); } bool p(bool a, bool b, bool c) { return (!a && b a &&!b)!= c; } bool p(bool a, bool b, bool c) { return a == b == c; }

4 Hoare Triple {P}S {Q} ホーア論理 P は事前条件で,Q は事後条件.{P}S{Q} が正しいことは P が成り立つ全ての状態で S を実行すると Q が成り立つ状態で終了することを主張している. 代入の公理図式 {P[ x/ E ]}x :=E {P} 逐次規則 {P}S {Q},{Q}T {R} {P}S ;T {R} 条件規則 {B P}S {Q},{ B P}T {Q} {P}if B then S else T fi {Q} 結果規則 P ' P,{P}S {Q},Q Q' {P '}S {Q ' }

5 n 0 の時 int r = 1; for (int i = 1; i <= n; ++i) r *= i; ループの推論はめんどい が実行された際に,r=n! となることを示す ( 値の定義域は無視する ). {Q}initialization ; while B do S done{r} Pはループ不変条件.{P B}S {P} ループ実行前に P が成り立つ. ループの実行が停止する. ループの停止直後に R が成り立つ. P B R ループの実行が停止することを示すには次の 2 点を満たす整数式 T を見つければ十分. T は各繰り返しで減少する. すなわち新しい変数 v に対し, {P B}v :=T ; S {T v} 実行すべき繰り返しがある間は T>0 が成り立つ. P B T 0

6 まず, ループ不変条件 P は, r= i 1! 1 i n 1 であり, これを示すには, {P i n}r :=ir ;i :=i 1{P} を証明すれば良い. ループの推論はめんどい 代入列 r :=ir ;i :=i 1 を真に定める最弱事前条件は P [i/i 1][r/ir] なので, P i n P [i/i 1][r/ir] を示す. P[i /i 1][ r/ir] r= i 1! 1 i n 1 [i/i 1][r/ir] r=i! 1 i 1 n 1 [r/ir] ir=i! 1 i 1 n 1 ir=i! 0 i n r= i 1! 0 i n r= i 1! 1 i n 1 i n P i n

7 ループの推論はめんどい 次に, ループが停止することを示す為の整数式 T を探す. これは, n 1 i である. なぜなら, 新しい変数 v に対し, n 1 i [i /i 1][r /ri][ v/n 1 i] n i n 1 i True だから, {P i n}v :=n 1 i r:=ir ;i :=i 1{n 1 i v} であり, n 1 i は繰り返しのたびに減少し, また, P i n r= i 1! 1 i n 1 i n i n 1 0 n 1 i より, P i n 0 n 1 i n 1 i だから, は繰り返しが残っている間は 0 より大きい. 以上より, 次のことが言えた. {P}whilei ndo r :=ir ;i :=i 1done{P n i}

8 ループの推論はめんどい 次に, n 0 なら, ループ開始前に P が成り立つこと, すなわち次を示す. {n 0}r:=1 ;i :=1{P} を示す. P [i /1][ r/1] r= i 1! 1 i n 1 [i /1][r/1] 1=0! 1 1 n 1 n 0 最後に, r=n! が P n i P n i r=n! を示す. P n i r= i 1! 1 i n 1 n i r= i 1! i=n 1 r=n! 以上で階乗が計算できることが示された. より弱いこと, すなわち,

9 STL の algorithm transform(v.begin(), v.end(), back_inserter(u), _1 * _1) int n = accumulate(v.begin(), v.end(), 1, _1 * _2); int m = inner_product(v.begin(), v.end(), u.begin(), 0); いちいち iterator の pair を扱うのが面倒くさい. container に連続して適用したい.

10 Range N を 1 から初めてその 2 乗を足していき, 和が 2000 を初めて超えたとき和はいくつになるか using namespace pstade::oven; using namespace boost::lambda; int v = counting(1, max_count) transformed(regular(_1 * _1)) scanned(regular(_1 + _2)) dropped_while(regular(_1 <= 2000)) front;

11 リスト Range の推論にリスト ( 列 ) の理論が使える. 気がする. Listr A=ε A : r Listr A Listl A=ε Listl A : l A [1, 2,3]=1: 2: 3: ε =1: 2: 3: ε

12 [1, 2]++[3, 4,5]=[1, 2,3, 4,5] ++ :Listr A Listr A Listr A ε ++ ys= ys x : xs ++ ts=x : xs ++ ys 結合律 単位元 リストの連結 xs ++ ys ++ zs=xs ++ ys ++ zs xs ++ε=ε ++ xs=xs concat[[1, 2],[ ],[3, 4,5]]=[1,2, 3, 4,5] concat:listr Listr A Listr A concat ε=ε concat xs : xss =xs ++concat xss ++ 上の concat の分配律 concat xs ++ ys =concat xs++concat ys

13 reverse[1, 2,3, 4,5]=[5, 4,3, 2,1] reverse:listr A Listr A reverse ε=ε reverse x : xs =reverse xs [ x] reverse reverse xs =xs length[1, 2,3, 4,5]=5 length :Listr A N length ε=0 length x : xs =1 length xs ++ 上の # の分配律 リストの反転 リストの長さ length xs ++ ys =length xs length ys

14 take 3[1, 2,3, 4,5]=[1,2, 3] drop 3[1, 2,3, 4,5]=[4,5] take, drop take:n Listr A Listr A take0 xs=ε take n 1 ε=ε take n 1 x : xs =x : take n xs drop:n Listr A Listr A drop0 xs=xs drop n 1 ε=ε drop n 1 x : xs =drop n xs take n xs ++dropn xs=xs take m take n=take m n drop m drop n=drop m n take m drop n=drop n take m n splitat n xs= take n xs,drop n xs

15 Listr: A B Listr A Listr B Listr f ε=ε Listr f x : xs = f x : Listr f xs Listr Listr λ x. x 2 [1, 2,3, 4,5]=[1,4, 9,16,25] Listr id=id Listr f g=listr f Listr g f head=head Listr f Listr f tail=tail Listr f Listr f reverse=reverse Listr f Listr f concat=concat Listr Listr f 特に, concat[ xs, ys]=xs ++ ys なので, Listr f xs ++ ys =Listr f xs ++Listr f ys

16 filter odd[1, 2,3, 4,5]=[1,3,5] filter filter : A Bool Listr A Listr A filter p=concat Listr p wrap,const ε p f, g a p a = f x otherwise=g x wrap x=x : ε const x a=x filter p filter q=filter p,q f, g x= f x, g x filter p concat=concat Listr filter f

17 zip, unzip zip [1, 2,3],[a,b,c] =[ 1, a, 2, b, 3, c ] zip:listr A Listr A Listr A B zip ε, ε =ε zip x : xs, y : ys = x, y :zip xs, ys unzip:listr A B Listr A Listr A unzip= Listr π 0,Listr π 1 zip unzip=id zip Listr f Listr g =Listr f g zip Listr f Listr g unzip=unzip Listr f g f g= f π 0, g π 1

18 fold foldr c, x 1 : x 2 : x 3 : x 4 : ε =x 1 x 2 x 3 x 4 c foldr: A B A A Listr B A foldr c, h ε=c foldr c, h x : xs =h x, foldr c, h xs concat=foldr ε, ++ sum=foldr 0, + product=foldr 1, and=foldr True, Listr f =foldr ε, h where h x, xs = f x : xs length=sum Listr const1 filter p=foldr ε, p π 0 :,π 1

19 Listl 上の fold foldl: A B A A Listl B A foldl c, h ε=c foldl c, h xs : x =h foldl c, h xs, x 実際には Listr 上で定義されていることが多い. foldl: A B A A Listr B A foldl c, h ε=c foldl c, h x : xs =foldl h c, x, h xs reverse=foldl ε, cons wherecons xs x=x : xs

20 が結合的で単位元 eを持つなら, foldr e, xs=foldl e, xs 任意の x,y,z に対し, と と e について, x y z = x y z x e=e x ならば, foldr e, xs=foldl e, xs 第一双対性定理 第ニ双対性定理 第三双対性定理 foldr e, f xs=foldl e, flip f reverse xs

21 foldrの融合律 f a=b x, y [ f g x, y =h x, f y ] ならば, f foldr a, g =foldr b, h foldlの融合律 f a=b x, y [ f g x, y =h f x, y ] ならば, f foldl a, g =foldl b,h foldr a, f Listr g=foldr a, f g fold と Listr の融合律

22 Listr + A=wrap A A : r Listr + A Listl + A=wrap A Listl + A : l A 非空リスト foldr + f, g wrap x = f x foldr + f, g x : xs =g x,foldr + f, g xs head=foldr + id, π 0 foldr1 f =foldr + id, f maximum=foldr1

23 圏 圏 C は対象 (object) の集まりと射 (morphism) の集まりからなる. C の任意の射 f には始域と呼ばれる対象と終域と呼ばれる対象が備わっている. dom f =A cod f =B f : A B A f B C の任意の射 f, gに対して,dom g = cod fのとき射の合成 g f が存在する. g f A B f g C 射の合成に対して結合律が成り立つ. f : A B, g : B C,h:C D [h g f = h g f ] C の任意の対象 Aに対して次を満たす恒等射 id A : A A が存在する. f : A B [id B f = f = f id A ]

24 集合と全域関数の圏 圏 Set の対象は集合 射は型付の全域写像 f, A, B where Dom f =A, Ran f B 恒等射 id A : A A はA 上の恒等写像射 f, A, B と射 g,c, D の合成射はB=Cのとき, またそのときにのみ定義され, g,c, D f, A, B = g f, A, D

25 積圏 圏 A B の対象は A の対象 A と B の対象 B の対 A, B 射は A の射 f と B の射 g の対 f, g 恒等射 id A B は id A, id B f, g h, k = f h, g k

26 モノ射 f, g : C A [ f =g m f =m g ] が成り立つ時,m: A B をモノ射と言う. Set では単射. エピ射 f, g : B C [ f =g f e=g e] が成り立つ時,e : A B をエピ射と言う. Set では全射.

27 同型射 i : A B に対して j : B A が存在し, j i=id A i j=id B が成り立つ時,i : A B を同型射と言う. このような j は存在するなら多くとも1つなので, これをi 1 と書く. Set では全単射. 同型射はモノ射かつエピ射であるが, その逆は必ずしも成り立たない. i : A B が同型射のとき A と B は同型と言う.

28 関手 A,Bを圏とする. このとき関手 F : A B は対象から対象への写像と射から射への写像からなる. f : A B F f : F A F B F id A =id F A F g f =F g F f A F B A f F f F A g f B F B F g f C g F g F C 射の合成同様関手の合成が定義される. G F f =G F f 関手は ( 小さな ) 圏の圏の射となる.

29 Id :C C Id A= A Id f = f K B : A B K B A=B K B f =id B 恒等関手 定関手 二項関手 始域が積圏の関手. F id A, id B =id F A, B F f g,h k =F f, h F g, k Listr: Set Set Listr f g =Listr f Listr g Listr id=id リスト関手

30 始対象と終対象 C の任意の対象 A に対し,0 A なる射が唯一存在するとき,0 を始対象と言う. C の任意の対象 A に対し, A 1 なる射が唯一存在するとき,1 を終対象と言う. Set では空集合が始対象で,singleton set が終対象.

31 A B 積 対象と対象の積とは, 任意の対象 π 0 : A B A C と射の組 f :C A と g :C B f, g :C A B π 1 : A B B A B に対し, 次の図式を可換にするような射が唯一存在する, 2 つの射とを伴った対象のこと. A π 0 π 1 A B B f C f, g g π 0 f, g = f π 1 f, g =g id= π 0, π 1 f, g m= f m, g m h= f, g π 0 h= f π 1 h=g 圏の任意の対象の対が積を持つ時, その圏は積を持つと言う.

32 A B 余積 対象と対象の余積とは, 任意の対象 ι 0 : A A B C と射の組 f :C A と g :C B [ f, g]: A B C ι 1 : A B B A B に対し, 次の図式を可換にするような射が唯一存在する, 2 つの射とを伴った対象のこと. A ι 0 ι 1 A B B f C [ f, g] g h=[ f, g ] h ι 0 = f h ι 1 =g [ f, g] ι 0 = f [ f, g ] ι 1 =g id=[ι 0, ι 1 ] m [ f, g ]=[m f, m g]

33 積関手 C が積を持つ時, 射に対し f g= f π 0, g π 1 : C C C が考えられる. と定義することで 2 項関手 id id= id π 0, id π 1 =id f g h, k = f h, g k f g h k = f h g k

34 f g=[ι 0 f,ι 1 g] 余積関手 と定義することで 2 項関手 +:C C C が考えられる. id id=[ι 0 id,ι 1 id]=id [ f, g] h k =[ f h, g k ] f g h k = f h g k [ f, g ],[h, k ] =[ f, h, g, k ] 交換律

35 多項式関手 恒等関手と定関手は多項式関手 FとGが多項式関手のとき,FG, F+G, F Gは多項式関手 F G h=f h G h F G h=f h G h 例えば F X =A K A とF f =id A f id A によって定まる関手 Fは, F =K A Id K A なので多項式関手

36 自然変換関手 F,G : A B に対して, 自然変換 τ : F G とは,AA の各対象 A に, B の射 τ A : F A G A を割り当てる写像で,A の任意の射 f : A A' について次の図式を可換にするもの. F f F A F A' τ A τ A ' G f τ A =τ A' F f G A G A' G f

37 自然変換の例 f head=head Listr + f Listr f tail=tail Listr + f Listr f reverse=reverse Listr f Listr Listr f inits=inits Listr f Listr f concat=concat Listr Listr f zip Listr f Listr g =Listr f g zip Listr f Listr g unzip=unzip Listr f g

38 任意の関手 F 恒等変換 に対して, 恒等変換 id F : F F は, id F A =id FA 自然変換の合成 φ: G H と ψ : F G に対し, φ ψ A =φ A ψ A F A ψ A G A φ A H A F f G f H f F A' ψ A ' G A' τ A ' H A' 自然変換はその対象が関手である圏の射となる 各 component が全単射の時, 自然変換は自然同系射と呼ばれる

39 代数 関手 F :C C に対して,F- 代数とは, 型 A F Aを持つ射のこと. f : A F A から する射 h: A A' g : A' F A' への F- 準同型射とは, 次の図式を可換に F A F h f A h F A' g h f =g F h A' 恒等射は準同型射であり, 準同型射の合成は準同型射なので F- 代数は射が準同型射な圏 Alg F の対象となる.

40 始代数 Set の多項式関手を初め, 多くの関手に対して これを α : F T T で表す. Alg F は始対象を持ち, F- 始代数が存在すると言うことは, 任意のF- 代数 f : A F A α から [ f ] :T A で表す. F T α T F [ f ] [ f ] に対し, f への準同型射が唯一存在すると言うこと. この準同型射を F A f A h= [ f ] h α= f F h [ f ] の形の射を catamorphism と言う.

41 [ f ] α= f F [ f ] [α] =id 評価規則 反射律 id= [ f ] id α= f F id f =α h [ f ] = [ g] h f =g F h 融合律 h [ f ] = [ g ] h [ f ] α=g F h [ f ] h [ f ] α=g F h F [ f ] h f F [ f ] =g F h F [ f ] h f =g F h

42 型関手 Listr A=ε A : r Listr A は [ε, : r ]: F A Listr A Listr A F A B=1 A B かつ F A f =id 1 id A f で定義される関手 F A を の始代数として宣言する. F A は二項関手 F の第一引数を A で固定したものと見なす. F を始代数のコレクション α A : F A,T A T A を伴う二項関手とすると, T f = [α F f,id ] と定義することによって T を関手にすることが出来る. 例えばリスト関手は, Listr f = [[ε, : r ] id f id ] により定義される. 変形すると, Listr f = [ε, : r f id ]

43 catamorphism は fold 型 Listr A に対し, h= [c, f ] h α=[c, f ] Fh h α=[c, f ] id id h h α=[c, f id h ] h [ε, : r ]=[c, f id h ] [h ε, h : r ]=[c, f id h ] h ε=c h : r = f id h これは, h ε=c h x, xs = f x, h xs ということであり, すなわち, [c, f ] =foldr c, f ということ.

44 [h] T g= [h F g,id ] 型関手の融合律 [h] T g= [h F g,id ] [h] [α F g,id ] = [h F g, id ] [h] α F g, id =h F g,id F id, [h] h F id, [h] F g, id =h F g, id F id, [h] True 例えば sum= [0, + ] とすると, sum Listr f = [0, + f id ]

45 分配圏 積と余積を持つ圏において, 対象 A B C と対象 A B A C が同型の時, その圏を分配圏と言う. 積と余積を持つ圏では, undistl: A B A C A B C は常に存在する.( 例えば undistl=[id ι 0, id ι 1 ] とすれば良い ) しかし, 逆射 distl: A B C A B A C が存在するとは限らない. 例えば Set が分配圏.

46 論理値 分配圏では論理値を Bool=1 1, True=ι 0, False=ι 1 とすることにより扱える. =[False, True] quad を Bool な同型射として, =[True,False,False,False] quad 条件式 p f, g =[ f, g ] π 0 π 0 distl id, p h p f, g = p h f, h g p f, g h= p h f h, g h p f, f = f filter filter p= [ε, p π 0 : r, π 1 ]

47 Banana-split の法則 [h], [k ] = [ h F π 0, k F π 1 ] catamorphism の普遍性より, [h], [k ] α= h F π 0, k F π 1 F [h], [k ] を示せばよい. [h], [k ] α = [h α], [k α] = h F [h], k F [k ] = h F π 0 [h], [k ],k F π 1 [h], [k ] = h F π 0 F [h], [k ], k F π 1 F [h], [k ] = h F π 0, k F π 1 F [h], [k ]

48 average= / sum, length リストの横断を纏める この average の定義はリストを 2 度横断する. sum, length = [0, + ], [0, 1 π 1 ] = [ [0, + ] F π 0,[0, 1 π 1 ] F π 1 ] = [ [0, + ] id id π 0,[0, 1 π 1 ] id id π 1 ] = [ [0, + id π 0 ],[0, 1 π 1 id π 1 ] ] = [ 0,0, + id π 0, 1 π 1 id π 1 ] = [ 0,0, + id π 0, 1 π 1 π 1 ] λ 式を用いると, [ 0,0, λ a, b, n. a b, n 1 ]

49 やり残しとこれから currying の圏論的扱い Curry Howard Lambek 同型対応 F- 代数と catamorphism の双対概念としての F- 余代数と anamorphism モナドとコモナド 集合と全域関数の圏ではなく pointed CPO と連続関数の圏 関数と category ではなく関係と allegory などなど

50 参考文献 Antony J. T. Davie. An Introduction to Functional Programming Systems Using Haskell. Cambridge University Press, Benjamin C. Pierce. Basic Category Theory for Computer Scientists. MIT Press, David Gries, and Fred B. Schneider. A Logical Approach to Discrete Math. Springer-Verlag, Jeremy Gibbons and Oege De Moor (Eds). The Fun of Programming. Palgrave Macmillan, Mac Lane, S. Categories for the Working Mathematician. Springer, Richrd Bird. Introduction to Functional Programming using Haskell. Prentice Hall, Richrd Bird and Oege De Moor. Algebra of Programming. Prentice Hall, Roland Backhouse, Roy Crole and Jeremy Gibbons (Eds). Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. Springer-Verlag, Steve Awodey. Category Theory. Oxford University Press, 2006.

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 7 - Higher-Order Functions 高階関数 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2013 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 Introduction カリー化により

More information

トポス alg-d 年 5 月 5 日 1 トポス 定義. P, Q: C op Set を関手とする.P が Q の部分関手 ( 記号で P Q と書く ) 自然変換 θ : P Q で 各 a C について θ

トポス alg-d 年 5 月 5 日 1 トポス 定義. P, Q: C op Set を関手とする.P が Q の部分関手 ( 記号で P Q と書く ) 自然変換 θ : P Q で 各 a C について θ トポス alg-d http://alg-d.com/math/kan_extension/ 2018 年 5 月 5 日 1 トポス 定義. P, Q: C op Set を関手とする.P が Q の部分関手 ( 記号で P Q と書く ) 自然変換 θ : P Q で 各 a C について θ a : P a Qa が包含写像になっているもの が存在する. P Q を部分関手とすると, 自然性より,f

More information

2-category

2-category 2-ctegory lg-d http://lg-d.com/mth/kn_extension/ 2019 年 1 月 1 日 この PDF では g のように, 一部の記号で色を使用していますが, 色が分から なくても問題無いようにはなっています. 定義はここやここを参照. 圏の圏 Ct では, 対象 C, D Ct に対して Hom Ct (C, D) も圏になるのであった ( 関手が対象, 自然変換が射

More information

PowerPoint Presentation

PowerPoint Presentation 付録 2 2 次元アフィン変換 直交変換 たたみ込み 1.2 次元のアフィン変換 座標 (x,y ) を (x,y) に移すことを 2 次元での変換. 特に, 変換が と書けるとき, アフィン変換, アフィン変換は, その 1 次の項による変換 と 0 次の項による変換 アフィン変換 0 次の項は平行移動 1 次の項は座標 (x, y ) をベクトルと考えて とすれば このようなもの 2 次元ベクトルの線形写像

More information

Copyright c 2006 Zhenjiang Hu, All Right Reserved.

Copyright c 2006 Zhenjiang Hu, All Right Reserved. 1 2006 Copyright c 2006 Zhenjiang Hu, All Right Reserved. 2 ( ) 3 (T 1, T 2 ) T 1 T 2 (17.3, 3) :: (Float, Int) (3, 6) :: (Int, Int) (True, (+)) :: (Bool, Int Int Int) 4 (, ) (, ) :: a b (a, b) (,) x y

More information

Microsoft PowerPoint - 2.ppt [互換モード]

Microsoft PowerPoint - 2.ppt [互換モード] 0 章数学基礎 1 大学では 高校より厳密に議論を行う そのために 議論の議論の対象を明確にする必要がある 集合 ( 定義 ) 集合 物の集まりである集合 X に対して X を構成している物を X の要素または元という 集合については 3 セメスタ開講の 離散数学 で詳しく扱う 2 集合の表現 1. 要素を明示する表現 ( 外延的表現 ) 中括弧で 囲う X = {0,1, 2,3} 慣用的に 英大文字を用いる

More information

3-category

3-category 3-category alg-d http://alg-d.com/math/kan_extension/ 2018 年 8 月 29 日 次元がもう一つ上がり,2-morphism の間の射も存在するのが 3-category である. 即ち定義. (at-at)- 豊穣圏を strict 3-category という. 3-category の場合も weak バージョンがあり, それを tricategory

More information

2 A id A : A A A A id A def = {(a, a) A A a A} 1 { } 1 1 id 1 = α: A B β : B C α β αβ : A C αβ def = {(a, c) A C b B.((a, b) α (b, c) β)} 2.3 α

2 A id A : A A A A id A def = {(a, a) A A a A} 1 { } 1 1 id 1 = α: A B β : B C α β αβ : A C αβ def = {(a, c) A C b B.((a, b) α (b, c) β)} 2.3 α 20 6 18 1 2 2.1 A B α A B α: A B A B Rel(A, B) A B (A B) A B 0 AB A B AB α, β : A B α β α β def (a, b) A B.((a, b) α (a, b) β) 0 AB AB Rel(A, B) 1 2 A id A : A A A A id A def = {(a, a) A A a A} 1 { } 1

More information

平成 28 年度 ( 第 38 回 ) 数学入門公開講座テキスト ( 京都大学数理解析研究所, 平成 ~8 28 月年 48 日開催月 1 日 semantics FB 1 x, y, z,... FB 1. FB (Boolean) Functional

平成 28 年度 ( 第 38 回 ) 数学入門公開講座テキスト ( 京都大学数理解析研究所, 平成 ~8 28 月年 48 日開催月 1 日 semantics FB 1 x, y, z,... FB 1. FB (Boolean) Functional 1 1.1 semantics F 1 x, y, z,... F 1. F 38 2016 9 1 (oolean) Functional 2. T F F 3. P F (not P ) F 4. P 1 P 2 F (P 1 and P 2 ) F 5. x P 1 P 2 F (let x be P 1 in P 2 ) F 6. F syntax F (let x be (T and y)

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回のつづき ) 前回の復習 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 ( 復習 ) true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e

More information

第8回 関数

第8回 関数 1 関数型プログラミング 第 8 回関数 萩野達也 hagino@sfc.keio.ac.jp 2 関数定義 square n = n * n 与えられた数の 2 乗を計算する square 関数を定義している. 変数 square に 2 乗を計算する関数を束縛 (bind) したい. a = 10 変数 a に定数 10 を束縛する. square =... 3 高階関数 関数も値の一つである.

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回の復習 ) データの表現 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e 2 else

More information

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp 3 Haskell Haskell Haskell 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 6. C Java 3.1 Haskell Haskell GHC (Glasgow Haskell Compiler 1 ) GHC Haskell GHC http://www.haskell. 1 Guarded Horn Clauses III - 1 org/ghc/ Windows

More information

Microsoft PowerPoint - ProD0107.ppt

Microsoft PowerPoint - ProD0107.ppt プログラミング D M 講義資料 教科書 :6 章 中田明夫 nakata@ist.osaka-u.ac.jp 2005/1/7 プログラミング D -M- 1 2005/1/7 プログラミング D -M- 2 リスト 1 リスト : 同じ型の値の並び val h=[10,6,7,8,~8,5,9]; val h = [10,6,7,8,~8,5,9]: int list val g=[1.0,4.5,

More information

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I  Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse I Exercise on Programming I http://bit.ly/oitprog1 1, 2 of 14 ( RD S ) I 1, 2 of 14 1 / 44 Ruby Ruby ( RD S ) I 1, 2 of 14 2 / 44 7 5 9 2 9 3 3 2 6 5 1 3 2 5 6 4 7 8 4 5 2 7 9 6 4 7 1 3 ( RD S ) I 1, 2

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 10 - Declaring Types and Classes 型とクラスの定義 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2011 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 型宣言 (Type Declarations)

More information

2-1 / 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリ

2-1 / 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリ 2-1 / 32 4. 語問題 項書換え系 4.0. 準備 (3.1. 項 代入 等価性 ) 定義 3.1.1: - シグネチャ (signature): 関数記号の集合 (Σ と書く ) - それぞれの関数記号は アリティ (arity) と呼ばれる自然数が定められている - Σ (n) : アリティ n を持つ関数記号からなる Σ の部分集合 例 : 群 Σ G = {e, i, } (e Σ

More information

Programming D 1/15

Programming D 1/15 プログラミング D ML 大阪大学基礎工学部情報科学科中田明夫 nakata@ist.osaka-u.ac.jp 教科書 プログラミング言語 Standard ML 入門 6 章 2005/12/19 プログラミング D -ML- 1 2005/12/19 プログラミング D -ML- 2 補足 : 再帰関数の作り方 例題 : 整数 x,y( ただし x

More information

2

2 2011.11.11 1 2 MapReduce 3 4 5 6 Functional Functional Programming 7 8 9 10 11 12 13 [10, 20, 30, 40, 50] 0 n n 10 * 0 + 20 * 1 + 30 * 2 + 40 * 3 + 50 *4 = 400 14 10 * 0 + 20 * 1 + 30 * 2 + 40 * 3 + 50

More information

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�)

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�) Cellulr uo nd heir eigenlues 東洋大学総合情報学部 佐藤忠一 Tdzu So Depren o Inorion Siene nd rs Toyo Uniersiy. まえがき 一次元セルオ-トマトンは数学的には記号列上の行列の固有値問題である 固有値問題の行列はふつう複素数体上の行列である 量子力学における固有値問題も無限次元ではあるが関数環上の行列でその成分は可換環である

More information

離散数学

離散数学 離散数学 ブール代数 落合秀也 前回の復習 : 命題計算 キーワード 文 複合文 結合子 命題 恒真 矛盾 論理同値 条件文 重条件文 論法 論理含意 記号 P(p,q,r, ),,,,,,, 2 今日のテーマ : ブール代数 ブール代数 ブール代数と束 そして 順序 加法標準形とカルノー図 3 今日のテーマ : ブール代数 ブール代数 ブール代数と束 そして 順序 加法標準形とカルノー図 4 ブール代数の法則

More information

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦 正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語

オートマトン 形式言語及び演習 3. 正規表現 酒井正彦   正規表現とは 正規表現 ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械正規表現 : 言語 オートマトン 形式言語及び演習 3. 酒井正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ とは ( 正則表現, Regular Expression) オートマトン : 言語を定義する機械 : 言語を記号列で定義 - 記述しやすい ( ユーザフレンドリ ) 例 :01 + 10 - UNIX の grep コマンド - UNIX の

More information

DVIOUT-17syoze

DVIOUT-17syoze 平面の合同変換と相似変換 岩瀬順一 要約 : 平面の合同変換と相似変換を論じる いま大学で行列を学び始めている大学一年生を念頭に置いている 高等学校で行列や一次変換を学んでいなくてもよい 1. 写像 定義 1.1 X, Y を集合とする X の各元 x に対し Y のただ一つの元 y を対応させる規則 f を写像とよび,f : X! Y のように書く f によって x に対応する Y の元を f(x)

More information

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx 9. 線形写像 ここでは 行列の積によって 写像を定義できることをみていく また 行列の積によって定義される写像の性質を調べていく 行列演算と写像 ( 次変換 3 拡大とスカラー倍 p ' = ( ', ' = ( k, kk p = (, k 倍 k 倍 拡大後 k 倍拡大の関係は スカラー倍を用いて次のように表現できる ' = k ' 拡大前 拡大 4 拡大と行列の積 p ' = ( ', '

More information

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx 9/7/8( 水 9. 線形写像 ここでは 行列の積によって 写像を定義できることをみていく また 行列の積によって定義される写像の性質を調べていく 拡大とスカラー倍 行列演算と写像 ( 次変換 拡大後 k 倍 k 倍 k 倍拡大の関係は スカラー倍を用いて次のように表現できる p = (, ' = k ' 拡大前 p ' = ( ', ' = ( k, k 拡大 4 拡大と行列の積 拡大後 k 倍

More information

Microsoft Word docx

Microsoft Word docx 有限図形の代数的表現について 三角形や星型を式で表現したいという思いから以下のことを 考察をしまし た 有限個の点と辺で 構成される図形を 関数で表現する そのため 基礎 体として 素数の有限体を考える 但し 扱うのは 点の数と辺の数が等しい 特別場合である 先ず P5 のときから 始めることにします. グラフと写像と関数について ( 特別な場合 ) 集合 F {,,,, } について 写像 f :

More information

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n を入力してもらい その後 1 から n までの全ての整数の合計 sum を計算し 最後にその sum

More information

1 nakayama/print/ Def (Definition ) Thm (Theorem ) Prop (Proposition ) Lem (Lemma ) Cor (Corollary ) 1. (1) A, B (2) ABC

1   nakayama/print/ Def (Definition ) Thm (Theorem ) Prop (Proposition ) Lem (Lemma ) Cor (Corollary ) 1. (1) A, B (2) ABC 1 http://www.gem.aoyama.ac.jp/ nakayama/print/ Def (Definition ) Thm (Theorem ) Prop (Proposition ) Lem (Lemma ) Cor (Corollary ) 1. (1) A, B (2) ABC r 1 A B B C C A (1),(2),, (8) A, B, C A,B,C 2 1 ABC

More information

融合規則 ( もっとも簡単な形, 選言的三段論法 ) ll mm ll mm これについては (ll mm) mmが推論の前提部になり mmであるから mmは常に偽となることがわかり ll mmはllと等しくなることがわかる 機械的には 分配則より (ll mm) mm (ll mm) 0 ll m

融合規則 ( もっとも簡単な形, 選言的三段論法 ) ll mm ll mm これについては (ll mm) mmが推論の前提部になり mmであるから mmは常に偽となることがわかり ll mmはllと等しくなることがわかる 機械的には 分配則より (ll mm) mm (ll mm) 0 ll m 知識工学 ( 第 5 回 ) 二宮崇 ( ninomiya@cs.ehime-u.ac.jp ) 論理的エージェント (7 章のつづき ) 証明の戦略その 3 ( 融合法 ) 証明の戦略その 1 やその 2 で証明できたときは たしかにKKKK ααとなることがわかるが なかなか証明できないときや 証明が本当にできないときには KKKK ααが成り立つのか成り立たないのかわからない また どのような証明手続きを踏めば証明できるのか定かではない

More information

線形代数とは

線形代数とは 線形代数とは 第一回ベクトル 教科書 エクササイズ線形代数 立花俊一 成田清正著 共立出版 必要最低限のことに限る 得意な人には物足りないかもしれません 線形代数とは何をするもの? 線形関係 y 直線 yもも 次式で登場する (( 次の形 ) 線形 ただし 次元の話世の中は 3 次元 [4[ 次元 ] 次元 3 次元 4 次元 はどうやって直線を表すの? ベクトルや行列の概念 y A ベクトルを使うと

More information

(1) θ a = 5(cm) θ c = 4(cm) b = 3(cm) (2) ABC A A BC AD 10cm BC B D C 99 (1) A B 10m O AOB 37 sin 37 = cos 37 = tan 37

(1) θ a = 5(cm) θ c = 4(cm) b = 3(cm) (2) ABC A A BC AD 10cm BC B D C 99 (1) A B 10m O AOB 37 sin 37 = cos 37 = tan 37 4. 98 () θ a = 5(cm) θ c = 4(cm) b = (cm) () D 0cm 0 60 D 99 () 0m O O 7 sin 7 = 0.60 cos 7 = 0.799 tan 7 = 0.754 () xkm km R km 00 () θ cos θ = sin θ = () θ sin θ = 4 tan θ = () 0 < x < 90 tan x = 4 sin

More information

1

1 2 章 1 整数を一つ読み込み, その階乗を計算する RAM プログラムを書け f (n) = n! ( n 0) 何でもよい ( n

More information

2016 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1 16 2 1 () X O 3 (O1) X O, O (O2) O O (O3) O O O X (X, O) O X X (O1), (O2), (O3) (O2) (O3) n (O2) U 1,..., U n O U k O k=1 (O3) U λ O( λ Λ) λ Λ U λ O 0 X 0 (O2) n =

More information

( 9 1 ) 1 2 1.1................................... 2 1.2................................................. 3 1.3............................................... 4 1.4...........................................

More information

. Mac Lane [ML98]. 1 2 (strict monoidal category) S 1 R 3 A S 1 [0, 1] C 2 C End C (1) C 4 1 U q (sl 2 ) Drinfeld double. 6 2

. Mac Lane [ML98]. 1 2 (strict monoidal category) S 1 R 3 A S 1 [0, 1] C 2 C End C (1) C 4 1 U q (sl 2 ) Drinfeld double. 6 2 2014 6 30. 2014 3 1 6 (Hopf algebra) (group) Andruskiewitsch-Santos [AFS09] 1980 Drinfeld (quantum group) Lie Lie (ribbon Hopf algebra) (ribbon category) Turaev [Tur94] Kassel [Kas95] (PD) x12005i@math.nagoya-u.ac.jp

More information

スライド タイトルなし

スライド タイトルなし 線形代数 演習 (008 年度版 ) 008/5/6 線形代数 演習 Ⅰ コンピュータ グラフィックス, 次曲面と線形代数指南書第七の巻 直交行列, 実対称行列とその対角化, 次曲線池田勉龍谷大学理工学部数理情報学科 実行列, 正方行列, 実対称行列, 直交行列 a a N A am a MN 実行列 : すべての成分 a が実数である行列 ij ji ij 正方行列 : 行の数と列の数が等しい (

More information

2

2 Haskell ( ) kazu@iij.ad.jp 1 2 Blub Paul Graham http://practical-scheme.net/trans/beating-the-averages-j.html Blub Blub Blub Blub 3 Haskell Sebastian Sylvan http://www.haskell.org/haskellwiki/why_haskell_matters...

More information

オートマトンと言語理論 テキスト 成蹊大学理工学部情報科学科 山本真基 ii iii 1 1 1.1.................................. 1 1.2................................ 5 1.3............................. 5 2 7 2.1..................................

More information

i Version 1.1, (2012/02/22 24),.,..,.,,. R-space,, ( R- space),, Kahler (Kähler C-space)., R-space,., R-space, Hermite,.

i Version 1.1, (2012/02/22 24),.,..,.,,. R-space,, ( R- space),, Kahler (Kähler C-space)., R-space,., R-space, Hermite,. R-space ( ) Version 1.1 (2012/02/29) i Version 1.1, (2012/02/22 24),.,..,.,,. R-space,, ( R- space),, Kahler (Kähler C-space)., R-space,., R-space, Hermite,. ii 1 Lie 1 1.1 Killing................................

More information

Microsoft PowerPoint - 3.ppt [互換モード]

Microsoft PowerPoint - 3.ppt [互換モード] 3. プッシュダウンオートマトンと文脈自由文法 1 3-1. プッシュダウンオートマトン オートマトンはメモリがほとんど無かった この制限を除いた機械を考える 理想的なスタックを利用できるようなオートマトンをプッシュダウンオートマトン (Push Down Automaton,PDA) という 0 1 入力テープ 1 a 1 1 0 1 スタッb 入力テープを一度走査したあと ク2 入力テプを度走査したあと

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

More information

オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦 正規言語の性質 反復補題正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると

オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦   正規言語の性質 反復補題正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると オートマトン 形式言語及び演習 4. 正規言語の性質 酒井正彦 www.trs.css.i.nagoya-u.ac.jp/~sakai/lecture/automata/ 正規言語の性質 正規言語が満たす性質 ある与えられた言語が正規言語でないことを証明するために その言語が正規言語であると仮定してを使い 矛盾を導く 閉包性正規言語を演算により組み合わせて得られる言語が正規言語となる演算について調べる

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 : if 文, if~else 文 条件分岐 条件分岐とは ある条件が成立したときとしないときで処理の内容を変更する場合に応じた, 複雑な処理を行うことができる 条件分岐 yes 成績が良かったか? no ご褒美に何か買ってもらう お小遣いが減らされる C 言語では,if 文,if~else 文,if~else if~else 文,switch 文で条件分岐の処理を実現できる

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt . 6.6( 木 ) 代数系 (algebraic system) 多項式 ( 教科書 pp.5-56) 環 ( 教科書 pp.57-6) 教科書 野崎昭弘 : 離散系の数学 近代科学社 多項式 (polynomial) 係数 a n,a n-,,a,a R と変数 x R についての R 上の ( 変数 ) 多項式 P(x)=a n x n + a n- x n- + + a x+a n= のとき

More information

Microsoft PowerPoint - H21生物計算化学2.ppt

Microsoft PowerPoint - H21生物計算化学2.ppt 演算子の行列表現 > L いま 次元ベクトル空間の基底をケットと書くことにする この基底は完全系を成すとすると 空間内の任意のケットベクトルは > > > これより 一度基底を与えてしまえば 任意のベクトルはその基底についての成分で完全に記述することができる これらの成分を列行列の形に書くと M これをベクトル の基底 { >} による行列表現という ところで 行列 A の共役 dont 行列は A

More information

ディジタル信号処理

ディジタル信号処理 ディジタルフィルタの設計法. 逆フィルター. 直線位相 FIR フィルタの設計. 窓関数法による FIR フィルタの設計.5 時間領域での FIR フィルタの設計 3. アナログフィルタを基にしたディジタル IIR フィルタの設計法 I 4. アナログフィルタを基にしたディジタル IIR フィルタの設計法 II 5. 双 次フィルタ LI 離散時間システムの基礎式の証明 [ ] 4. ] [ ]*

More information

haskell.gby

haskell.gby Haskell 1 2 3 Haskell ( ) 4 Haskell Lisper 5 Haskell = Haskell 6 Haskell Haskell... 7 qsort [8,2,5,1] [1,2,5,8] "Hello, " ++ "world!" "Hello, world!" 1 + 2 div 8 2 (+) 1 2 8 div 2 3 4 map even [1,2,3,4]

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B

1. A0 A B A0 A : A1,...,A5 B : B1,...,B 1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 3. 4. 5. A0 A, B Z Z m, n Z m n m, n A m, n B m=n (1) A, B (2) A B = A B = Z/ π : Z Z/ (3) A B Z/ (4) Z/ A, B (5) f : Z Z f(n) = n f = g π g : Z/ Z A, B (6)

More information

液晶の物理1:連続体理論(弾性,粘性)

液晶の物理1:連続体理論(弾性,粘性) The Physics of Liquid Crystals P. G. de Gennes and J. Prost (Oxford University Press, 1993) Liquid crystals are beautiful and mysterious; I am fond of them for both reasons. My hope is that some readers

More information

ad bc A A A = ad bc ( d ) b c a n A n A n A A det A A ( ) a b A = c d det A = ad bc σ {,,,, n} {,,, } {,,, } {,,, } ( ) σ = σ() = σ() = n sign σ sign(

ad bc A A A = ad bc ( d ) b c a n A n A n A A det A A ( ) a b A = c d det A = ad bc σ {,,,, n} {,,, } {,,, } {,,, } ( ) σ = σ() = σ() = n sign σ sign( I n n A AX = I, YA = I () n XY A () X = IX = (YA)X = Y(AX) = YI = Y X Y () XY A A AB AB BA (AB)(B A ) = A(BB )A = AA = I (BA)(A B ) = B(AA )B = BB = I (AB) = B A (BA) = A B A B A = B = 5 5 A B AB BA A

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B

1. A0 A B A0 A : A1,...,A5 B : B1,...,B 1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 3. 4. 5. A0 A B f : A B 4 (i) f (ii) f (iii) C 2 g, h: C A f g = f h g = h (iv) C 2 g, h: B C g f = h f g = h 4 (1) (i) (iii) (2) (iii) (i) (3) (ii) (iv) (4)

More information

Basic Math. 1 0 [ N Z Q Q c R C] 1, 2, 3,... natural numbers, N Def.(Definition) N (1) 1 N, (2) n N = n +1 N, (3) N (1), (2), n N n N (element). n/ N.

Basic Math. 1 0 [ N Z Q Q c R C] 1, 2, 3,... natural numbers, N Def.(Definition) N (1) 1 N, (2) n N = n +1 N, (3) N (1), (2), n N n N (element). n/ N. Basic Mathematics 16 4 16 3-4 (10:40-12:10) 0 1 1 2 2 2 3 (mapping) 5 4 ε-δ (ε-δ Logic) 6 5 (Potency) 9 6 (Equivalence Relation and Order) 13 7 Zorn (Axiom of Choice, Zorn s Lemma) 14 8 (Set and Topology)

More information

2011年度 大阪大・理系数学

2011年度 大阪大・理系数学 0 大阪大学 ( 理系 ) 前期日程問題 解答解説のページへ a a を自然数とする O を原点とする座標平面上で行列 A= a の表す 次変換 を f とする cosθ siθ () >0 および0θ

More information

Microsoft PowerPoint - 10.pptx

Microsoft PowerPoint - 10.pptx m u. 固有値とその応用 8/7/( 水 ). 固有値とその応用 固有値と固有ベクトル 行列による写像から固有ベクトルへ m m 行列 によって線形写像 f : R R が表せることを見てきた ここでは 次元平面の行列による写像を調べる とし 写像 f : を考える R R まず 単位ベクトルの像 u y y f : R R u u, u この事から 線形写像の性質を用いると 次の格子上の点全ての写像先が求まる

More information

Microsoft PowerPoint - 13approx.pptx

Microsoft PowerPoint - 13approx.pptx I482F 実践的アルゴリズム特論 13,14 回目 : 近似アルゴリズム 上原隆平 (uehara@jaist.ac.jp) ソートの下界の話 比較に基づく任意のソートアルゴリズムはΩ(n log n) 時間の計算時間が必要である 証明 ( 概略 ) k 回の比較で区別できる場合の数は高々 2 k 種類しかない n 個の要素の異なる並べ方は n! 通りある したがって少なくとも k n 2 n!

More information

Microsoft PowerPoint - ca ppt [互換モード]

Microsoft PowerPoint - ca ppt [互換モード] 大阪電気通信大学情報通信工学部光システム工学科 2 年次配当科目 コンピュータアルゴリズム 良いアルゴリズムとは 第 2 講 : 平成 20 年 10 月 10 日 ( 金 ) 4 限 E252 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ 第 1 講の復習

More information

sinfI2005_VBA.doc

sinfI2005_VBA.doc sinfi2005_vba.doc MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 主なもの 型 型名 型宣言文字 長さ 内容 整数型 Integer % 2 バイト -32,768 32,767 長整数型 Long & 4 バイト -2,47,483,648 2,47,483,647 単精度浮動小数点数 Single 型!

More information

18 ( ) I II III A B C(100 ) 1, 2, 3, 5 I II A B (100 ) 1, 2, 3 I II A B (80 ) 6 8 I II III A B C(80 ) 1 n (1 + x) n (1) n C 1 + n C

18 ( ) I II III A B C(100 ) 1, 2, 3, 5 I II A B (100 ) 1, 2, 3 I II A B (80 ) 6 8 I II III A B C(80 ) 1 n (1 + x) n (1) n C 1 + n C 8 ( ) 8 5 4 I II III A B C( ),,, 5 I II A B ( ),, I II A B (8 ) 6 8 I II III A B C(8 ) n ( + x) n () n C + n C + + n C n = 7 n () 7 9 C : y = x x A(, 6) () A C () C P AP Q () () () 4 A(,, ) B(,, ) C(,,

More information

論理と計算(2)

論理と計算(2) 情報科学概論 Ⅰ アルゴリズムと計算 亀山幸義 http://logic.cs.tsukuba.ac.jp/~kam 計算とは? コンピュータが計算できることは? 1 2 関数 = 計算? NO 部分関数と計算 入力 1 入力 2 関数 出力 入力 1 入力 2 部分関数 出力 停止しない 入力 1 入力 2 コンピュータ 止まらないことがある出力 3 入力 1 入力 2 コンピュータ 出力 停止しない

More information

1990 IMO 1990/1/15 1:00-4:00 1 N N N 1, N 1 N 2, N 2 N 3 N 3 2 x x + 52 = 3 x x , A, B, C 3,, A B, C 2,,,, 7, A, B, C

1990 IMO 1990/1/15 1:00-4:00 1 N N N 1, N 1 N 2, N 2 N 3 N 3 2 x x + 52 = 3 x x , A, B, C 3,, A B, C 2,,,, 7, A, B, C 0 9 (1990 1999 ) 10 (2000 ) 1900 1994 1995 1999 2 SAT ACT 1 1990 IMO 1990/1/15 1:00-4:00 1 N 1990 9 N N 1, N 1 N 2, N 2 N 3 N 3 2 x 2 + 25x + 52 = 3 x 2 + 25x + 80 3 2, 3 0 4 A, B, C 3,, A B, C 2,,,, 7,

More information

Dynkin Serre Weyl

Dynkin Serre Weyl Dynkin Naoya Enomoto 2003.3. paper Dynkin Introduction Dynkin Lie Lie paper 1 0 Introduction 3 I ( ) Lie Dynkin 4 1 ( ) Lie 4 1.1 Lie ( )................................ 4 1.2 Killing form...........................................

More information

Microsoft PowerPoint - 1.ppt [互換モード]

Microsoft PowerPoint - 1.ppt [互換モード] 第 回オートマトンと正規表現 8//5( 火 ) 履修にあたって 8 年度情報数理学 8 年度大学院奇数セメスター ( 前期 ) 開講教室 : K6 大学院棟 D6( 次回から ) 担当 時限 : 火曜日 時限 (:5-:) 草苅良至 講義予定 計算機のいろいろな理論モデル言語理論 計算の限界計算量理論 問題の難しさ 現実問題と計算アルゴリズム論 参考書. Sipser 著 計算理論の基礎 共立出版

More information

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦   形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110, オートマトン 形式言語及び演習 1 有限オートマトンとは 酒井正彦 wwwtrscssinagoya-uacjp/~sakai/lecture/automata/ 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110, } 形式言語 : 数学モデルに基づいて定義された言語 認識機械 : 文字列が該当言語に属するか? 文字列 機械 受理

More information

Microsoft PowerPoint - qcomp.ppt [互換モード]

Microsoft PowerPoint - qcomp.ppt [互換モード] 量子計算基礎 東京工業大学 河内亮周 概要 計算って何? 数理科学的に 計算 を扱うには 量子力学を計算に使おう! 量子情報とは? 量子情報に対する演算 = 量子計算 一般的な量子回路の構成方法 計算って何? 計算とは? 計算 = 入力情報から出力情報への変換 入力 計算機構 ( デジタルコンピュータ,etc ) 出力 計算とは? 計算 = 入力情報から出力情報への変換 この関数はどれくらい計算が大変か??

More information

パソコンシミュレータの現状

パソコンシミュレータの現状 第 2 章微分 偏微分, 写像 豊橋技術科学大学森謙一郎 2. 連続関数と微分 工学において物理現象を支配する方程式は微分方程式で表されていることが多く, 有限要素法も微分方程式を解く数値解析法であり, 定式化においては微分 積分が一般的に用いられており. 数学の基礎知識が必要になる. 図 2. に示すように, 微分は連続な関数 f() の傾きを求めることであり, 微小な に対して傾きを表し, を無限に

More information

D 24 D D D

D 24 D D D 5 Paper I.R. 2001 5 Paper HP Paper 5 3 5.1................................................... 3 5.2.................................................... 4 5.3.......................................... 6

More information

y = x 4 y = x 8 3 y = x 4 y = x 3. 4 f(x) = x y = f(x) 4 x =,, 3, 4, 5 5 f(x) f() = f() = 3 f(3) = 3 4 f(4) = 4 *3 S S = f() + f() + f(3) + f(4) () *4

y = x 4 y = x 8 3 y = x 4 y = x 3. 4 f(x) = x y = f(x) 4 x =,, 3, 4, 5 5 f(x) f() = f() = 3 f(3) = 3 4 f(4) = 4 *3 S S = f() + f() + f(3) + f(4) () *4 Simpson H4 BioS. Simpson 3 3 0 x. β α (β α)3 (x α)(x β)dx = () * * x * * ɛ δ y = x 4 y = x 8 3 y = x 4 y = x 3. 4 f(x) = x y = f(x) 4 x =,, 3, 4, 5 5 f(x) f() = f() = 3 f(3) = 3 4 f(4) = 4 *3 S S = f()

More information

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - DA2_2017.pptx // データ構造とアルゴリズム IⅠ 第 回単一始点最短路 (II)/ 全点対最短路 トポロジカル ソート順による緩和 トポロジカル ソート順に緩和 閉路のない有向グラフ限定 閉路がないならトポロジカル ソート順に緩和するのがベルマン フォードより速い Θ(V + E) 方針 グラフをトポロジカル ソートして頂点に線形順序を与える ソート順に頂点を選び, その頂点の出辺を緩和する 各頂点は一回だけ選択される

More information

ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1

ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1 2005 sumii@ecei.tohoku.ac.jp 2005 6 24 ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1 let λ 1 let x = e1 in e2 (λx.e 2 )e 1 e 1 x e 2 λ 3 λx.(λy.e)

More information

(1) (2) (1) (2) 2 3 {a n } a 2 + a 4 + a a n S n S n = n = S n

(1) (2) (1) (2) 2 3 {a n } a 2 + a 4 + a a n S n S n = n = S n . 99 () 0 0 0 () 0 00 0 350 300 () 5 0 () 3 {a n } a + a 4 + a 6 + + a 40 30 53 47 77 95 30 83 4 n S n S n = n = S n 303 9 k d 9 45 k =, d = 99 a d n a n d n a n = a + (n )d a n a n S n S n = n(a + a n

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

gengo1-11

gengo1-11 関数の再帰定義 自然数 n の階乗 n! を計算する関数を定義してみる 引数は整数 返却値も整数 n! = 1*2*3*... * (n 1)*n である ただし 0! = 1 とする int factorial(int n) int i, tmp=1; if( n>0 ) for(i=1; i

More information

平成 19 年度 ( 第 29 回 ) 数学入門公開講座テキスト ( 京都大学数理解析研究所, 平成 19 ~8 年月 72 月日開催 30 日 ) 1 PCF (Programming language for Computable Functions) PCF adequacy adequacy

平成 19 年度 ( 第 29 回 ) 数学入門公開講座テキスト ( 京都大学数理解析研究所, 平成 19 ~8 年月 72 月日開催 30 日 ) 1 PCF (Programming language for Computable Functions) PCF adequacy adequacy 1 PCF (Programming language for Computable Functions) PCF adequacy adequacy 2 N X Y X Y f (x) f x f x y z (( f x) y) z = (( f (x))(y))(z) X Y x e X Y λx. e x x 2 + x + 1 λx. x 2 + x + 1 3 PCF 3.1 PCF PCF

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 3 4 週 プログラミング言語の形式的な記述 2014 年 4 月 23 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

新・明解C言語で学ぶアルゴリズムとデータ構造

新・明解C言語で学ぶアルゴリズムとデータ構造 第 1 章 基本的 1 n 141 1-1 三値 最大値 algorithm List 1-1 a, b, c max /* */ #include int main(void) { int a, b, c; int max; /* */ List 1-1 printf("\n"); printf("a"); scanf("%d", &a); printf("b"); scanf("%d",

More information

koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ λ, syntax τ (types) ::= b τ 1 τ 2 τ 1

koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ λ, syntax τ (types) ::= b τ 1 τ 2 τ 1 http://www.kb.ecei.tohoku.ac.jp/ koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ 1.1.1 λ, syntax τ (types) ::= b τ 1 τ 2 τ 1 τ 2 M (terms) ::= c τ x M 1 M 2 λx : τ.m (M 1,M 2

More information

limit&derivative

limit&derivative - - 7 )................................................................................ 5.................................. 7.. e ).......................... 9 )..........................................

More information

PowerPoint Template

PowerPoint Template プログラミング演習 Ⅲ Linked List P. Ravindra S. De Silva e-mail: ravi@cs.tut.ac.jp, Room F-413 URL: www.icd.cs.tut.ac.jp/~ravi/prog3/index_j.html 連結リストとは? 一つひとつの要素がその前後の要素との参照関係をもつデータ構造 A B C D 連結リストを使用する利点 - 通常の配列はサイズが固定されている

More information

航空機の運動方程式

航空機の運動方程式 可制御性 可観測性. 可制御性システムの状態を, 適切な操作によって, 有限時間内に, 任意の状態から別の任意の状態に移動させることができるか否かという特性を可制御性という. 可制御性を有するシステムに対し, システムは可制御である, 可制御なシステム という言い方をする. 状態方程式, 出力方程式が以下で表されるn 次元 m 入力 r 出力線形時不変システム x Ax u y x Du () に対し,

More information

「計算と論理」 Software Foundations その4

「計算と論理」  Software Foundations   その4 Software Foundations 4 cal17@fos.kuis.kyoto-u.ac.jp http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/class/cal/ November 7, 2017 ( ) ( 4) November 7, 2017 1 / 51 Poly.v ( ) ( 4) November 7, 2017 2 / 51 : (

More information

, = = 7 6 = 42, =

, = = 7 6 = 42, = http://www.ss.u-tokai.ac.jp/~mahoro/2016autumn/alg_intro/ 1 1 2016.9.26, http://www.ss.u-tokai.ac.jp/~mahoro/2016autumn/alg_intro/ 1.1 1 214 132 = 28258 2 + 1 + 4 1 + 3 + 2 = 7 6 = 42, 4 + 2 = 6 2 + 8

More information

2015-2018年度 2次数学セレクション(整数と数列)解答解説

2015-2018年度 2次数学セレクション(整数と数列)解答解説 015 次数学セレクション問題 1 [ 千葉大 文 ] k, m, n を自然数とする 以下の問いに答えよ (1) k を 7 で割った余りが 4 であるとする このとき, k を 3 で割った余りは であることを示せ () 4m+ 5nが 3 で割り切れるとする このとき, mn を 7 で割った余りは 4 ではないことを示せ -1- 015 次数学セレクション問題 [ 九州大 理 ] 以下の問いに答えよ

More information

PowerPoint Presentation

PowerPoint Presentation 言語モデル論 (4) ー λ 計算その 1 ー 米澤明憲 始めに 関数について 持つ個々の数学的領域 ( 型等 ) に依存しない 関数の一般的な性質を調べる目的 1940 年代にA. Churchが始めた計算の理論体系 作用型プログラミングの基礎 式はλ 式 (λexpression, λterm) と呼ばれ 関数を表す (denoteする) 基本的に文字列の書き換え ( 簡約 ) が計算とみなされる体系であるが

More information

オートマトンと言語

オートマトンと言語 オートマトンと言語 回目 4 月 8 日 ( 水 ) 章 ( 数式の記法, スタック,BNF 記法 ) 授業資料 http://ir.cs.yamanashi.ac.jp/~ysuzuki/public/automaton/ 授業の予定 ( 中間試験まで ) 回数月日 内容 4 月 日オートマトンとは, オリエンテーション 4 月 8 日 章 ( 数式の記法, スタック,BNF) 3 4 月 5 日

More information

名古屋工業大の数学 2000 年 ~2015 年 大学入試数学動画解説サイト

名古屋工業大の数学 2000 年 ~2015 年 大学入試数学動画解説サイト 名古屋工業大の数学 年 ~5 年 大学入試数学動画解説サイト http://mathroom.jugem.jp/ 68 i 4 3 III III 3 5 3 ii 5 6 45 99 5 4 3. () r \= S n = r + r + 3r 3 + + nr n () x > f n (x) = e x + e x + 3e 3x + + ne nx f(x) = lim f n(x) lim

More information

スライド 1

スライド 1 ブール代数 ブール代数 集合 { 0, 1 } の上で演算 AND, OR, NOT からなる数学的体系 何のため? ある演算をどのような回路で実現すればよいのか? どうすれば回路が小さくなるのか? どうすれば回路が速く動くのか? 3 復習 : 真理値表とゲート記号 真理値表 A B A B 0 0 0 0 1 0 1 0 0 1 1 1 A B A+B 0 0 0 0 1 1 1 0 1 1 1

More information

koji07-01.dvi

koji07-01.dvi 2007 I II III 1, 2, 3, 4, 5, 6, 7 5 10 19 (!) 1938 70 21? 1 1 2 1 2 2 1! 4, 5 1? 50 1 2 1 1 2 2 1?? 2 1 1, 2 1, 2 1, 2, 3,... 3 1, 2 1, 3? 2 1 3 1 2 1 1, 2 2, 3? 2 1 3 2 3 2 k,l m, n k,l m, n kn > ml...?

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information

1 α X (path) α I = [0, 1] X α(0) = α(1) = p α p (base point) loop α(1) = β(0) X α, β α β : I X (α β)(s) = ( )α β { α(2s) (0 s 1 2 ) β(2s 1) ( 1 2 s 1)

1 α X (path) α I = [0, 1] X α(0) = α(1) = p α p (base point) loop α(1) = β(0) X α, β α β : I X (α β)(s) = ( )α β { α(2s) (0 s 1 2 ) β(2s 1) ( 1 2 s 1) 1 α X (path) α I = [0, 1] X α(0) = α(1) = p α p (base point) loop α(1) = β(0) X α, β α β : I X (α β)(s) = ( )α β { α(2s) (0 s 1 2 ) β(2s 1) ( 1 2 s 1) X α α 1 : I X α 1 (s) = α(1 s) ( )α 1 1.1 X p X Ω(p)

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 5 3. 4. 5. A0 (1) A, B A B f K K A ϕ 1, ϕ 2 f ϕ 1 = f ϕ 2 ϕ 1 = ϕ 2 (2) N A 1, A 2, A 3,... N A n X N n X N, A n N n=1 1 A1 d (d 2) A (, k A k = O), A O. f

More information

微分方程式 モデリングとシミュレーション

微分方程式 モデリングとシミュレーション 1 微分方程式モデリングとシミュレーション 2018 年度 2 質点の運動のモデル化 粒子と粒子に働く力 粒子の運動 粒子の位置の時間変化 粒子の位置の変化の割合 速度 速度の変化の割合 加速度 力と加速度の結び付け Newtonの運動方程式 : 微分方程式 解は 時間の関数としての位置 3 Newton の運動方程式 質点の運動は Newton の運動方程式で記述される 加速度は力に比例する 2

More information

program7app.ppt

program7app.ppt プログラム理論と言語第 7 回 ポインタと配列, 高階関数, まとめ 有村博紀 吉岡真治 公開スライド PDF( 情報知識ネットワーク研 HP/ 授業 ) http://www-ikn.ist.hokudai.ac.jp/~arim/pub/proriron/ 本スライドは,2015 北海道大学吉岡真治 プログラム理論と言語, に基づいて, 現著者の承諾のもとに, 改訂者 ( 有村 ) が加筆修正しています.

More information

X G P G (X) G BG [X, BG] S 2 2 2 S 2 2 S 2 = { (x 1, x 2, x 3 ) R 3 x 2 1 + x 2 2 + x 2 3 = 1 } R 3 S 2 S 2 v x S 2 x x v(x) T x S 2 T x S 2 S 2 x T x S 2 = { ξ R 3 x ξ } R 3 T x S 2 S 2 x x T x S 2

More information

喨微勃挹稉弑

喨微勃挹稉弑 == 全微分方程式 == 全微分とは 変数の関数 z=f(, ) について,, の増分を Δ, Δ とするとき, z の増分 Δz は Δz z Δ+ z Δ で表されます. この式において, Δ 0, Δ 0 となる極限を形式的に dz= z d+ z d (1) で表し, dz を z の全微分といいます. z は z の に関する偏導関数で, を定数と見なし て, で微分したものを表し, 方向の傾きに対応します.

More information

直観主義線型論理の圏論的意味論について 福田陽介 2018 年 12 月 11 日 1 はじめに 本文書は直観主義線型論理に対する圏論的意味論を概説することを目的とした記事です * 1 線型論理 (Linear Logic) は論理学者 Girard により考案さ

直観主義線型論理の圏論的意味論について 福田陽介 2018 年 12 月 11 日 1 はじめに 本文書は直観主義線型論理に対する圏論的意味論を概説することを目的とした記事です * 1 線型論理 (Linear Logic) は論理学者 Girard により考案さ 直観主義線型論理の圏論的意味論について 福田陽介 y00y@gmail.com 2018 年 12 月 11 日 1 はじめに 本文書は直観主義線型論理に対する圏論的意味論を概説することを目的とした記事です * 1 線型論理 (Linear Logic) は論理学者 Girard により考案された論理であり 普通の論理では認められる 仮定の複製 ( いわゆる縮約規則 ) や 仮定の無視 ( いわゆる弱化規則

More information

解析力学B - 第11回: 正準変換

解析力学B - 第11回: 正準変換 解析力学 B 第 11 回 : 正準変換 神戸大 : 陰山聡 ホームページ ( 第 6 回から今回までの講義ノート ) http://tinyurl.com/kage2010 2011.01.27 正準変換 バネ問題 ( あえて下手に座標をとった ) ハミルトニアンを考える q 正準方程式は H = p2 2m + k 2 (q l 0) 2 q = H p = p m ṗ = H q = k(q

More information

., White-Box, White-Box. White-Box.,, White-Box., Maple [11], 2. 1, QE, QE, 1 Redlog [7], QEPCAD [9], SyNRAC [8] 3 QE., 2 Brown White-Box. 3 White-Box

., White-Box, White-Box. White-Box.,, White-Box., Maple [11], 2. 1, QE, QE, 1 Redlog [7], QEPCAD [9], SyNRAC [8] 3 QE., 2 Brown White-Box. 3 White-Box White-Box Takayuki Kunihiro Graduate School of Pure and Applied Sciences, University of Tsukuba Hidenao Iwane ( ) / Fujitsu Laboratories Ltd. / National Institute of Informatics. Yumi Wada Graduate School

More information

) a + b = i + 6 b c = 6i j ) a = 0 b = c = 0 ) â = i + j 0 ˆb = 4) a b = b c = j + ) cos α = cos β = 6) a ˆb = b ĉ = 0 7) a b = 6i j b c = i + 6j + 8)

) a + b = i + 6 b c = 6i j ) a = 0 b = c = 0 ) â = i + j 0 ˆb = 4) a b = b c = j + ) cos α = cos β = 6) a ˆb = b ĉ = 0 7) a b = 6i j b c = i + 6j + 8) 4 4 ) a + b = i + 6 b c = 6i j ) a = 0 b = c = 0 ) â = i + j 0 ˆb = 4) a b = b c = j + ) cos α = cos β = 6) a ˆb = b ĉ = 0 7) a b = 6i j b c = i + 6j + 8) a b a b = 6i j 4 b c b c 9) a b = 4 a b) c = 7

More information