noorani-mm/math-implies

此包便于解决离散数学问题。

v1.0.1 2024-01-28 12:31 UTC

This package is auto-updated.

Last update: 2024-09-28 13:56:36 UTC


README

此包便于解决离散数学问题。

如何安装

composer require noorani-mm/math-implies

如何使用

将您希望使用的逻辑语句作为Implies类的参数。

$implies = new \Math\Implies\Implies('p->q');

从现在起,您可以检索所需的输出。

表格

它通过将列标题放在第一行并依次添加行来表示逻辑条件,构建一个真值表。

$result = $implies->table
/**
[
  ["p",     "q",  "(p -> q)"], This is columns and others are value
  ["0",     "0",     "1"    ],
  ["0",     "1",     "1"    ],
  ["1",     "0",     "0"    ],
  ["1",     "1",     "1"    ],
]
 */

它显示计算出的逻辑表达式。

$test1 = $implies->columns(); // ['p', 'q', '(p -> q)']
$test2 = $implies->columns;   // ['p', 'q', '(p -> q)']

它返回真值表计算的结果。

$test1 = $implies->rows(); // ["001", "011", "100", "111"]
$test2 = $implies->rows;   // ["001", "011", "100", "111"]

PDNF

pdnf函数返回一个字符串,表示通过乘以逻辑表达式的各个组件获得的逻辑语句的乘积之和。

同时,pdnf属性返回一个数组,表示逻辑表达式的单个乘积项,其中每个元素对应于通过乘以逻辑语句的各个组件获得的特定项。

$string = $implies->pdnf(); // "(~p^~q)v(~p^q)v(p^q)"
$array  = $implies->pdnf;   // ["(~p^~q)", "(~p^q)", "(p^q)"]

PCNF

pcnf函数返回一个字符串,表示通过添加其组件获得的逻辑语句的乘积和归一化(PCNF)。

同时,pcnf属性返回一个数组,表示逻辑表达式的单个和项,每个元素对应于通过添加逻辑语句的组件获得的特定项。

$string = $implies->pcnf(); // "(pv~q)"
$array  = $implies->pcnf;   // ["(pv~q)"]

minterm

minterm函数计算逻辑语句的最小项,提供一个总结的字符串表示。minterm属性返回一个单个最小项的数组,增强了逻辑条件的清晰度。

$string = $implies->minterm(); // "Σ(0,1,3)"
$array  = $implies->minterm;   // [0,1,3];

maxterm

maxterm函数计算逻辑语句的最大项,呈现一个简洁的字符串表示。maxterm属性返回一个单个最大项的数组,有助于对逻辑条件有更清晰的理解。

$string = $implies->maxterm(); // "π(2)"
$array  = $implies->maxterm;   // [2]