Agda2におけるPropとSet0の違い

早起きは三文の得
2
Üe🦀 @ranha

@ikegami__ 多分私のは、組込みの力で「便利になった」ようなequalityが欲しいなーっていう言い換えで2例作っただけな気がします。ただSet0とPropの違いは知りたいです!

2010-03-28 07:14:19
Ikegami Daisuke @ikegami__

あ、Set0 と Prop の違いはわたしが答えられます : Martin-Loef の型理論では Set0, Set1, Set2, ... : "Proposition as a set" : という概念から、命題は Set0 の型を持つのですが、Set0 と書くと(つづく)

2010-03-28 07:16:25
Ikegami Daisuke @ikegami__

命題は Set0 の型を持つのですが、Set0 の使い道は命題だけとは限らないので、命題の型は Prop と、別名をつける規約にしてはどうですか、という話です。Haskell なら type Prop = Set0 です

2010-03-28 07:17:25
Üe🦀 @ranha

Agda2で書くと、Prop : Set1 ; Prop = Set0という事ですか...?

2010-03-28 07:19:11
Ikegami Daisuke @ikegami__

@ranha ただ、そう書いちゃうと、実装のうえで困ったちゃんなことが起こるので、内部であらかじめ定義しています。将来的には、外部のソルバと連動して動く時などに、Prop しかうけつけてやんねーよ、ばーかばーか(ツン)などの計画を考えているようです

2010-03-28 07:21:00
Ikegami Daisuke @ikegami__

困ったちゃんっていうのは、もちろん、モジュールに書くと「隠す」「Prop を別の名前に好きなように定義できる」などのことです

2010-03-28 07:21:54
Üe🦀 @ranha

@ikegami__ Propに対しては、風の噂でProof Irrelevanceがあるとかいうのを風の噂くんから聞いた事がある気がするのですが、するとそういう事は無い感じなのですかね?

2010-03-28 07:32:00
Ikegami Daisuke @ikegami__

@ranha proof irrelevance ですが、「うーあー」です。慣習にしたがってくれないのと、慣習にしたがったのを混ぜると、ゴミになります

2010-03-28 07:33:50
Üe🦀 @ranha

どっちにせよProof IrrelevanceをAgda2でどうやれば良いのかが分からないですし、見た事も無いです・・・。

2010-03-28 07:47:07
Ikegami Daisuke @ikegami__

みないことにしましょう

2010-03-28 07:48:17
Üe🦀 @ranha

"pragmaOptions :: [OptDescr (Flag CommandLineOptions)]"ココか!!わーここはゆめのらくえんだ!!

2010-03-28 07:52:10
Üe🦀 @ranha

あらたに proof-irrelevanceとno-positivity-checkをテニイレタ タダチニ ソウビシタマエ

2010-03-28 07:53:23
Üe🦀 @ranha

data _==_ {Th : Prop} : Th -> Th -> Prop where refl : (a : Th) -> a == a th2 : {th1 : Prop} (a b : th1) -> a == b th2 a b = refl a コレか!!

2010-03-28 07:56:37
Üe🦀 @ranha

でも既に2.2.6さんでは死骸になったぽいですね・・・2.2.4なので動きよる http://wiki.portal.chalmers.se/agda/agda.php?n=Main.Version-2-2-6

2010-03-28 07:57:39