4
関数のイータ等価性はHaskellのseq操作と互換性がありますか?
補題:我々はそれを持っているETA-同等と仮定すると(\x -> ⊥) = ⊥ :: A -> B。 証明:⊥ = (\x -> ⊥ x)イータ等価、および(\x -> ⊥ x) = (\x -> ⊥)ラムダの下での還元。 Haskell 2010レポートのセクション6.2では、seq2つの式で関数を指定しています。 seq :: a-> b-> b seq⊥b =⊥ seq ab = b、a≠ifの場合 その後、「seqを使用してそれらを区別できるため、notは\ x-> beと同じではありません」と主張します。 私の質問は、それは本当にの定義の結果seqですか? 暗黙の引数は、seq計算できない場合seq (\x -> ⊥) b = ⊥です。しかし、私はそのようseqなものが計算できないことを証明することができませんでした。私にはそのようなa seqは単調で連続的であるように思われ、それは計算可能という領域にそれを置きます。 seqなどを実装するアルゴリズムは、starting で始まるドメインを列挙することxで、どこを検索しようとすることで機能する場合f x …
14
domain-theory
haskell
extensionality
cc.complexity-theory
counting-complexity
fl.formal-languages
automata-theory
cc.complexity-theory
arithmetic-circuits
it.information-theory
shannon-entropy
graph-theory
pr.probability
graph-theory
approximation-algorithms
approximation-hardness
multicommodity-flow
cc.complexity-theory
ds.algorithms
np-hardness
polynomial-time
dynamic-programming
lo.logic
terminology