2017年9月22日金曜日

学習環境

集合・位相入門 (松坂 和夫(著)、岩波書店)の第1章(集合と写像)、2(集合間の演算)、問題5を取り組んでみる。


    1. ( AB )C =( A B c ) C c =A B c C c A( BC ) =A ( BC ) c =A( B c C c ) =A B c C c

    2. A( BC ) =A ( B C c ) c =A( B c C ) =( A B c )( AC )

コード(Emacs)

Python 3

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from matplotlib_venn import venn3_unweighted
import matplotlib.pyplot as plt

from sympy import pprint, FiniteSet, Interval

print('4.')

X = FiniteSet(*range(7))
A = FiniteSet(*range(5))
B = FiniteSet(*range(1, 6))
C = FiniteSet(*range(2, 7))
for X0 in [X, A, B, C]:
    pprint(X0)

XS = [((A - B) - C, A - (B | C)),
      (A - (B - C), (A - B) | (A & C))]

for i, (L, R) in enumerate(XS):
    print(f'({chr(ord("a") + i)})')
    for X in [L, R]:
        pprint(X)
    print(L == R)
    print()

venn3_unweighted(subsets=(A, B, C))
plt.savefig('sample5.svg')

入出力結果(Terminal, Jupyter(IPython))

$ ./sample5.py
4.
{0, 1, 2, 3, 4, 5, 6}
{0, 1, 2, 3, 4}
{1, 2, 3, 4, 5}
{2, 3, 4, 5, 6}
(a)
{0}
{0}
True

(b)
{0, 2, 3, 4}
{0, 2, 3, 4}
True

$

0 コメント:

コメントを投稿