goedel.tnorm
, lukas.tnorm
, and goguen.tnorm
compute the Goedel,
Lukasiewicz, and Goguen triangular norm (t-norm) from all values in the arguments. If the arguments are
vectors they are combined together firstly so that a numeric vector of length 1 is returned.
pgoedel.tnorm
, plukas.tnorm
, and pgoguen.tnorm
compute the same t-norms,
but in a parallel manner (element-wisely). I.e. the values with indices 1 of all arguments are
used to compute the t-norm, then the second values (while recycling the vectors if they do not have the same size)
so that the result is a vector of values.
goedel.tconorm
, lukas.tconorm
, goguen.tconorm
, are similar to the
previously mentioned functions, exept that they compute triangular conorms (t-conorms).
pgoedel.tconorm
, plukas.tconorm
, and pgoguen.tconorm
are their parallel
(i.e. element-wise) alternatives.
goedel.residuum
, lukas.residuum
, and goguen.residuum
compute residua (i.e. implications) and
goedel.biresiduum
, lukas.biresiduum
, and goguen.biresiduum
compute
bi-residua.
invol.neg
and strict.neg
compute the involutive and strict negation, respectively.
Let \(a\), \(b\) be values from the interval \([0, 1]\). Here are mathematical
definitions of the realized functions:
Goedel t-norm: \(min(a, b)\);
Goguen t-norm: \(ab\);
Lukasiewicz t-norm: \(max(0, a+b-1)\);
Goedel t-conorm: \(max(a, b)\);
Goguen t-conorm: \(a+b-ab\);
Lukasiewicz t-conorm: \(min(1, a+b)\);
Goedel residuum (standard Goedel implication): \(1\) if \(a \le b\) and \(b\) otherwise;
Goguen residuum (implication): \(1\) if \(a \le b\) and \(b/a\) otherwise;
Lukasiewicz residuum (standard Lukasiewicz implication): \(1\) if \(a \le b\) and \(1-a+b\) otherwise;
Involutive negation: \(1-x\);
Strict negation: \(1\) if \(x=0\) and \(0\) otherwise.
Bi-residuum \(B\) is derived from t-norm \(T\) and residuum \(R\) as follows:
$$B(a, b) = T(R(a, b), R(b, a)).$$
The arguments have to be numbers from the interval \([0, 1]\). Values outside that range cause
an error. Also NaN causes an error.
If na.rm=TRUE
then missing values (NA) are ignored. Otherwise, they are treated
as unknown values accordingly to Kleene logic. See the examples below.
algebra
returns a named list of functions that together form Goedel, Goguen, or
Lukasiewicz algebra:
"goedel"
: strict negation and Goedel t-norm, t-conorm, residuum, and bi-residuum;
"goguen"
: strict negation and Goguen t-norm, t-conorm, residuum, and bi-residuum;
"lukasiewicz"
: involutive negation and Lukasiewicz t-norm, t-conorm, residuum, and bi-residuum.
is.algebra
tests whether the given a
argument is a valid algebra, i.e. a list
returned by the algebra
function.