トップ 最新 追記

日々の流転


2005-09-01 [長年日記]

λ. 衆院選

すっかり忘れてたけど、そういやもうすぐ選挙だな。正直なところ小泉政権には不満も多いけど、消去法で選ぶと自民党しか残らない予感。

λ. A simple equational calculator

たまたま見つけて遊び中。

コメントに「Any variables mentioned in a replacement must have been mentioned in a pattern already matched. So for a law "p = r <= r1 = p1 & ... & rn = pn" Any variable in ri must be mentioned somewhere in p, p1, ... pi-1. Any variable in r must be mentioned somewhere in p, p1, ... pn.」と書いてあるんだけど、この条件が良く分からなかった。

あと、本当に簡単な等式しか証明できないみたいで残念。例えば以下のような規則から「pair f g . h = pair (f . h) (g . h)」という等式を証明することすら出来ないみたい。

pair/pi1: pi1 . pair f g = f
pair/pi2: pi2 . pair f g = g
univ: h = pair f g <= pi1 . h = f & pi2 . h = g

λ. SLACS2005

行こうと思ってたけど、なんだか面倒になってしまって行かなかった。なんだか最近やる気なさすぎだな。

本日のツッコミ(全7件) [ツッコミを入れる]

ψ yaizawa [新党大地は・・・? (違]

ψ さかい [だって、たしか私の選挙区に新党大地の候補者いなかったし(笑]

ψ yaizawa [> たしか私の選挙区に新党大地の候補者いなかったし 北海道民じゃないとバレちゃう気が・・・.]

ψ さかい [バレると何か問題があるんだろうか…… ってか、そんなyaizawaさんの選挙区には新党大地の候補者が(ry]

ψ yuragi [実家にいるとき、新党ムネオの演説が煩かったですよー。 前回の選挙で割と票が伸びてたから、意外と侮れなかったりします。..]

ψ yaizawa [ヒーローの私生活は謎に満ちているんですよ.(w うちの選挙区は南関東ブロックです (かなり普通な答え).]

ψ さかい [> yuragiさん 今朝の毎日新聞にも「大地は自民支持層の一部と無党派層に浸透し、一議席に届く勢い」とか書いてあり..]


2005-09-02 [長年日記]

λ. 愛・地球博 (1)

人多すぎ。

大量観光客。これがぶぁぁぁぁあっているの。恐い!き(ry

入場券を機械に通したら微妙な位置にパンチされた。モリゾーの眉間に風穴が。
[眉間に風穴の開いたモリゾー]


2005-09-05 [長年日記]

λ. 記憶(memo)する関数

「同じ変数に束縛されたものは二度計算されることはない」という性質を利用したメモ化で、同じ問題を書いてみる。memocc2.hs

参考
Tags: haskell

2005-09-06 [長年日記]

λ. 『田中雄二の漢文早覚え速答法』&『田村の現代文年間カリキュラム』

知人が受験生にこの二冊を紹介していた。いい本らしい。現代文はともかく、私は高校時代に古典と漢文が死ぬほど苦手だったんだが、こういう本を読んでいたらひょっとしたら違っただろうか?

田中雄二の漢文早覚え速答法―試験で点がとれる (大学受験V BOOKS)(田中 雄二) 田村の現代文年間カリキュラム―中堅レベル、ハイレベルの基礎現代文の予備校テキスト問題を完全解説 (第2巻) (大学合格ドリームチーム選書)(田村 秀行)

Tags:

2005-09-11 [長年日記]

λ. 風邪

風邪ひいたっぽい。喉が痛い。

λ. 衆院選

投票に行ってきた。

小泉政権の経済政策には不満が多かったし、郵政民営化も別に積極的に賛成しているわけではないのだけど、他の政党もその点では五十歩百歩だから比べられないし、他の政党は安全保障等の点で不安だったので、結局消去法で自民へ。もし、民主党にそういった不安点がなくて、かつリフレ政策でも公約にしてれば、民主党に投票することも真剣に検討したんだけどね……

最高裁判所裁判官国民審査は、今回の六人は特に×印を付けるべき理由も見当たらなかったので、そのまま投票。

それにしても、自民党テラツヨスw 自民党単独で290議席以上って、おい…… それはそれで何か不安だ。

Tags: 時事

λ. LDAPのuserPassword

間違えてuserPasswordを空にしてしまったら、変更しようとしても「ldap_bind: Server is unwilling to perform (53)」「additional info: unauthenticated bind (DN with no password) disallowed」と言われるようになってしまって困った。結局adminになって設定しなおした。

Tags: tom
本日のツッコミ(全2件) [ツッコミを入れる]

ψ 佐野 [風邪大丈夫っすか?]

ψ さかい [もう大丈夫だよん。心配してくれてありがとう。 それにしても先週のRHG読書会に行けなかったのは残念。]


2005-09-13 [長年日記]

λ. Windows用バイナリ

を作ったので適当に放置しておく。現在のCVSのソースからビルドしたものは振る舞いが変だったので、5月の時点のソースからビルドした。これらのファイルとemacsさえあれば最低限のことは出来る。あとライブラリは適当にCVSからとってくるべし。

Tags: agda

2005-09-14 [長年日記]

λ. 『φは壊れたね』, 森 博嗣

を読んだ。国枝先生が相変わらずで、なんだか安心した。それと、犯人らの計画はアクシデントに対して脆弱に思える。いや、だからこそ「作品」なのか……

Φは壊れたね (講談社ノベルス)(森 博嗣)

Tags:

2005-09-15 [長年日記]

λ. Propositional equality の証明の equality

Propositional equality の型である Id a b の要素はせいぜい一つしかないので、要素が二つ与えられたらそれらは等しいに決まっている。それを証明したい。が、以下のコードは内側のcaseの部分で「Error in the definition of eqId because: cannot case: exps [x, x] must be distinct variables.」というエラーになってしまう。(e1へのcaseでa,b,xがunifyされているためこのようなエラーメッセージになってる。2005-05-16 の case on non-var でも書いたが、この制約は必要以上に厳しい気がする)

eqId (|A::Set) (|a,|b :: A) (e1,e2 :: Id a b)
  :: Id e1 e2
  = case e1 of
    (ref x)->
      case e2 of
      (ref y)->
        ref@_ (ref@_ x)

Agdaでこの命題を証明する方法はあるだろうか? SET.alfa では Id a b の Collapsed も定義されてないし、やっぱり無理なのか? Per Martin-Löfの Intuitionistic Type Theory でもこれは証明できるので、「Martin-Löf. の型理論に基づく対話型定理証明支援系」と呼ばれているAgdaでこれが証明できないとしたら、納得いかん。

(2005-09-17 追記) Intuitionistic Type Theory は propositional equality type の strong elimination を含む extensional な型理論だから、「Agdaでも証明できるべき」という理由にはならない気がしてきた。というか、私はその辺りの話が全然分かってない。Intuitionistic Type Theory 以降の Martin-Löf 流の型理論を学ぶには何を読めば良いのだろう? Bengt Nordström, Kent Petersson, Jan M. Smith の Programming in Martin-Löf's Type Theory - An Introduction ?

(2006-02-05 追記) Thierry Coquand の Pattern matching with dependent types の p.9 には次のように書いてあった。

By contrast, it is not clear how to represent the following computation rule in term of the usual elimination rules4. We have seen that the unique contextual mapping

{y := x, p := refl(N,x), q := refl(N,x)}: (x : N) → Δ,

is a covering of Δ = x,y : N; p,q : Id(N, x, y). It follows that it is correct to add a new constant f : (x,y : N; p,q : Id(N,x,y))Id(Id(N,x,y),p,q) together with the computation rule

f(x, x, refl(N,x), refl(N,x)) = refl(Id(N,x,x), refl(N,x)) (x : N).


4 This problem has been independently suggested by Thomas Streicher.

(2006-04-18 追記) Michael Hedberg の A coherence theorem for Martin-Löf's type theory には次のように書かれていた。というわけで、elimIdではいくら頑張っても証明できないことになります。証明するにはAgdaに対して何らかの拡張が必要になるでしょう。

Although one might expect the identity sets to be collapse, it is impossible to prove in general that they are, as long as type theory is restricted to the standard elimination rules. This negative result is proved by Hofmann and Streicher [11], using a groupoid interpretation of type theory.


[11] M. Hofmann and T. Streicher. A groupoid model refutes uniqueness of identity proofs. In Proceedings of the 9th Symposium on Logic in Computer Science (LICS), Paris, 1994.

(2006-05-14追記) この「A groupoid model refutes uniqueness of identity proofs」を読んだ。20060514#p01を参照。

Tags: agda
本日のツッコミ(全2件) [ツッコミを入れる]

ψ ikegami [Id にかぎらずあらゆる idata は case できないかわりに elimination rule でなんとかす..]

ψ さかい [なるほど。case よりも elimination rule を使わせる方針であれば、case の制約が強いのも納得..]


2005-09-17 [長年日記]

λ. 型理論での形式的証明記述の技法について; 木下 佳樹, 高村博紀

メモ。Chainがちょっと面白かった。

(追記)「系統的な等号の与えかたで, すべての点で満足できるものはない」とあるが、Extensional Equality in Intensional Type Theory の型システムを直接実装したものはどうなんだろう。結構良い線をいっているのではないかと思うが。

(追記) 「Calculational Proof っぽい書き方」も参照。

(2008-02-04追記) どうでも良い点だけど、Leibniz equality との比較で「Id では, 等号の階層が上がってしまう, という問題は生じないが, 今度は, 外延性の問題が生じる.」とあるが、Leibniz equality でも外延性の問題は生じる。

Tags: agda 論文

2005-09-22 [長年日記]

λ. 型代入を遅延する最適化型推論アルゴリズム; 上野雄大, 大堀淳

Garage uenoB (2005-09-05) より。

LLDN 公園の部で教えたもらったときには気づかなかったけど、型代入の環境への適用を遅延するというアイディア自体は別に新しいものではないはず。例えば Mark P. Jones の Typing Haskell in Haskell で示されているアルゴリズムもそのようになっている。この辺りの話はよく知らないのでなんとも言えないけど、少なくとも folklore ではあったと思う。

もっとも、Typing Haskell in Haskell のコードは、ユニフィケーションの方はそのようになっていないけど。

Tags: 論文

2005-09-23 [長年日記]

λ. Agdaプラグイン機構; 池上 大介

を読んだ。使う側のインターフェースはシンプルでいい感じ。external予約語で書かれた項は、型チェック時に外部ツールが呼ばれる以外はabstractが指定された項と同じ扱いなのかな。それと、FOLプラグインの使用例を見ると、外部ツールには型情報も渡しているのかな。

Tags: agda 論文

2005-09-24 [長年日記]

λ. An Implementation of a setoid model in Agda

Extensional Equality in Intensional Type Theory の setoid model を、LEGOでの実装を元にAgdaで実装中。大体実装できた。

(2005-09-30 追記) だいぶ苦戦してしまったが、基本的な部分を何とか書けた。色々汚いので、きれいに書き直したいな。それと、LEGOでの実装と比較しなくては。

Meta.agda
Approximative Implementation of the meta theory.
Setoid.agda
Definition of the core model.
Compr.agda
Definition of context comprehension.
Pi.agda
Definition of ∏-types.
Prod.agda
Definition of (non-dependent) product types.
Id.agda
Definition of Identity types.
Tags: agda

λ. 旅行

[黒鳥][光圀像][葡萄狩り][梨狩り]


2005-09-28 [長年日記]

λ. signature の equality に???

β変換すれば同じになるはずの(signatureで定義された)型が同一と見なされなくて、困ってしまった。例えば以下のコードのtestの定義では、「fm A (f x)」と「fm (Ty_m f A) x」はβ変換すれば同じシグネチャになるので、一見して型チェックは通りそうに見える。だが、実際には「t has type fm A (f x) but should have type that is equal to fm (Ty_m f A) x」と型エラーになってしまう。

Ty_o (X::Set) :: Type
  = X -> Set
 
Ty_m (|X,|Y::Set) (f::X->Y) (A::Ty_o Y) :: Ty_o X
  = \(x::X) -> A (f x)
 
fm (|X::Set) (A::Ty_o X) (x::X) :: Set
  = sig
      c :: A x
 
test (|X,|Y::Set) (|A::Ty_o Y) (f::X->Y) (x::X)
     (t::fm A (f x))
  :: fm (Ty_m f A) x
  = t

半日ほど悩んだ結果、この型エラーはfmの定義を以下のように書き換えれば回避出来ることに気づいた。しかし、このように書き換えなくてはならないのは直観的でないし、それに参照透明でもないように思う。何故このようになっているのだろうか?

fm' (Ax::Set) :: Set
  = sig
      c :: Ax
 
fm (|X::Set) (A::Ty_o X) (x::X) :: Set
  = fm' (A x)

【2006-05-03追記】 「薔薇色の明日」「Agdaの型チェック通らず」というエントリで書かれていた以下の話(パーマリンクが機能していないようなので勝手に引用)は、ひょっとして同じことで悩んでいるんじゃないかという気がする。

Agdaでちくちくと証明を実装していたのだが、エラーメッセージによると型が合っていない。しかし、私の記述は、システムが「この型であるべきですよー」という型の略記でしかないので、普通は同じ型とみなしてくれてもよさそうである。

仕方がないから先生にお尋ねしたところ、「ここを変えてみたら?」という助言のままに書き換えたところ、エラーメッセージが変わった。「ここは型Aと記述されてますけど、型Aになるように記述しないと駄目ですよー」と。

Tags: agda

λ. iPod nano

注文してみた。学割いいね。届くのが楽しみだ。

(2005-10-02 追記) 出荷予定日は2005-10-14か。とほほ……

Tags: 音楽

2005-09-29 [長年日記]

λ. Freek Wiedijk. Comparing mathematical provers

を読んだ。各種のシステムの大雑把な比較。個々のシステムの詳細について触れられていないのは残念だけど、A rather subjective two-dimensional diagram は分かりやすかった。

[A rather subjective two-dimensional diagram]

λ. 「時間を無作為にすごす」 by addie

今日の迷言。

Tags: tom

λ. カタンに初挑戦

こんなに面白いゲームだとは知らなかった。3ゲームやって一回も勝てなかったのは残念だけど、またやりたい。特に最後のゲームはyaizawaさんに longest road を奪い返されて負けたのが悔しい。こんなことだったら道を伸ばしておくんだった……次に家を建てるか都市化しようと思ってカードを温存して道を伸ばさなかったのだけど、後の祭り。
[2ゲーム目終了時の盤面]

Tags: tom

λ. ロジック プログラミング (1)

今期は古川先生がサバティカルなので、古川研から人が何人か来ていた。
[研究会の様子]

ちなみに、参考書はこの本。
The Craft of Prolog (Logic Programming)(Richard A. O'Keefe)

Tags: 向井研

2005-09-30 [長年日記]

λ. 2005年4月25日 福知山線5418M、一両目の「真実」

N.* D.* E.* (2005-09-29) より。実体験というのは凄いものだと感じた。圧倒される。

λ. 『四季 夏』, 森 博嗣

を読んだ。『四季 春』から(Fで言及されていた)両親の殺害にどのようにして至るのか。そこにギャップを感じていたので、その部分がどう表現されるのか非常に気になっていたが、きちんと描かれていて満足。あと、「そんな理屈が通るか?」「理屈は常に通ります」というやり取りに吹き出してしまった。緊迫したシーンなのに……

四季 夏 (講談社ノベルス)(森 博嗣)

Tags:

λ. Mathematical Methods in Linguistics (1)

今期は言語っぽい方面へ。で、テキストはこの本。
Mathematical Methods in Linguistics (Studies in Linguistics and Philosophy)(B.H. Partee/A.G. ter Meulen/R. Wall)

でも、最初にやるのはZFCの公理の確認。それが向井研クオリティw

Tags: 向井研