2016年9月29日木曜日

学習環境

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

問題4.


  1. xA( BC ) xAxBC xA( xBxC ) ( xA B c )( xA C c ) x( AB )( AC )

  2. xA( BC ) xAxBC xA( x B c x C c ) xA B c xA C c xABxAC x( AB )( AC )

  3. x( AB )C x( AB )x C c ( xAxB )x C c ( xAx C c )( xBx C c ) x( AC )x( BC ) x( AC )( BC )

  4. x( AB )C xABx C c ( xAxB )x C c ( xAx C c )( xBx C c ) xACxBC x( AC )( BC )

  5. xA( BC ) xAxBx C c xABx C c ( xAxB )x C c ( xAxB )( x A c x C c ) xABxAC x( 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 コメント:

コメントを投稿