Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Coq で証明付き Web アプリを作る #adf2015

Shohei Yasutake
March 29, 2015
850

Coq で証明付き Web アプリを作る #adf2015

Shohei Yasutake

March 29, 2015
Tweet

Transcript

  1. Coq? • ఆཧূ໌ࢧԉܥͷͻͱͭ • ؔ਺Λॻ͍ͯɺͦͷؔ਺ͷੑ࣭Λূ໌Ͱ͖Δ • ྫ: forall l :

    list A, reverse (reverse l) = l. • Coq ୯ମͰϓϩάϥϜͷ࣮ߦ͸Ͱ͖ͳ͍͕ɺ OCaml, Haskell, Scheme ʹม׵Մೳ
  2. ࠓޙͷ՝୊ɾ·ͱΊ • ϥΠϒϥϦԽ͍ͨ͠ • OCaml ͷ෦෼͸͍͍ͩͨڞ௨ • Request -> Response

    ͚ͩॻ͚͹ಈ͘Α͏ʹ͍ͨ͠ • Coq ָ͍͠ͷͰ࢖ͬͯΈ͍ͯͩ͘͞ʂ • ͓͢͢Ίॳ৺ऀ޲͚: http://proofcafe.org/sf/
  3. ༨ஊ: @clarus ͞ΜͭΑ͍ • Coq Λ Real World Ͱ࢖͑ΔΑ͏ʹ͠Α͏ͱ͍ͯ͠Δਓ (Inria

    ͷ PhD student) • ࠷ۙ͸ io γϦʔζ (io, io-system, io-system-ocaml, …) Λ࡞͍ͬͯΔ • Coq ্Ͱ IO Effect Λදݱ͢ΔϥΠϒϥϦ܈ (coq-chick-blog ͷதͰ ࢖͍ͬͯΔ IO ෦෼ΛϥΠϒϥϦͱͯ͠੾Γग़ͨ͠΋ͷͬΆ͍) • OCaml ίʔυΛॻ͔ͣʹ Coq Λม׵ͯͦ͠ͷ··࣮ߦͰ͖ͨΓ • 3೔લ͸ Coq ͷόάΛ͍ͭͯ೚ҙͷ໋୊Λূ໌Ͱ͖ΔϥΠϒϥϦΛެ։͠ ͯͨ