論理式の展開公式
排他的論理和
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
排他的論理和
いわゆるORを包含的論理和という場合も
一致演算
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
コンセンサスの定理
このときのはコンセンサス項
双対
とがあったとき、は消去可能
一回冗長な項を追加してからだと複数のコンセンサスを消去できる場合がある
式の簡単化
graph TD A[項の併合] --> B[項の消去] --> C[リテラルの消去] --> 冗長な項の追加
項の併合
みたいなやつ。
のように一度項を追加する場合も
項の消去
みたいなやつ
リテラルの消去
因数分解したあとその中を処理
冗長な項の追加
等式の妥当性の証明
- 真理値表を書けば証明できる
- ブール代数によって一方の式を変形してた方と同じ形になることを示す
- 両辺に独立な式変形を施して同じ形にする
- リバーシブルな演算(否定など)を施す(乗算はリバーシブルではない)
等式が異なることの証明(反例の示し方)
- 両辺を積和形にしてみる
- 片方にのみある項が冗長か検討する
- 足りない項を追加できるか検討する
- 余分な項を削除できるか検討する
ブール代数では簡約法則が成り立たない
- は通常の代数では成り立つがブール代数では成り立たない
- も通常の代数では成り立つがブール代数では成り立たない
- 逆は成り立つ
センテンスを論理式に変換する
文章から論理式を導く
- 文章の一部(文節)に論理変数を割り当てる
- その関数に対応する代数式を決める
- これを割り当てる
真理値表から論理回路を設計する
| f | |||
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
最小項展開を用いる
単に1になる条件を書き下す
これを簡単化する
あるいはからもとめてもいい(最大項展開)
これを否定
| 数 | 表記法 | 表記法 | |||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | ||
| 1 | 0 | 0 | 1 | ||
| 2 | 0 | 1 | 0 | ||
| 3 | 0 | 1 | 1 | ||
| 4 | 1 | 0 | 0 | ||
| 5 | 1 | 0 | 1 | ||
| 6 | 1 | 1 | 0 | ||
| 7 | 1 | 1 | 1 |
最小項展開は表記法の論理和で表した形
最大項展開は表記法の論理積で表した形(論理和はに相当するためドモルガンによって反転すると論理積になる)