Gallinaによる証明駆動開発の魅力

4,817 views
4,638 views

Published on

Published in: Technology, Design
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,817
On SlideShare
0
From Embeds
0
Number of Embeds
2,234
Actions
Shares
0
Downloads
13
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • ・2008年の本家LLイベント『LL Future』で発表されてた。\n・レキシカルLLのそもそもの発端\n
  • ・「プログラミングCoq」\n・発表がおわったあとの質問があった\n・これだ! と思ったので\n
  • ・ 例での説明\n・Coqでの証明はコンパイルに相当する。つまりコンパイルを通ったら開発おわり\n
  • \n
  • \n
  • \n
  • ・ちょっと進むとでてくる例\n・ちょっとおもしろい\n・疑問がいっぱいでてきて、あんまり楽しめない\n
  • \n
  • ・この「重要な性質がある」というのが大事\n
  • \n
  • \n
  • \n
  • ・有限個で性質を保証できるように、工夫がいる\n
  • \n
  • \n
  • \n
  • \n
  • Gallinaによる証明駆動開発の魅力

    1. 1. 2011/11/05 LL.Coq/Gallina mzp / 1
    2. 2. 2011/11/05 LL.Coq/Gallina mzp / 2
    3. 3. @mzp /LL‣ → 3
    4. 4. Coq INRIAOCaml 4
    5. 5. LL ?Gallina : Coq 5
    6. 6. (2011/09/17) Coq by‣ http://www.slideshare.net/ltf14/ coq-9306231Q ... 6
    7. 7. ( )
    8. 8. (1)Goal forall (A B C: Prop), (A -> B) -> (B -> C) -> A -> C. 8
    9. 9. SNS 9
    10. 10. (2)Goal forall A (xs : list A), reverse (reverse xs) = xs. 1 ? 10
    11. 11. ( )
    12. 12. ‣ ↑‣ ↑↑ 12
    13. 13. (1)Goal forall A (xs : list A), reverse xs = reverse_iter [] xs. 13
    14. 14. (2) JSON Base64Goal forall (s : string), decode (encode s) = s. 14
    15. 15. ‣ ?‣ ? 15
    16. 16. “ ” Coq ‣ OKGoal forall A (xs : list A), reverse xs = reverse_iter [] xs. 16
    17. 17. CompCert‣ CiZE Smart Desktop‣ D-Bus JSONMsgpack for OCaml‣OCamltter‣ Twitter‣ Base64 17
    18. 18. Coq‣ http://www.iij-ii.co.jp/lab/techdoc/ coqt/Software Foundation‣ http://proofcafe.org/sf/Proof Cafe 18
    19. 19. Coq 19

    ×