学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門(中) (松坂和夫 数学入門シリーズ 5) (松坂 和夫(著)、岩波書店)の第12章(距離空間の世界)、12.1(位相の基礎的諸概念)、問題8の解答を求めてみる。
x を距離空間 X の部分集合 A と B の共通部分の任意の内点とする。
このとき、 ある正の実数
が存在して、
よって、
ゆえに、
すなわち
なので、
が成り立つ。
x を A の内部と B の内部の共通部分の任意の元とする。
このとき、 ある2つの正の実数
が存在して、
ここで
とおけば、
よって、 x は A と B の共通部分の内点である。
ゆえに
以上より、
が成り立つ。
(証明終)
x を A と B の和集合の閉包の任意の元とする。
このとき任意の正の実数
に対して
よって、
ゆえに、
また、 x を A の閉包と B の閉包の共通部分の任意の元とする。
このとき、 任意の正の実数
に対して、
よって、
ゆえに
以上より、
(証明終)
コード
#!/usr/bin/env python3
from unittest import TestCase, main
import random
from sympy import Interval, symbols
print('8.')
class Test(TestCase):
def test_interior_intersect_closure_union(self):
for _ in range(10):
a0, a1, b0, b1 = [random.randrange(-10, 11) for _ in range(4)]
A = Interval(a0, a1)
B = Interval(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval(a0, a1)
B = Interval.Lopen(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval(a0, a1)
B = Interval.Ropen(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval(a0, a1)
B = Interval.open(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval.Lopen(a0, a1)
B = Interval.Lopen(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval.Lopen(a0, a1)
B = Interval.Ropen(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval.Lopen(a0, a1)
B = Interval.open(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval.Ropen(a0, a1)
B = Interval.Ropen(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval.Ropen(a0, a1)
B = Interval.open(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
A = Interval.open(a0, a1)
B = Interval.open(b0, b1)
self.assertEqual((A & B).interior, A.interior & B.interior)
self.assertEqual((A | B).closure, A.closure | B.closure)
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample8.py -v
8.
test_interior_intersect_closure_union (__main__.Test) ... ok
----------------------------------------------------------------------
Ran 1 test in 1.247s
OK
%
0 コメント:
コメントを投稿