タグ

coqに関するkomlowのブックマーク (10)

  • Coqで学ぶ証明プログラミング! テストだけでなく「証明」で安全性を保証する - エンジニアHub|Webエンジニアのキャリアを考える!

    Coqで学ぶ証明プログラミング! テストだけでなく「証明」で安全性を保証する プログラミング言語「Coq」では、プログラムを「証明」して間違いを防ぐことができます。プログラムの正しさを保証できる一歩進んだエンジニアになりましょう! coqtokyoを主催する今井宜洋さんの解説です。 みなさん、Coqってご存知ですか? プログラムを証明して間違いを防ぐという優れものです。今回はそのCoqについて、coqtokyoという勉強会を主催している今井宜洋がお届けします。 プログラムをただ作るだけではなく、その正しさを保証できる一歩進んだエンジニアになってみましょう! Coqって何? プログラムを「証明する」ってどういうこと? Coqを使ってみよう Coqのインストール方法 CoqIDE:Coqによる証明開発のフロントエンド Coqで関数プログラミング プログラムの仕様を記述しよう 証明開発モード ゴ

    Coqで学ぶ証明プログラミング! テストだけでなく「証明」で安全性を保証する - エンジニアHub|Webエンジニアのキャリアを考える!
    komlow
    komlow 2018/08/10
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

    komlow
    komlow 2018/08/10
  • GitHub - the-lambda-church/coquille: Interactive theorem proving with Coq in vim.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - the-lambda-church/coquille: Interactive theorem proving with Coq in vim.
    komlow
    komlow 2015/06/26
  • 誰も書かないCoq入門以前の話 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    WindowsへのCoqのインストール」: 事情があって、AgdaかCoqを触ってみようか、と。 事情というのは、個々の命題の証明(確認)は割と簡単そうだが、命題がイッパイあるのでウンザリな状況のことです。家計簿の計算が筆算だと面倒だから電卓を使いたい、という状況と同様です。 それでCoqのインストールは済んだのですが、処理系の使い方が分からない。個々の操作は覚えていけばいいのでしょうが、そもそもCoq処理系が何をするものなのか? が理解できないのです。Web上にCoqの解説は幾つもあるのですが、「いやいや、そうじゃなくて、それ以前のことがサッパリわからんのですけど」という感じ。スタートラインに立てない。 それで、「Coqの解説」じゃなくて「Coqの仕様」を読んだほうがいいのかも、と https://coq.inria.fr/distrib/current/refman/ (リファレンス

    誰も書かないCoq入門以前の話 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    komlow
    komlow 2014/12/08
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

  • よくわかるCoqプログラミング

    2. Coq とは ? Coq はINRIA (フランス国立情報学自動制御研究所) によって開発されている定理証 明支援系である.Coq は,表現力の高い型をもつラムダ計算であるCalculus of Inductive Constructions と呼ばれる計算体系に基づいている(以後,「項」はCoq の 型システムにより拡張されたラムダ項を指すものとする).型や関数を自ら定義すること により,関数型プログラミング言語として用いることができる. また,Curry-Howard 対 応により,命題に対応づけられる型をもつ項を構成することにより,証明を構成すること ができる.Coq の型システムは依存型をもち,関数をはじめとした項をパラメータとし て取る型を定義することにより,述語を表現することができる.さらに,それら述語を tactic と呼ばれる言語を用いて対話的に証明することが可能であ

    よくわかるCoqプログラミング
    komlow
    komlow 2014/06/09
  • 「型の理論」と証明支援システム -- COQの世界

    2014年度秋学期 応用数学(解析) 第2部・基的な微分方程式 / 第5回 微分方程式とは,変数分離形 (2014. 10. 23)Akira Asano

    「型の理論」と証明支援システム -- COQの世界
    komlow
    komlow 2014/06/08
  • なぜCoqが重要か

    結論 最強のプログラム検証器 最強の関数型言語 最強のプログラム検証器 Coqは最強の表現力を持つ仕様記述言語を使う 仕様記述言語は検証したいこと を記述するための言語 表現力は検証器によって全然違う 表現できる範囲が、検証器の限界 Coqのそれは高階述語論理 ← 最強 最強のプログラム検証器 Coqを使うためにはPhDが必要? 高校生でも練習すればできる (c.f. プログラミングCoq) 最強のプログラム検証器 証明を人間が与えるのが大変? タクティックによる自動化はOCamlでいくらでも可能 型チェッカはタクティックと独立なので安全 既にomegaなどの自動証明アルゴリズムを実装したタクティックあり 最強の関数型言語 Coqは(型の表現力が)最強の関数型言語 型の表現力が最強 型推論は完全ではない 停止性は保証しなければならない 注意: ここでの関数型言語とは (ラムダ計算を基礎とし

    komlow
    komlow 2014/04/27
  • なぜCoqが重要か - Qiita

    結論 最強のプログラム検証器 最強の関数型言語 最強のプログラム検証器 Coqは最強の表現力を持つ仕様記述言語を使う 仕様記述言語は検証したいこと を記述するための言語 表現力は検証器によって全然違う 表現できる範囲が、検証器の限界 Coqのそれは高階述語論理 ← 最強 最強のプログラム検証器 Coqを使うためにはPhDが必要? 高校生でも練習すればできる (c.f. プログラミングCoq) 最強のプログラム検証器 証明を人間が与えるのが大変? タクティックによる自動化はOCamlでいくらでも可能 型チェッカはタクティックと独立なので安全 既にomegaなどの自動証明アルゴリズムを実装したタクティックあり 最強の関数型言語 Coqは(型の表現力が)最強の関数型言語 型の表現力が最強 型推論は完全ではない 停止性は保証しなければならない 注意: ここでの関数型言語とは (ラムダ計算を基礎とし

    なぜCoqが重要か - Qiita
    komlow
    komlow 2014/04/24
  • ソフトウェアの基礎

    Benjamin C. Pierce Chris Casinghino Michael Greenberg Vilhelm Sjöberg Brent Yorgey with Andrew W. Appel, Arthur Chargueraud, Anthony Cowley, Jeffrey Foster, Michael Hicks, Ranjit Jhala, Greg Morrisett, Chung-chieh Shan, Leonid Spesivtsev, and Andrew Tolmach

  • 1