34 (2017 ),,.,,,,,.,,,,., [13],.,,,.,. 1,,, [7].,,,,., Leon [8], Synquid [9], SMT CVC4 [10].,., Functional Program Synthesis from Relational Specifica

Size: px
Start display at page:

Download "34 (2017 ),,.,,,,,.,,,,., [13],.,,,.,. 1,,, [7].,,,,., Leon [8], Synquid [9], SMT CVC4 [10].,., Functional Program Synthesis from Relational Specifica"

Transcription

1 34 (2017 ),,.,,,,,.,,,,., [13],.,,,.,. 1,,, [7].,,,,., Leon [8], Synquid [9], SMT CVC4 [10].,., Functional Program Synthesis from Relational Specifications. This is an unrefereed paper. Copyrights belong to the Authors. Shu Nakao, Yuki Satake, Hiroshi Unno,, Graduate School of Systems and Information Engneering, University of Tsukuba..,,,,,., [5] [15], [2][3], [4].,,.,,,., even sum, sum even 1., 0, 1. sum even 1 2, sum even 1. [2][3]. 1,??

2 type list = Nil Cons of int * list let rec even x = match x with Nil -> Nil Cons(u, Nil) -> Cons(u, Nil) Cons(u, Cons(_, us)) -> Cons(u, even us) let rec sum x = match x with Nil -> 0 Cons(u, us) -> u + sum us let rec sum_even =?? let main x = assert (sum (even x) = sum_even x) 1 sum even let rec sum_even x = match x with Nil -> 0 Cons (u, Nil) -> u Cons (u, Cons(_, us)) -> u + sum_even us 2 sum even., main assert, sum (even x) = sum even x false even, sum, sum even. 1 2., Leon [8], Synquid [9], CVC4 [10],. Leon,. Leon.,,,., Leon. Synquid,,,,., Leon,. CVC4,,,.,., [13],,, (1), (2) 2.. (1), ( ),,,, [11] [12] [14] [6].,,,.,,,,.,.,, (Horn Constriant Abduction Problem, HCAP),.,. (2),

3 !"#$%&'()*+, 34 HACP 56 -./"012 78!"#$%&'( 3.,,, [13]., [13],,. 3., HCAP., HCAP,.,,,., HCAP,.,, OCaml,.. 2, sum even,. 3 HCAP, HCAP. 4 HCAP. 5, HCAP. 6,., 7. 2, 1 sum even HCAP 3, HCAP. [12],,. sum even H sum even. P (Nil, Nil), P (Cons(u, Nil), Nil), P (Cons(u 1, Cons(u 2, us)), Cons(v, vs)) P (us, vs) v = u 1, Q(Nil, 0), Q(Cons(u, us), r + u) Q(us, r ), P (x, y) Q(y, r 1) R(x, r 2) r 1 r 2 P, Q, R even, sum, sum even. R sum even, R.,,. P (Nil, Nil) even match, even Nil Nil. P (Cons(u 1, Cons(u 2, Nil)), Cons(v, vs)) P (us, vs) v = u 1 match 3, even Cons(u 1, Cons(u 2, us)) even us, vs Cons(u 1, vs). P (x, y) Q(y, r 1) R(x, t 2) r 1 r 2 assert

4 , sum (even x) = sum even x false.,, HCAP., HCAP H sum even R.,,.,., H sum even R,,.,,. sum even HCAP. R(Nil, 0), R(Cons(u, Nil), u), R(Cons(u 1, Cons(u 2, x )), r + u 1) R(x, r ), 2,. HCAP HCAP 3, HCAP. HCAP,,.,,.,,. sum even HCAP. R(x, r) ν base (x, r), R(x, r) R(x, r ) ν ind (x, r, x, r ) ν. 1 sum even, 2., [13]. [13],,.. ν base (x, r 2) r 2 0 x = Nil, ν ind (x, r 2, x, r 2) r 2 0 x = Nil, ν base (x, r 2) r 2 u x = Cons(u, Nil), ν ind (x, r 2, x, r 2) r 2 u x = Cons(u, Nil), ν base (x, r 2) x = Cons(u 1, Cons(u 2, us)), ν ind (x, r 2, x, r 2) r 2 r 2 + u x = Cons(u 1, Cons(u 2, us)), ν ind (x, r 2, x, r 2) x us x = Cons(u 1, Cons(u 2, us)), [1],,.. ν base (x, r) x = Nil r = 0 x = Cons(u 1, Nil) r = u 1, ν ind (x, r, x, r ) x = Nil r = 0 x = Cons(u 1, Nil) r = u 1 x = Cons(u 1, Cons(u 2, x )) r = 1 + u 1 + r, HCAP.

5 2. 3 HCAP 3, HCAP., HCAP. HCAP,.,. sum even, R(Nil, 0) sum even Nil 0, R(Cons(u 1, Cons(u 2, x )), r + u 1) R(x, r ) Cons(u 1, Cons(u 2, x ) sum even x, r r +u 1., 2. 2 HCAP 2 OCaml. 3 HCAP 3. 1 (Horn Clause Constraint Sets, HCCSs). (HCCS) H ::= {hc 1,..., hc m} (Horn Clause) hc ::= h b (Head) h ::= P ( t) (Body) b ::= P 1( t 1)... P m( t m) ϕ (Formula) ϕ ::= t 1 t 2 t 1 = t 2 is C(t) ϕ ϕ 1 ϕ 2 ϕ 1 ϕ 2 (Term) t ::= n x t 1 + t 2 t 1 t 2 C( t) s C,i(t),. P, n, x, C. t t 1,..., t m, s C,i C i, is C C. P C ar(p ), ar(c). H {hc 1,..., hc m}. 1. hc pvs(hc). H, pvs(h) = hc H pvs(hc). H hc 1, hc 2. Head P ( t), H def (H)., Head, H goal(h). H ρ, H pvs(h) V ar(p )., V. H, H hc H ρ = hc ρ, ρ = H ( ) (Horn Clause Abduction Problem, HCAP), H H P pvs(h), (H, P, ),, P D, H D, -. - D, D D D D HCAP, [12],.??.,.,,,

6 det HCAP., det,. 4 HCAP det - HCAP., det -, det - HCAP. det -, HCAP,. HCAP,. 1. HCAP 2. [13], 3. HCAP 4. 3 HCAP, det, HCAP., ν base (x, r), Head R(x, r) x, r., ν ind (x, r, x, r ), Head R(x, r), Body R(x, r ) x, r, x, r. 2 Body Head,.,,. 4. 2,, [13]., Body. [13],,., D; Γ; A; ϕ h,. D, Γ, A, ϕ, h Head. D; Γ; A; ϕ h, D Γ, A ϕ h. H goal(h) = { A i ϕ i } m i=1 def (H); ; A i; ϕ i,,.,,., Head h. sum even J 1. J 1 D; ; {P (x, y), Q(y, r 1), R(x, r 2)} ; r 1 r , [13], INDUCT, UNFOLD, APPLY, VALID 4.. INDUCT A,, Γ. UNFOLD A P ( t), P ( t) ϕ i A i

7 D,.. ϕ ϕ ϕ i, A A A i. APPLY Γ,. VALID, ϕ ϕ = , [13]., HCAP P. 1. D; ; A 1; ϕ 1 A 1, P, 1 UNFOLD INDUCT. 2. UNFOLD A,, ϕ, UNFOLD.. 3. D; Γ; A; ϕ A, P, 1 UNFOLD. 4. UNFOLD, APPLY. 5. VALID. 6., D; Γ; A; ϕ ϕ, ϕ = VALID., sum even J J 1, 1, P (x, y), Q(y, r 1), INDUCT UNFOLD. P (x, y) IN- DUCT, P (x, y) Q(y, r 1) R(x, r 2) r 1 = r 2 J 1. 4 J 9. J 5 J 3 J 13 VALID VALID J 5 INDUCT Q J 2 J 1 J 8. J 11 J 7 INDUCT P J 15 J 14 J 10 VALID APPLY UNFOLD R J 12 VALID VALID UNFOLD Q J 6 J 4 UNFOLD Q. J 8 INDUCT Q UNFOLD P sum even UNFOLD Q J 2., P (x, y ), y Q(y, r 1), x R(x, r 2) APPLY., ϕ ϕ r 1 = r 2. J 2, P (x, y) UNFOLD. D P 3, UNFOLD 3. Q, INDUCT, UNFOLD. UNFOLD, ϕ. ϕ 9 J 9 ϕ 9, x = Cons(u 1, Nil) x = Nil., x, ϕ 9 VALID. 2.UNFOLD P (Cons(u, Nil), Cons(u, Nil)), Q(Cons(u, us), r + u) Q(us, r ) J 5. Q(us, r ). ϕ 5, ϕ 5 us = Nil, Q(us, r )

8 UNFOLD. 2, 3 R(x, r 2) UNFOLD. J 8. R(x, r 2) UNFOLD, R(x, r) ν base (x, r), R(x, r) R(x, r ) ν ind (x, r, x, r ) ν ϕ. 3, UNFOLD, APPLY. J 14,. J 14, P (x, y), Q(y, r 1), R(x, r 2), P (us, vs), Q(vs, r 1), R(x, r 2)., P (x, y) Q(y, r 1) R(x, r 2) r 1 = r 2 P (us, vs), Q(vs, r 1), R(x, r 2), ϕ 14 r 1 = r 2 ϕ 14., ϕ ν VALID.,., , VALID, APPLY. D; Γ; A; ϕ VALID ϕ =. ϕ ϕ =, ϕ. D; Γ; A; ϕ APPLY, A ϕ h. A, A. A P, A P, A. 4 J 14 APPLY, x = us, ϕ 14 x = us., VALID,., , HCAP., [1],.,.,. [1], (Quantifier Elimination, QE) , 2., 3., QE,,.,,.

9 sum even,. ν base (x, r) x = Nil r = 0 x = Cons(u, Nil) r = u, ν ind (x, r, x, r ) x = Nil r = 0 x = Cons(u 1, Nil) r = u x = Cons(u 1, Cons(u 2, x )) r = u 1 + r 4. 4 HCAP,,.,. HCAP,,, 2,.,.,,.,, sum even. R(Nil, 0), R(Cons(u, Nil), u), R(Nil, 0) R(x, r ), R(Cons(u, Nil), u) R(x, r ), R(Cons(u 1, Cons(u 2, x )), r + u 1) R(x, r ), Nil, Cons(u, Nil),., Algorithm 1: extract def extract(p ; D) (where D = {P ( x, y) b i 1 i m}, b i = n i j P ij( x ij, y ij) ϕ i) = if QE( x.ϕ 1) then extract branch(λy.b 1; x) else if... else if QE( x.ϕ n) then extract branch(λy.b n; x) else inf loop() //. R(Nil, 0), R(Cons(u, Nil), u), R(Cons(u 1, Cons(u 2, x )), r + u 1) R(x, r ) 5 HCAP HCAP,., 1.,.. P, P Head D, P extract Algorithm 1. D P ( x, y) n i j P ij( x ij, y ij) ϕ i, P. x, y. QE( x.ϕ i), ϕ i x. QE, ϕ i x if., extract branch.,. if extract branch

10 Algorithm 2: extract branch def extract branch(λy.( ϕ); ũ)= decide(ũ; λy.ϕ) def extract branch (λy.( n i=1 Pi( xi, yi) ϕ); ũ)= let t = decide(ũ; λ x 1.ϕ) in let ϕ = ϕ[ x 1 t ] in let y 1 = fun of(p 1)( t) in extract branch ( n i=2 Pi( xi, yi) λy.ϕ ; y 1, ũ) Algorithm 3: decide def decide(ũ; ϕ)= ϵ // def decide(ũ; λx 1,..., x n.ϕ)= let ϕ = QE( x 1, ũ.ϕ) in let ψ = ũ.(( x 1.ϕ ) ϕ [x 1 f(ũ)]) in let M f = model(ψ) in M f (ũ), decide(ũ; λx 2,..., x n.ϕ[x 1 M f (ũ)]), QE x 1, ũ Algorithm 2. extract branch, λy.b ũ. b P i( x i, y i), P i x i, y i., b. λy.b,, decide.1, 1 P 1( x 1, y 1), y 1 let., y 1 let let, let let, extract branch., x 1 t decide., ϕ x 1 t ϕ. fun of(p 1), P 1. decide Algorithm 3. decide, n ũ, n λx 1,..., x n.ϕ. n = 0, decide. n > 0, x 1, x 2,..., x n. ϕ, x 1,..., x n, ũ ϕ. x 1, ũ.(( x 1.ϕ ) ϕ [x 1 f(ũ)]) f M f SMT. 6, RCaml [12]. RCaml [13],.,.. 6. kind. eq, inv, incr., sum even. result,. wrong proof tree. stack overflow,., Leon [8],. 6. time out 1. Leon sub acc

11 1 problem kind result mult acc eq mult acc x y a = if y = 0 then a else mult acc x (y-1) (a+x) mult eq mult x y = if y = 0 then 0 else x + mult x (y-1) mult int mult x y = x * y mult dist eq wrong proof tree sum acc eq wrong proof tree sub inv sub x y = x - y sub rec inv sub x y = if y = 0 then x else sub (x-1) (y-1) pred inv pred x = x - 1 double1 eq wrong proof tree double2 eq double x = if x = 0 then 0 else 2 + double (x - 1) incr incr incr x = x + 1 max max x y = if x > y then x else y sum even eq sum even l = Nil 0 Cons(u,Nil) u Cons(u, Cons (, us)) u + sum even us sum scs eq sum scs l = Nil 0 Cons(u, us) 1 + u + sum scs us tup sum even eq wrong proof tree pred dup inv stack overflow., sum even, sum even 2,. 7,.,.,. [ 1 ] Albarghouthi, A., Dillig, I., and Gurfinkel, A.: Maximal Specification Synthesis, Proc. POPL 16, ACM, 2016, pp [ 2 ] Bird, R. S.: Using circular programs to eliminate multiple traversals of data, Acta Informatica, Vol. 21, No. 3(1984), pp [ 3 ] Chin, W.-N.: Towards an Automated Tupling Strategy, Proc. PEPM 93, ACM, 1993, pp [ 4 ] Dijkstra, E. W.: Program Inversion, Springer New York, 1982, pp [ 5 ] Gill, A., Launchbury, J., and Peyton Jones, S. L.: A short cut to deforestation, Proc. FPCA 93, ACM, 1993, pp [ 6 ] Grebenshchikov, S., Lopes, N. P., Popeea, C., and Rybalchenko, A.: Synthesizing Software Verifiers from Proof Rules, Proc. PLDI 12, ACM, 2012, pp [ 7 ] Gulwani, S.: Dimensions in Program Synthesis, Proc. PPDP 10, ACM, 2010, pp [ 8 ] Kneuss, E., Kuraj, I., Kuncak, V., and Suter, P.: Synthesis Modulo Recursive Functions, Proc. OOPSLA 13, ACM, 2013, pp [ 9 ] Polikarpova, N., Kuraj, I., and Solar-Lezama, A.: Program Synthesis from Polymorphic Refinement Types, Proc. PLDI 16, ACM, 2016, pp [10] Reynolds, A., Deters, M., Kuncak, V., Tinelli, C., and Barrett, C.: Counterexample-Guided Quantifier Instantiation for Synthesis in SMT, Proc. CAV 15, 2015, pp [11] Rondon, P., Kawaguchi, M., and Jhala, R.: Liquid Types, Proc. PLDI 08, ACM, 2008, pp [12] Unno, H. and Kobayashi, N.: Dependent Type Inference with Interpolants, Proc. PPDP 09, ACM, 2009, pp [13] Unno, H., Torii, S., and Sakamoto, H.: Automating Induction for Solving Horn Clauses, Proc. CAV 17, 2017, pp [14] Vazou, N., Seidel, E. L., Jhala, R., Vytiniotis, D., and Peyton Jones, S. L.: Refinement Types for Haskell, Proc. ICFP 14, ACM, 2014, pp [15] Wadler, P.: Deforestation: transforming programs to

12 2 Leon problem result mult acc mult acc(x,y,a) = mult(x, y) + a mult mult(x,y) = mult acc(x, y, 0) mult int mult(x, y) = x * y mult dist mult dist(x, y, z) = mult(x, z) + mult(y, z) sum acc sum acc(x, a)= a + sum(x) sub sub(x,y) = x - y sub rec time out pred pred(x) = x - 1 double1 double(x) = mult(x, 2) double2 double(x) = mult(2, x) incr failed max max(x, y) = if (x y) x else y sum even sum even(l) = sum (even(l)) tup sum even tup sum even(l) = (sum(l), even(l)) pred dup time out A eliminate trees, Proc. ESOP 88, LNCS, Vol. 300, 1988, pp mult acc let rec mult x y = if y = 0 then 0 else y + mult x (y-1) let rec mult_acc x y a =?? let main x y a = assert(a + mult x y = mult_acc x y a) mult let rec mult x y =?? let rec mult_acc x y a = if y = 0 then a else mult_acc x (y-1) (a+x) let main x y a = assert(a + mult x y = mult_acc x y a) mult int let rec mult x y = mult x y let main x y = assert(x * y = mult x y) mult dist let rec mult x y = if y = 0 then 0 else x + mult x (y-1) let rec mult_dist x y z =?? let main x y z = assert (mult x z + mult y z = mult_dist x y z) sum acc let rec sum n = if n < 0 then n + sum (n + 1) else if n = 0 then 0 else n + sum (n - 1) let rec sum_acc n a =?? let main n a = assert(a + sum n = sum_acc n a) sub let rec add x y = x + y let rec sub x y =?? let main x y = assert (add y (sub x y) = x) sub rec let rec add x y = if x = 0 then y else 1 + add (x-1) y let rec sub x y =??

13 let main x y = assert (add y (sub x y) = x) pred let succ x = x + 1 let rec pred x =?? let main x = assert (pred (succ x) = x) double1 let rec mult x y = if y = 0 then 0 else x + mult x (y-1) let rec double x =?? let main x = assert (mult x 2 = double x) double2 let rec mult x y = if y = 0 then 0 else x + mult x (y-1) let rec double x =?? let main x = assert (mult 2 x = double x) mono let rec mono x =?? let main x y = if x > y then assert (mono x > mono y) else () incr let rec incr x =?? let main x = assert (incr x > x) comm let rec comm x y =?? let main x y = assert(comm x y = comm y x) Nil -> 0 Cons(u, us) -> u + sum us let rec even l = Nil -> Nil Cons(u, us) -> Cons(u, us) Cons(u1, Cons(u2, us)) -> Cons(u1, even us) let rec sum_even l =?? let main l = assert (sum (even l) = sum_even l) sum scs type list = Nil Cons of int * list let rec scs l = Nil -> Nil Cons(u, us) -> Cons(1 + u, scc us) let rec sum l = Nil -> 0 Cons(u, us) -> u + sum us let rec sum_scs l =?? let main l = assert (sum (scs l) = sum_scs l) tup sum even type list = Nil Cons of int * list let rec sum l = Nil -> 0 Cons(u, us) -> u + sum us let rec even l = Nil -> Nil Cons(u, us) -> Cons(u, us) Cons(u1, Cons(u2, us)) -> Cons(u1, even us) let rec tup_sum_even l =?? let main l = assert ((sum l, even l) = tup_sum_even l) max let rec max x y =?? let main x y = if x > y then assert (max x y = x) else assert (max x y = y) sum even type list = Nil Cons of int * list let rec sum l =

14 pred dup type list = Nil Cons of int * list let rec succ l = Nil -> Nil Cons(u, us) -> Cons(u + 1, succ us) let rec dup l = Nil -> Nil Cons(u, us) -> Cons(u, Cons(u, dup us)) let rec pred_dup l =?? let main l = assert (succ (pred_dup l) = dup l)

Parametric Polymorphism

Parametric Polymorphism ML 2 2011/04/19 Parametric Polymorphism Type Polymorphism ? : val hd_int : int list - > int val hd_bool : bool list - > bool val hd_i_x_b : (int * bool) list - > int * bool etc. let hd_int = function (x

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

ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1

ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1 More Logic More Types ML/OCaml GADT Jacques Garrigue ( ) Jacques Le Normand (Google) Didier Rémy (INRIA) @garriguejej ocamlgadt ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1 ( ) ML type nebou and

More information

Jacques Garrigue

Jacques Garrigue Jacques Garrigue Garrigue 1 Garrigue 2 $ print_lines () > for i in $1; do > echo $i > done $ print_lines "a b c" a b c Garrigue 3 Emacs Lisp (defun print-lines (lines) (dolist (str lines) (insert str)

More information

T rank A max{rank Q[R Q, J] t-rank T [R T, C \ J] J C} 2 ([1, p.138, Theorem 4.2.5]) A = ( ) Q rank A = min{ρ(j) γ(j) J J C} C, (5) ρ(j) = rank Q[R Q,

T rank A max{rank Q[R Q, J] t-rank T [R T, C \ J] J C} 2 ([1, p.138, Theorem 4.2.5]) A = ( ) Q rank A = min{ρ(j) γ(j) J J C} C, (5) ρ(j) = rank Q[R Q, (ver. 4:. 2005-07-27) 1 1.1 (mixed matrix) (layered mixed matrix, LM-matrix) m n A = Q T (2m) (m n) ( ) ( ) Q I m Q à = = (1) T diag [t 1,, t m ] T rank à = m rank A (2) 1.2 [ ] B rank [B C] rank B rank

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

# let rec sigma (f, n) = # if n = 0 then 0 else f n + sigma (f, n-1);; val sigma : (int -> int) * int -> int = <fun> sigma f n ( : * -> * ) sqsum cbsu

# let rec sigma (f, n) = # if n = 0 then 0 else f n + sigma (f, n-1);; val sigma : (int -> int) * int -> int = <fun> sigma f n ( : * -> * ) sqsum cbsu II 4 : 2001 11 7 keywords: 1 OCaml OCaml (first-class value) (higher-order function) 1.1 1 2 + 2 2 + + n 2 sqsum 1 3 + 2 3 + + n 3 cbsum # let rec sqsum n = # if n = 0 then 0 else n * n + sqsum (n - 1)

More information

# let st1 = {name = "Taro Yamada"; id = };; val st1 : student = {name="taro Yamada"; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n

# let st1 = {name = Taro Yamada; id = };; val st1 : student = {name=taro Yamada; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n II 6 / : 2001 11 21 (OCaml ) 1 (field) name id type # type student = {name : string; id : int};; type student = { name : string; id : int; } student {} type = { 1 : 1 ;...; n : n } { 1 = 1 ;...; n = n

More information

3 3.1 algebraic datatype data k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] B

3 3.1 algebraic datatype data k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] B 3 3.1 algebraic datatype data 1 2... k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] Bob String y Charlie Foo Double Integer Alice 3.14 [1,2],

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

「計算と論理」 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

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

Copyright c 2008 Zhenjiang Hu, All Right Reserved.

Copyright c 2008 Zhenjiang Hu, All Right Reserved. 2008 10 27 Copyright c 2008 Zhenjiang Hu, All Right Reserved. (Bool) True False data Bool = False True Remark: not :: Bool Bool not False = True not True = False (Pattern matching) (Rewriting rules) not

More information

The 15th Game Programming Workshop 2010 Magic Bitboard Magic Bitboard Bitboard Magic Bitboard Bitboard Magic Bitboard Magic Bitboard Magic Bitbo

The 15th Game Programming Workshop 2010 Magic Bitboard Magic Bitboard Bitboard Magic Bitboard Bitboard Magic Bitboard Magic Bitboard Magic Bitbo Magic Bitboard Magic Bitboard Bitboard Magic Bitboard Bitboard Magic Bitboard 64 81 Magic Bitboard Magic Bitboard Bonanza Proposal and Implementation of Magic Bitboards in Shogi Issei Yamamoto, Shogo Takeuchi,

More information

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

「計算と論理」  Software Foundations   その3 Software Foundations 3 cal17@fos.kuis.kyoto-u.ac.jp October 24, 2017 ( ) ( 3) October 24, 2017 1 / 47 Lists.v ( ) ( ) ( ) ( 3) October 24, 2017 2 / 47 ( ) Inductive natprod : Type := pair : nat nat natprod.

More information

三石貴志.indd

三石貴志.indd 流通科学大学論集 - 経済 情報 政策編 - 第 21 巻第 1 号,23-33(2012) SIRMs SIRMs Fuzzy fuzzyapproximate approximatereasoning reasoningusing using Lukasiewicz Łukasiewicz logical Logical operations Operations Takashi Mitsuishi

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

( ) P, P P, P (negation, NOT) P ( ) P, Q, P Q, P Q 3, P Q (logical product, AND) P Q ( ) P, Q, P Q, P Q, P Q (logical sum, OR) P Q ( ) P, Q, P Q, ( P

( ) P, P P, P (negation, NOT) P ( ) P, Q, P Q, P Q 3, P Q (logical product, AND) P Q ( ) P, Q, P Q, P Q, P Q (logical sum, OR) P Q ( ) P, Q, P Q, ( P Advent Calendar 2018 @Fukuso Sutaro,,, ( ) Davidson, 5, 1 (quantification) (open sentence) 1,,,,,, 1 1 (propositional logic) (truth value) (proposition) (sentence) 2 (2-valued logic) 2, true false (truth

More information

JFE.dvi

JFE.dvi ,, Department of Civil Engineering, Chuo University Kasuga 1-13-27, Bunkyo-ku, Tokyo 112 8551, JAPAN E-mail : atsu1005@kc.chuo-u.ac.jp E-mail : kawa@civil.chuo-u.ac.jp SATO KOGYO CO., LTD. 12-20, Nihonbashi-Honcho

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

JavaCard p.1/41

JavaCard   p.1/41 JavaCard Email : nagamiya@comp.cs.gunma-u.ac.jp p.1/41 Hoare Java p.2/41 (formal method) (formal specification) (formal) JML, D, VDM, (formal method) p.3/41 Hoare Java p.4/41 (precondition) (postcondition)

More information

IPSJ SIG Technical Report Vol.2012-CG-148 No /8/29 3DCG 1,a) On rigid body animation taking into account the 3D computer graphics came

IPSJ SIG Technical Report Vol.2012-CG-148 No /8/29 3DCG 1,a) On rigid body animation taking into account the 3D computer graphics came 3DCG 1,a) 2 2 2 2 3 On rigid body animation taking into account the 3D computer graphics camera viewpoint Abstract: In using computer graphics for making games or motion pictures, physics simulation is

More information

inkiso.dvi

inkiso.dvi Ken Urai May 19, 2004 5 27 date-event uncertainty risk 51 ordering preordering X X X (preordering) reflexivity x X x x transitivity x, y, z X x y y z x z asymmetric x y y x x = y X (ordering) completeness

More information

: : : : ) ) 1. d ij f i e i x i v j m a ij m f ij n x i =

: : : : ) ) 1. d ij f i e i x i v j m a ij m f ij n x i = 1 1980 1) 1 2 3 19721960 1965 2) 1999 1 69 1980 1972: 55 1999: 179 2041999: 210 211 1999: 211 3 2003 1987 92 97 3) 1960 1965 1970 1985 1990 1995 4) 1. d ij f i e i x i v j m a ij m f ij n x i = n d ij

More information

I = [a, b] R γ : I C γ(a) = γ(b) z C \ γ(i) 1(4) γ z winding number index Ind γ (z) = φ(b, z) φ(a, z) φ 1(1) (i)(ii) 1 1 c C \ {0} B(c; c ) L c z B(c;

I = [a, b] R γ : I C γ(a) = γ(b) z C \ γ(i) 1(4) γ z winding number index Ind γ (z) = φ(b, z) φ(a, z) φ 1(1) (i)(ii) 1 1 c C \ {0} B(c; c ) L c z B(c; 21 1 http://www.ozawa.phys.waseda.ac.jp/index2.html ( ) 1. I = [a, b] R γ : I C γ γ(i) z 0 C \ γ(i) (1) ε > 0 φ : I B(z 0 ; ε) C (i) B(z 0 ; ε) γ(i) = (ii) (t, z) I B(z 0 ; ε) exp(φ(t, z)) = γ(t) z (2)

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

-1 - -2 - -3 - -4-2000 -5 - -6 - -7 - -8 - -9 - - 10 - -11-60 200 2,000 1980 24-12 - - 13 - - 14 - - 15 - - 16 - - 17 - 1998 '98 593'98.4. 604'99.3. 1998 '98.10.10 11 80 '98.11. 81'99.3. 49 '98.11. 50

More information

Dirac 38 5 Dirac 4 4 γ µ p µ p µ + m 2 = ( p µ γ µ + m)(p ν γ ν + m) (5.1) γ = p µ p ν γ µ γ ν p µ γ µ m + mp ν γ ν + m 2 = 1 2 p µp ν {γ µ, γ ν } + m

Dirac 38 5 Dirac 4 4 γ µ p µ p µ + m 2 = ( p µ γ µ + m)(p ν γ ν + m) (5.1) γ = p µ p ν γ µ γ ν p µ γ µ m + mp ν γ ν + m 2 = 1 2 p µp ν {γ µ, γ ν } + m Dirac 38 5 Dirac 4 4 γ µ p µ p µ + m 2 p µ γ µ + mp ν γ ν + m 5.1 γ p µ p ν γ µ γ ν p µ γ µ m + mp ν γ ν + m 2 1 2 p µp ν {γ µ, γ ν } + m 2 5.2 p m p p µ γ µ {, } 10 γ {γ µ, γ ν } 2η µν 5.3 p µ γ µ + mp

More information

Run-Based Trieから構成される 決定木の枝刈り法

Run-Based Trieから構成される  決定木の枝刈り法 Run-Based Trie 2 2 25 6 Run-Based Trie Simple Search Run-Based Trie Network A Network B Packet Router Packet Filtering Policy Rule Network A, K Network B Network C, D Action Permit Deny Permit Network

More information

セアラの暗号

セアラの暗号 1 Cayley-Purser 1 Sarah Flannery 16 1 [1] [1] [1]314 www.cayley-purser.ie http://cryptome.org/flannery-cp.htm [2] Cryptography: An Investigation of a New Algorithm vs. the RSA(1999 RSA 1999 9 11 2 (17

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

12) NP 2 MCI MCI 1 START Simple Triage And Rapid Treatment 3) START MCI c 2010 Information Processing Society of Japan

12) NP 2 MCI MCI 1 START Simple Triage And Rapid Treatment 3) START MCI c 2010 Information Processing Society of Japan 1 1, 2 1, 2 1 A Proposal of Ambulance Scheduling System Based on Electronic Triage Tag Teruhiro Mizumoto, 1 Weihua Sun, 1, 2 Keiichi Yasumoto 1, 2 and Minoru Ito 1 For effective life-saving in MCI (Mass

More information

(CC Attribution) Lisp 2.1 (Gauche )

(CC Attribution) Lisp 2.1 (Gauche ) http://www.flickr.com/photos/dust/3603580129/ (CC Attribution) Lisp 2.1 (Gauche ) 2 2000EY-Office 3 4 Lisp 5 New York The lisps Sammy Tunis flickr lisp http://www.flickr.com/photos/dust/3603580129/ (CC

More information

3. ( 1 ) Linear Congruential Generator:LCG 6) (Mersenne Twister:MT ), L 1 ( 2 ) 4 4 G (i,j) < G > < G 2 > < G > 2 g (ij) i= L j= N

3. ( 1 ) Linear Congruential Generator:LCG 6) (Mersenne Twister:MT ), L 1 ( 2 ) 4 4 G (i,j) < G > < G 2 > < G > 2 g (ij) i= L j= N RMT 1 1 1 N L Q=L/N (RMT), RMT,,,., Box-Muller, 3.,. Testing Randomness by Means of RMT Formula Xin Yang, 1 Ryota Itoi 1 and Mieko Tanaka-Yamawaki 1 Random matrix theory derives, at the limit of both dimension

More information

Research Question Unacceptable Files:FS GQM 1 2 GQM s r 2.1 GQM Goal-Question-Metric GQM [2] GQM 3 Qustions GQM 3 GQM 2.2 UFs AFs Acceptable Fi

Research Question Unacceptable Files:FS GQM 1 2 GQM s r 2.1 GQM Goal-Question-Metric GQM [2] GQM 3 Qustions GQM 3 GQM 2.2 UFs AFs Acceptable Fi 1,a) 1 1,b) 1,c) 2 2 2 Unacceptable Files:FS (Acceptable Files:Fs) UFs UFs GQM GQM C++ 0.7 1. 1 [1] Goal-Question-Metric GQM [2] GQM 1 2 a) 821821@toki.waseda.jp b) washizaki@waseda.jp c) fukazawa@waseda.jp

More information

shift/reset [13] 2 shift / reset shift reset k call/cc reset shift k shift (...) k 1 + shift(fun k -> 2 * (k 3)) k 2 * (1 + 3) 8 reset shift reset (..

shift/reset [13] 2 shift / reset shift reset k call/cc reset shift k shift (...) k 1 + shift(fun k -> 2 * (k 3)) k 2 * (1 + 3) 8 reset shift reset (.. arisa@pllab.is.ocha.ac.jp asai@is.ocha.ac.jp shift / reset CPS shift / reset CPS CPS 1 [3, 5] goto try/catch raise call/cc [17] control/prompt [8], shift/reset [5] control/prompt, shift/reset call/cc (continuationpassing

More information

Microsoft Word - toyoshima-deim2011.doc

Microsoft Word - toyoshima-deim2011.doc DEIM Forum 2011 E9-4 252-0882 5322 252-0882 5322 E-mail: t09651yt, sashiori, kiyoki @sfc.keio.ac.jp CBIR A Meaning Recognition System for Sign-Logo by Color-Shape-Based Similarity Computations for Images

More information

22 (266) / Web PF-Web Web Web Web / Web Web PF-Web Web Web Web CGI Web Web 1 Web PF-Web Web Perl C CGI A Pipe/Filter Architecture Based Software Gener

22 (266) / Web PF-Web Web Web Web / Web Web PF-Web Web Web Web CGI Web Web 1 Web PF-Web Web Perl C CGI A Pipe/Filter Architecture Based Software Gener 22 (266) / Web PF-Web Web Web Web / Web Web PF-Web Web Web Web CGI Web Web 1 Web PF-Web Web Perl C CGI A Pipe/Filter Architecture Based Software Generator PF-Web for Constructing Web Applications. Tomohiro

More information

main.dvi

main.dvi SGC - 48 208X Y Z Z 2006 1930 β Z 2006! 1 2 3 Z 1930 SGC -12, 2001 5 6 http://www.saiensu.co.jp/support.htm http://www.shinshu-u.ac.jp/ haru/ xy.z :-P 3 4 2006 3 ii 1 1 1.1... 1 1.2 1930... 1 1.3 1930...

More information

1 P2 P P3P4 P5P8 P9P10 P11 P12

1 P2 P P3P4 P5P8 P9P10 P11 P12 1 P2 P14 2 3 4 5 1 P3P4 P5P8 P9P10 P11 P12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 & 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1! 3 2 3! 4 4 3 5 6 I 7 8 P7 P7I P5 9 P5! 10 4!! 11 5 03-5220-8520

More information

untitled

untitled 18 1 2,000,000 2,000,000 2007 2 2 2008 3 31 (1) 6 JCOSSAR 2007pp.57-642007.6. LCC (1) (2) 2 10mm 1020 14 12 10 8 6 4 40,50,60 2 0 1998 27.5 1995 1960 40 1) 2) 3) LCC LCC LCC 1 1) Vol.42No.5pp.29-322004.5.

More information

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2 CHLAC 1 2 3 3,. (CHLAC), 1).,.,, CHLAC,.,. Suspicious Behavior Detection based on CHLAC Method Hideaki Imanishi, 1 Toyohiro Hayashi, 2 Shuichi Enokida 3 and Toshiaki Ejima 3 We have proposed a method for

More information

C言語によるアルゴリズムとデータ構造

C言語によるアルゴリズムとデータ構造 Algorithms and Data Structures in C 4 algorithm List - /* */ #include List - int main(void) { int a, b, c; int max; /* */ Ÿ 3Ÿ 2Ÿ 3 printf(""); printf(""); printf(""); scanf("%d", &a); scanf("%d",

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

2011.12.3 1 2 Q) A) 3 Q) A) 4 5 6 Haskell 7 8 Parser data Parser a = Parser (String -> [(a,string)]) Parser pwrap :: a -> Parser a pwrap v = Parser $ \inp -> [(v,inp)] Parser pbind :: Parser a -> (a ->

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

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

: u i = (2) x i Smagorinsky τ ij τ [3] ij u i u j u i u j = 2ν SGS S ij, (3) ν SGS = (C s ) 2 S (4) x i a u i ρ p P T u ν τ ij S c ν SGS S csgs

: u i = (2) x i Smagorinsky τ ij τ [3] ij u i u j u i u j = 2ν SGS S ij, (3) ν SGS = (C s ) 2 S (4) x i a u i ρ p P T u ν τ ij S c ν SGS S csgs 15 C11-4 Numerical analysis of flame propagation in a combustor of an aircraft gas turbine, 4-6-1 E-mail: tominaga@icebeer.iis.u-tokyo.ac.jp, 2-11-16 E-mail: ntani@iis.u-tokyo.ac.jp, 4-6-1 E-mail: itoh@icebeer.iis.u-tokyo.ac.jp,

More information

monad.gby

monad.gby 2012.11.18 1 1 2 2 DSL 3 4 Q) A) 5 Q) A) 6 7 8 Haskell 9 10 Parser data Parser a = Parser (String -> [(a,string)]) Parser pwrap :: a -> Parser a pwrap v = Parser $ \inp -> [(v,inp)] Parser pbind :: Parser

More information

2 (March 13, 2010) N Λ a = i,j=1 x i ( d (a) i,j x j ), Λ h = N i,j=1 x i ( d (h) i,j x j ) B a B h B a = N i,j=1 ν i d (a) i,j, B h = x j N i,j=1 ν i

2 (March 13, 2010) N Λ a = i,j=1 x i ( d (a) i,j x j ), Λ h = N i,j=1 x i ( d (h) i,j x j ) B a B h B a = N i,j=1 ν i d (a) i,j, B h = x j N i,j=1 ν i 1. A. M. Turing [18] 60 Turing A. Gierer H. Meinhardt [1] : (GM) ) a t = D a a xx µa + ρ (c a2 h + ρ 0 (0 < x < l, t > 0) h t = D h h xx νh + c ρ a 2 (0 < x < l, t > 0) a x = h x = 0 (x = 0, l) a = a(x,

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

DA シンポジウム Design Automation Symposium DAS /9/14 C 1,a) 2,b) 3,c) C 100 Partial C-Program Synthesis on Bounded Model Checker Kimura Yusuke 1,a)

DA シンポジウム Design Automation Symposium DAS /9/14 C 1,a) 2,b) 3,c) C 100 Partial C-Program Synthesis on Bounded Model Checker Kimura Yusuke 1,a) C 1,a) 2,b) 3,c) C 100 Partial C-Program Synthesis on Bounded Model Checker Kimura Yusuke 1,a) Ishiyama Kuntaro 2,b) Fujita Masahiro 3,c) Abstract: Research has been done on what is called Program Synthesis,

More information

IPSJ SIG Technical Report Vol.2011-DBS-153 No /11/3 Wikipedia Wikipedia Wikipedia Extracting Difference Information from Multilingual Wiki

IPSJ SIG Technical Report Vol.2011-DBS-153 No /11/3 Wikipedia Wikipedia Wikipedia Extracting Difference Information from Multilingual Wiki Wikipedia 1 2 3 Wikipedia Wikipedia Extracting Difference Information from Multilingual Wikipedia Yuya Fujiwara, 1 Yu Suzuki 2 and Akiyo Nadamoto 3 There are multilingual articles on the Wikipedia. The

More information

CX-Checker CX-Checker (1)XPath (2)DOM (3) 3 XPath CX-Checker. MISRA-C 62%(79/127) SQMlint 76%(13/17) XPath CX-Checker 3. CX-Checker 4., MISRA-C CX- Ch

CX-Checker CX-Checker (1)XPath (2)DOM (3) 3 XPath CX-Checker. MISRA-C 62%(79/127) SQMlint 76%(13/17) XPath CX-Checker 3. CX-Checker 4., MISRA-C CX- Ch CX-Checker: C 1 1 2 3 4 5 1 CX-Checker CX-Checker XPath DOM 3 CX-Checker MISRA-C CX-Checker: A Customizable Coding Checker for C TOSHINORI OSUKA, 1 TAKASHI KOBAYASHI, 1 JUNICHI MASE, 2 NORITOSHI ATSUMI,

More information

/ n (M1) M (M2) n Λ A = {ϕ λ : U λ R n } λ Λ M (atlas) A (a) {U λ } λ Λ M (open covering) U λ M λ Λ U λ = M (b) λ Λ ϕ λ : U λ ϕ λ (U λ ) R n ϕ

/ n (M1) M (M2) n Λ A = {ϕ λ : U λ R n } λ Λ M (atlas) A (a) {U λ } λ Λ M (open covering) U λ M λ Λ U λ = M (b) λ Λ ϕ λ : U λ ϕ λ (U λ ) R n ϕ 4 4.1 1 2 1 4 2 1 / 2 4.1.1 n (M1) M (M2) n Λ A = {ϕ λ : U λ R n } λ Λ M (atlas) A (a) {U λ } λ Λ M (open covering) U λ M λ Λ U λ = M (b) λ Λ ϕ λ : U λ ϕ λ (U λ ) R n ϕ λ U λ (local chart, local coordinate)

More information

論理学入門 講義ノート email: mitsu@abelardfletkeioacjp Copyright c 1995 by the author ll right reserved 1 1 3 2 5 3 7 31 7 32 9 33 13 4 29 41 33 42 38 5 45 51 45 52 47 3 1 19 [ 1] Begin at the beginning [ 2] [

More information

1 2 3 race conditions 4 race conditions [1] [3] ( 1 ) safetyliveliness ( 2 ) ( 3 ) 2.2 SPIN SPIN[2] AT&T Bell SPIN Promela Promela C LTL

1 2 3 race conditions 4 race conditions [1] [3] ( 1 ) safetyliveliness ( 2 ) ( 3 ) 2.2 SPIN SPIN[2] AT&T Bell SPIN Promela Promela C LTL 1,a) 1,b) race conditions race conditions race conditions Error Localization Based on the Counterexamples Generated by Model-Checker Shi Chen 1,a) Toshiaki Aoki 1,b) Abstract: It is hard to find errors

More information

CMP Technical Report No. 4 Department of Computational Nanomaterials Design ISIR, Osaka University 2 2................................. 2.2......................... 2 3 3 3................................

More information

1949 1902 1872 1886 1873 04 UNIVERSITY OF TSUKUBA 2002 1973 1962 UNIVERSITY OF TSUKUBA 05 06 UNIVERSITY OF TSUKUBA UNIVERSITY OF TSUKUBA 07 10 UNIVERSITY OF TSUKUBA 105 UNIVERSITY OF TSUKUBA 11 1.85%

More information

コンピュータ概論

コンピュータ概論 4.1 For Check Point 1. For 2. 4.1.1 For (For) For = To Step (Next) 4.1.1 Next 4.1.1 4.1.2 1 i 10 For Next Cells(i,1) Cells(1, 1) Cells(2, 1) Cells(10, 1) 4.1.2 50 1. 2 1 10 3. 0 360 10 sin() 4.1.2 For

More information

IPSJ SIG Technical Report Vol.2014-CG-155 No /6/28 1,a) 1,2,3 1 3,4 CG An Interpolation Method of Different Flow Fields using Polar Inter

IPSJ SIG Technical Report Vol.2014-CG-155 No /6/28 1,a) 1,2,3 1 3,4 CG An Interpolation Method of Different Flow Fields using Polar Inter ,a),2,3 3,4 CG 2 2 2 An Interpolation Method of Different Flow Fields using Polar Interpolation Syuhei Sato,a) Yoshinori Dobashi,2,3 Tsuyoshi Yamamoto Tomoyuki Nishita 3,4 Abstract: Recently, realistic

More information

数値計算:有限要素法

数値計算:有限要素法 ( ) 1 / 61 1 2 3 4 ( ) 2 / 61 ( ) 3 / 61 P(0) P(x) u(x) P(L) f P(0) P(x) P(L) ( ) 4 / 61 L P(x) E(x) A(x) x P(x) P(x) u(x) P(x) u(x) (0 x L) ( ) 5 / 61 u(x) 0 L x ( ) 6 / 61 P(0) P(L) f d dx ( EA du dx

More information

TOP URL 1

TOP URL   1 TOP URL http://amonphys.web.fc2.com/ 1 30 3 30.1.............. 3 30.2........................... 4 30.3...................... 5 30.4........................ 6 30.5.................................. 8 30.6...............................

More information

AtCoder Regular Contest 073 Editorial Kohei Morita(yosupo) A: Shiritori if python3 a, b, c = input().split() if a[len(a)-1] == b[0] and b[len(

AtCoder Regular Contest 073 Editorial Kohei Morita(yosupo) A: Shiritori if python3 a, b, c = input().split() if a[len(a)-1] == b[0] and b[len( AtCoder Regular Contest 073 Editorial Kohei Morita(yosupo) 29 4 29 A: Shiritori if python3 a, b, c = input().split() if a[len(a)-1] == b[0] and b[len(b)-1] == c[0]: print( YES ) else: print( NO ) 1 B:

More information

第5章 偏微分方程式の境界値問題

第5章 偏微分方程式の境界値問題 October 5, 2018 1 / 113 4 ( ) 2 / 113 Poisson 5.1 Poisson ( A.7.1) Poisson Poisson 1 (A.6 ) Γ p p N u D Γ D b 5.1.1: = Γ D Γ N 3 / 113 Poisson 5.1.1 d {2, 3} Lipschitz (A.5 ) Γ D Γ N = \ Γ D Γ p Γ N Γ

More information

IPSJ SIG Technical Report Vol.2014-HCI-158 No /5/22 1,a) 2 2 3,b) Development of visualization technique expressing rainfall changing conditions

IPSJ SIG Technical Report Vol.2014-HCI-158 No /5/22 1,a) 2 2 3,b) Development of visualization technique expressing rainfall changing conditions 1,a) 2 2 3,b) Development of visualization technique expressing rainfall changing conditions with a still picture Yuuki Hyougo 1,a) Hiroko Suzuki 2 Tadanobu Furukawa 2 Kazuo Misue 3,b) Abstract: In order

More information

IPSJ SIG Technical Report 1, Instrument Separation in Reverberant Environments Using Crystal Microphone Arrays Nobutaka ITO, 1, 2 Yu KITANO, 1

IPSJ SIG Technical Report 1, Instrument Separation in Reverberant Environments Using Crystal Microphone Arrays Nobutaka ITO, 1, 2 Yu KITANO, 1 1, 2 1 1 1 Instrument Separation in Reverberant Environments Using Crystal Microphone Arrays Nobutaka ITO, 1, 2 Yu KITANO, 1 Nobutaka ONO 1 and Shigeki SAGAYAMA 1 This paper deals with instrument separation

More information

Input image Initialize variables Loop for period of oscillation Update height map Make shade image Change property of image Output image Change time L

Input image Initialize variables Loop for period of oscillation Update height map Make shade image Change property of image Output image Change time L 1,a) 1,b) 1/f β Generation Method of Animation from Pictures with Natural Flicker Abstract: Some methods to create animation automatically from one picture have been proposed. There is a method that gives

More information

SAMA- SUKU-RU Contents p-adic families of Eisenstein series (modular form) Hecke Eisenstein Eisenstein p T

SAMA- SUKU-RU Contents p-adic families of Eisenstein series (modular form) Hecke Eisenstein Eisenstein p T SAMA- SUKU-RU Contents 1. 1 2. 7.1. p-adic families of Eisenstein series 3 2.1. modular form Hecke 3 2.2. Eisenstein 5 2.3. Eisenstein p 7 3. 7.2. The projection to the ordinary part 9 3.1. The ordinary

More information

1 R n (x (k) = (x (k) 1,, x(k) n )) k 1 lim k,l x(k) x (l) = 0 (x (k) ) 1.1. (i) R n U U, r > 0, r () U (ii) R n F F F (iii) R n S S S = { R n ; r > 0

1 R n (x (k) = (x (k) 1,, x(k) n )) k 1 lim k,l x(k) x (l) = 0 (x (k) ) 1.1. (i) R n U U, r > 0, r () U (ii) R n F F F (iii) R n S S S = { R n ; r > 0 III 2018 11 7 1 2 2 3 3 6 4 8 5 10 ϵ-δ http://www.mth.ngoy-u.c.jp/ ymgmi/teching/set2018.pdf http://www.mth.ngoy-u.c.jp/ ymgmi/teching/rel2018.pdf n x = (x 1,, x n ) n R n x 0 = (0,, 0) x = (x 1 ) 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

コンパイラ演習 第 7 回

コンパイラ演習 第 7 回 コンパイラ演習 第 7 回 (2010/11/18) 秋山茂樹池尻拓朗前田俊行鈴木友博渡邊裕貴潮田資秀小酒井隆広山下諒蔵佐藤春旗大山恵弘佐藤秀明住井英二郎 今日の内容 Type Polymorphism ( 型多相性 ) の実現について Polymorphism 大きく分けて 3 種類ある Parametric polymorphism Subtyping polymorphism Ad-hoc polymorphism

More information

‚åŁÎ“·„´Šš‡ðŠp‡¢‡½‹âfi`fiI…A…‰…S…−…Y…•‡ÌMarkovŸA“½fiI›ð’Í

‚åŁÎ“·„´Šš‡ðŠp‡¢‡½‹âfi`fiI…A…‰…S…−…Y…•‡ÌMarkovŸA“½fiI›ð’Í Markov 2009 10 2 Markov 2009 10 2 1 / 25 1 (GA) 2 GA 3 4 Markov 2009 10 2 2 / 25 (GA) (GA) L ( 1) I := {0, 1} L f : I (0, ) M( 2) S := I M GA (GA) f (i) i I Markov 2009 10 2 3 / 25 (GA) ρ(i, j), i, j I

More information

( ) 1.1 Polychoric Correlation Polyserial Correlation Graded Response Model Partial Credit Model Tetrachoric Correlation ( ) 2 x y x y s r 1 x 2

( ) 1.1 Polychoric Correlation Polyserial Correlation Graded Response Model Partial Credit Model Tetrachoric Correlation ( ) 2 x y x y s r 1 x 2 1 (,2007) SPSSver8 1997 (2002) 1. 2. polychoric correlation coefficient (polyserial correlation coefficient) 3. (1999) M-plus R 1 ( ) 1.1 Polychoric Correlation Polyserial Correlation Graded Response Model

More information

Optical Flow t t + δt 1 Motion Field 3 3 1) 2) 3) Lucas-Kanade 4) 1 t (x, y) I(x, y, t)

Optical Flow t t + δt 1 Motion Field 3 3 1) 2) 3) Lucas-Kanade 4) 1 t (x, y) I(x, y, t) http://wwwieice-hbkborg/ 2 2 4 2 -- 2 4 2010 9 3 3 4-1 Lucas-Kanade 4-2 Mean Shift 3 4-3 2 c 2013 1/(18) http://wwwieice-hbkborg/ 2 2 4 2 -- 2 -- 4 4--1 2010 9 4--1--1 Optical Flow t t + δt 1 Motion Field

More information

1 Table 1: Identification by color of voxel Voxel Mode of expression Nothing Other 1 Orange 2 Blue 3 Yellow 4 SSL Humanoid SSL-Vision 3 3 [, 21] 8 325

1 Table 1: Identification by color of voxel Voxel Mode of expression Nothing Other 1 Orange 2 Blue 3 Yellow 4 SSL Humanoid SSL-Vision 3 3 [, 21] 8 325 社団法人人工知能学会 Japanese Society for Artificial Intelligence 人工知能学会研究会資料 JSAI Technical Report SIG-Challenge-B3 (5/5) RoboCup SSL Humanoid A Proposal and its Application of Color Voxel Server for RoboCup SSL

More information

jssst-ocaml.mgp

jssst-ocaml.mgp Objective Caml Jacques Garrigue Kyoto University garrigue@kurims.kyoto-u.ac.jp Objective Caml? 2 Objective Caml GC() Standard MLHaskell 3 OCaml () OCaml 5 let let x = 1 + 2 ;; val x : int = 3 ;; val-:

More information

,,,,., C Java,,.,,.,., ,,.,, i

,,,,., C Java,,.,,.,., ,,.,, i 24 Development of the programming s learning tool for children be derived from maze 1130353 2013 3 1 ,,,,., C Java,,.,,.,., 1 6 1 2.,,.,, i Abstract Development of the programming s learning tool for children

More information

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N GPU 1 1 2 1, 3 2, 3 (Graphics Unit: GPU) GPU GPU GPU Evaluation of GPU Computing Based on An Automatic Program Generation Technology Makoto Sugawara, 1 Katsuto Sato, 1 Kazuhiko Komatsu, 2 Hiroyuki Takizawa

More information

: gettoken(1) module P = Printf exception End_of_system (* *) let _ISTREAM = ref stdin let ch = ref ( ) let read () = (let c =!ch in ch := inp

: gettoken(1) module P = Printf exception End_of_system (* *) let _ISTREAM = ref stdin let ch = ref ( ) let read () = (let c =!ch in ch := inp 7 OCaml () 1. 2. () (compiler) (interpreter) 2 OCaml (syntax) (BNF,backus normal form ) 1 + 2; let x be 2-1 in x; ::= ; let be in ; ::= + - ::= * / ::= 7.1 ( (printable characters) (tokens) 1 (lexical

More information

λ n numbering Num(λ) Young numbering T i j T ij Young T (content) cont T (row word) word T µ n S n µ C(µ) 0.2. Young λ, µ n Kostka K µλ K µλ def = #{T

λ n numbering Num(λ) Young numbering T i j T ij Young T (content) cont T (row word) word T µ n S n µ C(µ) 0.2. Young λ, µ n Kostka K µλ K µλ def = #{T 0 2 8 8 6 3 0 0 Young Young [F] 0.. Young λ n λ n λ = (λ,, λ l ) λ λ 2 λ l λ = ( m, 2 m 2, ) λ = n, l(λ) = l {λ n n 0} P λ = (λ, ), µ = (µ, ) n λ µ k k k λ i µ i λ µ λ = µ k i= i= i < k λ i = µ i λ k >

More information

Appendix A BASIC BASIC Beginner s All-purpose Symbolic Instruction Code FORTRAN COBOL C JAVA PASCAL (NEC N88-BASIC Windows BASIC (1) (2) ( ) BASIC BAS

Appendix A BASIC BASIC Beginner s All-purpose Symbolic Instruction Code FORTRAN COBOL C JAVA PASCAL (NEC N88-BASIC Windows BASIC (1) (2) ( ) BASIC BAS Appendix A BASIC BASIC Beginner s All-purpose Symbolic Instruction Code FORTRAN COBOL C JAVA PASCAL (NEC N88-BASIC Windows BASIC (1 (2 ( BASIC BASIC download TUTORIAL.PDF http://hp.vector.co.jp/authors/va008683/

More information

6_27.dvi

6_27.dvi Vol. 49 No. 6 1932 1941 (June 2008) RFID 1 2 RFID RFID RFID 13.56 MHz RFID A Experimental Study for Measuring Human Activities in A Bathroom Using RFID Ryo Onishi 1 and Shigeyuki Hirai 2 A bathroom is

More information

つくって学ぶプログラミング言語 RubyによるScheme処理系の実装

つくって学ぶプログラミング言語 RubyによるScheme処理系の実装 Ruby Scheme 2013-04-16 ( )! SICP *1 ;-) SchemeR SICP MIT * 1 Structure and Interpretaion of Computer Programs 2nd ed.: 2 i SchemeR Ruby Ruby Ruby Ruby & 3.0 Ruby ii https://github.com/ichusrlocalbin/scheme_in_ruby

More information

1. R n Ω ε G ε 0 Ω ε B n 2 Ωε = with Bu = 0 on Ω ε i=1 x 2 i ε +0 B Bu = u (Dirichlet, D Ω ε ), Bu = u ν (Neumann, N Ω ε ), Ω ε G ( ) / 25

1. R n Ω ε G ε 0 Ω ε B n 2 Ωε = with Bu = 0 on Ω ε i=1 x 2 i ε +0 B Bu = u (Dirichlet, D Ω ε ), Bu = u ν (Neumann, N Ω ε ), Ω ε G ( ) / 25 .. IV 2012 10 4 ( ) 2012 10 4 1 / 25 1. R n Ω ε G ε 0 Ω ε B n 2 Ωε = with Bu = 0 on Ω ε i=1 x 2 i ε +0 B Bu = u (Dirichlet, D Ω ε ), Bu = u ν (Neumann, N Ω ε ), Ω ε G ( ) 2012 10 4 2 / 25 1. Ω ε B ε t

More information

Fig. 3 3 Types considered when detecting pattern violations 9)12) 8)9) 2 5 methodx close C Java C Java 3 Java 1 JDT Core 7) ) S P S

Fig. 3 3 Types considered when detecting pattern violations 9)12) 8)9) 2 5 methodx close C Java C Java 3 Java 1 JDT Core 7) ) S P S 1 1 1 Fig. 1 1 Example of a sequential pattern that is exracted from a set of method definitions. A Defect Detection Method for Object-Oriented Programs using Sequential Pattern Mining Goro YAMADA, 1 Norihiro

More information

2) TA Hercules CAA 5 [6], [7] CAA BOSS [8] 2. C II C. ( 1 ) C. ( 2 ). ( 3 ) 100. ( 4 ) () HTML NFS Hercules ( )

2) TA Hercules CAA 5 [6], [7] CAA BOSS [8] 2. C II C. ( 1 ) C. ( 2 ). ( 3 ) 100. ( 4 ) () HTML NFS Hercules ( ) 1,a) 2 4 WC C WC C Grading Student programs for visualizing progress in classroom Naito Hiroshi 1,a) Saito Takashi 2 Abstract: To grade student programs in Computer-Aided Assessment system, we propose

More information

DS0 0/9/ a b c d u t (a) (b) (c) (d) [].,., Del Barrio [], Pilato [], [].,,. [],.,.,,.,.,,.,, 0%,..,,, 0,.,.,. (variable-latency unit)., (a) ( DFG ).,

DS0 0/9/ a b c d u t (a) (b) (c) (d) [].,., Del Barrio [], Pilato [], [].,,. [],.,.,,.,.,,.,, 0%,..,,, 0,.,.,. (variable-latency unit)., (a) ( DFG )., DS0 0/9/,.,,.,,,.,.,.0%,.%.,,,, Speculative Execution in Distributed Controllers for High-Level Synthesis Shimizu iho Ishiura Nagisa bstract: This article proposes a method of incorporating speculative

More information

Int Int 29 print Int fmt tostring 2 2 [19] ML ML [19] ML Emacs Standard ML M M ::= x c λx.m M M let x = M in M end (M) x c λx.

Int Int 29 print Int fmt tostring 2 2 [19] ML ML [19] ML Emacs Standard ML M M ::= x c λx.m M M let x = M in M end (M) x c λx. 1, 2 1 m110057@shibaura-it.ac.jp 2 sasano@sic.shibaura-it.ac.jp Eclipse Visual Studio ML Standard ML Emacs 1 ( IDE ) IDE C C++ Java IDE IDE IDE IDE Eclipse Java IDE Java Standard ML 1 print (Int. 1 Int

More information

Isogai, T., Building a dynamic correlation network for fat-tailed financial asset returns, Applied Network Science (7):-24, 206,

Isogai, T., Building a dynamic correlation network for fat-tailed financial asset returns, Applied Network Science (7):-24, 206, H28. (TMU) 206 8 29 / 34 2 3 4 5 6 Isogai, T., Building a dynamic correlation network for fat-tailed financial asset returns, Applied Network Science (7):-24, 206, http://link.springer.com/article/0.007/s409-06-0008-x

More information

26 Development of Learning Support System for Fixation of Basketball Shoot Form

26 Development of Learning Support System for Fixation of Basketball Shoot Form 26 Development of Learning Support System for Fixation of Basketball Shoot Form 1175094 ,.,,.,,.,,.,,,.,,,,.,,,.,,,,, Kinect i Abstract Development of Learning Support System for Fixation of Basketball

More information

Mathematical Logic I 12 Contents I Zorn

Mathematical Logic I 12 Contents I Zorn Mathematical Logic I 12 Contents I 2 1 3 1.1............................. 3 1.2.......................... 5 1.3 Zorn.................. 5 2 6 2.1.............................. 6 2.2..............................

More information

Title 最適年金の理論 Author(s) 藤井, 隆雄 ; 林, 史明 ; 入谷, 純 ; 小黒, 一正 Citation Issue Date Type Technical Report Text Version publisher URL

Title 最適年金の理論 Author(s) 藤井, 隆雄 ; 林, 史明 ; 入谷, 純 ; 小黒, 一正 Citation Issue Date Type Technical Report Text Version publisher URL Title 最適年金の理論 Author(s) 藤井, 隆雄 ; 林, 史明 ; 入谷, 純 ; 小黒, 一正 Citation Issue 2012-06 Date Type Technical Report Text Version publisher URL http://hdl.handle.net/10086/23085 Right Hitotsubashi University Repository

More information

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

More information

f(x) x S (optimal solution) f(x ) (optimal value) f(x) (1) 3 GLPK glpsol -m -d -m glpsol -h -m -d -o -y --simplex ( ) --interior --min --max --check -

f(x) x S (optimal solution) f(x ) (optimal value) f(x) (1) 3 GLPK glpsol -m -d -m glpsol -h -m -d -o -y --simplex ( ) --interior --min --max --check - GLPK by GLPK http://mukun mmg.at.infoseek.co.jp/mmg/glpk/ 17 7 5 : update 1 GLPK GNU Linear Programming Kit GNU LP/MIP ILOG AMPL(A Mathematical Programming Language) 1. 2. 3. 2 (optimization problem) X

More information

1 1 CodeDrummer CodeMusician CodeDrummer Fig. 1 Overview of proposal system c

1 1 CodeDrummer CodeMusician CodeDrummer Fig. 1 Overview of proposal system c CodeDrummer: 1 2 3 1 CodeDrummer: Sonification Methods of Function Calls in Program Execution Kazuya Sato, 1 Shigeyuki Hirai, 2 Kazutaka Maruyama 3 and Minoru Terada 1 We propose a program sonification

More information