Processing math: 100%

2016年9月29日木曜日

学習環境

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

問題4.


  1. xA(BC)xAxBCxA(xBxC)(xABc)(xACc)x(AB)(AC)

  2. xA(BC)xAxBCxA(xBcxCc)xABcxACcxABxACx(AB)(AC)

  3. x(AB)Cx(AB)xCc(xAxB)xCc(xAxCc)(xBxCc)x(AC)x(BC)x(AC)(BC)

  4. x(AB)CxABxCc(xAxB)xCc(xAxCc)(xBxCc)xACxBCx(AC)(BC)

  5. xA(BC)xAxBxCcxABxCc(xAxB)xCc(xAxB)(xAcxCc)xABxACx(AB)(AC)

コード(Emacs)

python 3.5

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

from matplotlib_venn import venn3_unweighted
import matplotlib.pyplot as plt
import sympy

a = sympy.FiniteSet(*range(15))
b = sympy.FiniteSet(*range(5, 20))
c = sympy.FiniteSet(*range(10, 25))

print('a')
print(a - (b | c) == (a - b) & (a - c))

print('b')
print(a - (b & c) == (a - b) | (a - c))

print('c')
print((a | b) - c == (a - c) | (b - c))

print('d')
print((a & b) - c == (a - c) & (b - c))

print('e')
print(a & (b - c) == (a & b) - (a & c))

plt.figure(figsize=(6, 6))
venn3_unweighted(subsets=(a, b, c), set_labels=('A', 'B', 'C'))
plt.savefig('sample4.svg')
plt.show()

入出力結果(Terminal, IPython)

$ ./sample4.py
a
True
b
True
c
True
d
True
e
True
$

0 コメント:

コメントを投稿