2017年9月25日月曜日

学習環境

集合論入門(基礎数学シリーズ)(松村 英之(著)、朝倉書店)の1.(集合算)、1.4(補集合、差集合、ド・モルガンの法則)の練習問題3.を取り組んでみる。


  1. xA( BC ) xAx( BC ) xA( xBxC ) ( xAxB )( xAxC ) ( xAB )( xAC ) x( AB )( AC ) A( BC )=( AB )( 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

X = FiniteSet(*range(10))
A = FiniteSet(*range(5))
B = FiniteSet(*range(1, 6))
C = FiniteSet(*range(2, 7))

for X in [X, A, B, C]:
    pprint(X)

for X0, X1 in [(A | (B & C), (A | B) & (A | C)),
               (A & (B | C), (A & B) | (A & C))]:
    for t in [X0, X1, X0 == X1]:
        pprint(t)
    print()

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

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

$ ./sample3.py
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{0, 1, 2, 3, 4}
{1, 2, 3, 4, 5}
{2, 3, 4, 5, 6}
{0, 1, 2, 3, 4, 5}
{0, 1, 2, 3, 4, 5}
True

{1, 2, 3, 4}
{1, 2, 3, 4}
True

$

0 コメント:

コメントを投稿