2011-02-02 24 views
4

私はリストLを持っていて、xがLのメンバーであればx in LはTrueと評価されます。x in smthはLの代わりに何を使うことができますか?xがユニバーサルセットのメンバーであるかどうかをテストするにはどうすればよいですか?

だから、私は何かが必要です。なぜならxもこの "スムース"かもしれないからです。

+0

どういう意味ですか? 'x in [x]'のようなもの??? – mouad

+3

このような場合のユースケースは何ですか? Lのxが常にTrueの場合、なぜLのxをTrueに置き換えることができないのですか? – Falmarri

+0

@Falmarri:コンテナクラスは、述語の代わりに 'in'が定義されたオブジェクトを必要とするフィルタリングインタフェースを提供すると仮定します。 –

答えて

8
class Universe: 
    def __contains__(_,x): return True 
+3

これは、複数のユニバースがそれぞれ他のすべての要素を要素として含む可能性を作成することに注意してください。ステロイドの理論を設定してください! –

+0

セットに他のすべてのセットを含めることはできません。ユニバーサルセットはありません。したがって、最初にユニバーサルセットを1つ持つことはできないため、複数の「ユニバース」セットを持つことはできません。これは、基本的にクエリに「真」と答える単純な方法です。つまり、宇宙に属しているxのルールはありません。これは基本的にFalmarriの提案です。 -1。 –

+0

@Ninefingers:これは、設定された理論構築物でも、コンテナとしても意味がありません。 'Universe()'はOPの ''スムース 'が '' x'の値とは独立に '' True'と評価されるように '' Lの代わりに使う ''スムーズ ''の要件を満たします。 –

2

はあなたが継承することができますlistクラスを内蔵しており、あなたがitem in listのようなテストを行うときに呼び出され__contains__方法を再定義:

>>> class my_list(list): 
    def __contains__(self, item): 
     return True 


>>> L = my_list() 
>>> L 
[] 
>>> x = 2 
>>> x 
2 
>>> x in L 
True 
0

定理を:普遍的なセットはありません。

証明書XX = {\empty, x}のような集合とすると、xはドメイン内のすべての可能な要素です。問題は、X \in Xですか?ほとんどのセットはそのように定義されていないので、新しいセットYを定義しましょう。Y = {A \in X; A \notin A}つまりYは、自分自身に属していないすべてのセットのセットです。

今、Y \in Yはありますか?さて、Yを自分自身に属していないすべての集合と定義しているので、YはYに存在することはできません。これは私たちの前提と矛盾します。

YがYに含まれていないと仮定します.YはYを含んでいますが、Yはそれ自身ではありませんが、Yの定義はYをYに定義すると、

したがって、すべてのセットのセットはありません。これはRussell's Paradoxとして知られています。

なぜ、設定理論家によって証明され、テストされた結果に違反するオブジェクトを私がはるかに賢明に作成するようにプログラムで試みますか?それが私のインタビューであれば、これは私の答えであり、可能であると主張すれば、概念的にはラッセルが不可能であることが根本的に証明されているため、問題の領域が何であるかを説明することを提案する。

通常、導入セット理論を勉強しているユーザーには、ユーザーフレンドリーな問題が欲しい場合は、Barber Paradoxを試してみてください。

を編集する:Pythonでは、自身を含むオブジェクトを実装できます。

class Universal(object): 
    def __init__(self): 
     self.contents = [] 

    def add(self, x): 
     self.contents.append(x) 

    def remove(self, x): 
     self.contents.remove(x) 

    def __contains__(self, x): 
     return (x in self.contents) 

ただし、実際には親オブジェクトへの参照が含まれているため、これは厳密に設定された理論オブジェクトではありません。上記の証拠のようにオブジェクトを区別する必要がある場合、これは起こり得ません。

+0

コンピュータプログラムでは、通常のシーケンス{2,3,5,7,11、...}とは異なるそのような素数が存在することを証明することもできます。真剣にも、どのような集合理論も人間の本質、その知覚、物理的環境の産物に過ぎない。ユニバーサルセットの存在を仮定する多くの設定理論(非ナイーブ、非ZFC)があります。 – psihodelia

+0

さて、そういう定理は、あなたが仮定した結果であると言っても間違いありません。すなわち、それはあなたが仮定した公理に依存するということです。プライム(Prime)は、私たちの通常の作業システムのもとでは、既約数量に与える名前ですが、全く異なる公理の集合を生成することは容認できます。しかし、私はほとんどの人が共通の仮定を持っていると言います。 ZFCは、ほとんどの人が行っているようです。それは学部に教えられているものです。 –

関連する問題