# HG changeset patch # User ryokka # Date 1547535393 -32400 # Node ID e8fe28afe61e8d14c3b323e24859b9f46e79f744 # Parent 17b7605a5deb0e9717f0a57e8f7c9004c3fd6601 fix slide diff -r 17b7605a5deb -r e8fe28afe61e slide/Makefile --- a/slide/Makefile Sun Jan 13 23:42:16 2019 +0900 +++ b/slide/Makefile Tue Jan 15 15:56:33 2019 +0900 @@ -6,11 +6,11 @@ slideshow b $< -t s6cr --h2 all: $(TARGET).html - open $(TARGET).html -a Google\ Chrome - clean: rm -f *.html # ls -lt ~/cr/lab-slides/slides/* | head -1 | awk -F ':' '{ print $1 }' | xargs -I slide_dir slideshow build slide_dir"/slide.md" --h2 + # +# open /Applications/Google\ Chrome.app --args --app=$(TARGET).html diff -r 17b7605a5deb -r e8fe28afe61e slide/slide.html --- a/slide/slide.html Sun Jan 13 23:42:16 2019 +0900 +++ b/slide/slide.html Tue Jan 15 15:56:33 2019 +0900 @@ -7,7 +7,7 @@ - GearsOS の Hoare triple を用いた検証 + GearsOS の Hoare Logic を用いた検証 @@ -70,7 +70,7 @@
-

GearsOS の Hoare triple を用いた検証

+

GearsOS の Hoare Logic を用いた検証

@@ -99,10 +99,10 @@
  • 信頼性を上げるために仕様を検証する必要
  • 仕様検証の手法として Floyd-Hoare Logic (以下 HoareLogic) がある
  • -
  • 既存の言語ではあまり利用されていない(python の pyrefine ってコードチェッカーくらい…?)
  • +
  • 既存の言語ではあまり利用されていない
  • @@ -114,17 +114,13 @@

    背景

    -

    - @@ -144,9 +140,9 @@ - +

    -

    + @@ -156,10 +152,14 @@

    CbC について

    @@ -168,7 +168,7 @@
    -

    Agda

    +

    Agda とは

    @@ -217,15 +216,70 @@
  • C 言語での構造体に近い
  • 複数のデータをまとめる
  • 関数内で構築できる
  • -
  • 構築時はレコード名 {フィールド名 = 値}
  • -
  • 複数ある場合は {フィールド1 = 1 ; フィールド2 = 2}のように ; を使って列挙 +
  • 構築時はrecord レコード名 {フィールド名 = 値}
  • +
  • 複数ある場合は record Env {varn = 1 ; varn = 2}のように ; を使って列挙 +
    +
    1 record Env : Set where 
    +2   field
    +3     varn : Nat
    +4     vari : Nat
    +
    +
    +
    +
  • + + + + +
    + +
    + +

    Agda の関数

    + + + + +
    + +
    + +

    Agda での証明

    +