タグ

Programmingとmathに関するVoQnのブックマーク (5)

  • Haskell/カリー=ハワード同型 - Wikibooks

    カリー=ハワード同型(Curry-Howard isomorphism)は数学の一見無関係に思えるふたつの領域、型理論と構造論理を結びつける実に驚くべき関係である。 導入[編集] これよりカリー=ハワード同型は単に C-H と表記する。C-H が示しているのは、定理の質を反映するような型を構築し、それからその型を持つ値を見つけさえすれば、どんな数学的定理をも証明することができる、ということだ。これは最初は極めて不思議に思える。型と定理にどんな関係があるというのだろうか?しかしながら、以下に述べるように、このふたつは非常に近しい関係にあるのである。はじめる前に簡単に注意しておくが、導入の章では error や undefinedのような 表示的意味論 が ⊥ である式の存在は無視する。これらはとても重要な役割を果たすのだが、これらについては後ほど別に考えることにする。また、unsafeCo

    VoQn
    VoQn 2014/08/30
    Wikipedia のカリー=ハワード同型の説明よりも分かりやすかった
  • 型推論機構の実装

    ここでは <式> の代わりに e という記号(メタ変数),<識別子> の代わりに x という記号(メタ変数)を用いている. また,型(メタ変数 τ)として,整数を表す int, 真偽値を表す boolを考える. さて,型推論のアルゴリズムを考える前に,そもそも「式 e が型 τ を持つ」という関係がどのような時に成立するかを正確に記述したい. 例えば「式 1+1 は型 int を持つ」だろうが, 「式 if 1 then 2+3 else 4 は型 int を持つ」は 成立しないと思われる.この,「式 e が型 τ を持つ」 という判断を型判断(type judgment)と呼び,e : τ と略記する. しかし,一般に式には変数が現れるため,例えば単に x が int を持つか,といわれても判断することができない.このため,変数に対しては,そ れが持つ型を何か仮定しないと型判断は下せない

    VoQn
    VoQn 2014/08/26
    ML 実装して型推論機構つくる解説と演習(OCaml で)
  • ソフトウェアの基礎

    単純型付きラムダ計算(Simply Typed Lambda-Calculus, STLC)は、 関数抽象(functional abstraction)を具現する、小さな、核となる計算体系です。 関数抽象は、ほとんどすべての実世界のプログラミング言語に何らかの形 (関数、手続き、メソッド等)で現れます。 ここでは、この計算体系(構文、スモールステップ意味論、 型付け規則)とその性質(進行と保存)の形式化を、 これまでやったのとまったく同じパターンで行います。 (扱うためにいくらかの作業が必要になる)新しい技術的挑戦は、 すべて変数束縛(variable binding)と置換(substitution)の機構から生じます。 STLC は基型(base types)の何らかの集まりの上に構成されます。 基型はブール型、数値、文字列などです。 実際にどの基型を選択するかは問題ではありま

    VoQn
    VoQn 2014/08/26
    STLC、単純型付きラムダ計算の解説および実装演習 (Coqで)
  • OBB vs AABB - Radium Software Development

    iPhoneの一般修理店は予約なしでも来店できる? 基的には飛び込みで修理に行ってもOK iPhoneを置いていたソファにうっかりと腰かけてしまい、パネルを割ってしまった、こんな時はスマホの一般修理店へ行きましょう。画面割れは、スマホやタブレットの故障原因として非常に多いものです。予約なしで突然お店に行っても平気かしらと、不安に思う方々もいらっしゃるかもしれません。結論としては特に問題はなく、予約なしで訪問しても画面割れの修理はお願いできます。 ただし他のサービス業のお店同様、予約なしの場合、お店が混雑していると順番待ちをしなければいけないです。特に繁盛しているスマホ修理のお店だと、行列が店内で出来ており、予約なしだと、自分の順番が巡ってくるまで長時間待たされる可能性があります。平日の朝、昼なら利用客が少ない場合が多く、飛び込みでも比較スムーズに修理が頼めます。 予約は入れた方が時短に、

  • FrontPage - 情報論的学習理論と機械学習の「朱鷺の杜Wiki」

    朱鷺の杜Wiki(ときのもり うぃき)† 朱鷺の杜Wikiは,機械学習に関連した,データマイニング,情報理論,計算論的学習理論,統計,統計物理についての情報交換の場です.これら機械学習関係の話題,リンク,関連事項,書籍・論文紹介などの情報を扱います. 更新されたページを確認するにはRSSリーダを使って右下のRSSリンクをチェックするか,最終更新のページを参照してください. ページの中でどこが更新されたかを見るには,上の「差分」をクリックして下さい. 数式の表示に MathJax を利用しています.数式の上でコンテキストメニューを使うと各種の設定が可能です.特に設定をしなくても数式は閲覧できますが,フォントをインストールすれば数式の表示がきれいで高速になります.詳しくは 数式の表示 のページを参照して下さい. ごく簡単なWikiの使い方がこのページの最後にあります.トップページやメニューなど

  • 1