Implementation
final betaRules = [
// Rules implying LogicAtom('composite') = true
(
{
(LogicAtom('even'), true),
(LogicAtom('positive'), true),
(LogicAtom('prime'), false)
},
(LogicAtom('composite'), true)
),
// Rules implying LogicAtom('even') = false
(
{
(LogicAtom('composite'), false),
(LogicAtom('positive'), true),
(LogicAtom('prime'), false)
},
(LogicAtom('even'), false)
),
// Rules implying LogicAtom('even') = true
(
{(LogicAtom('integer'), true), (LogicAtom('odd'), false)},
(LogicAtom('even'), true)
),
// Rules implying LogicAtom('extendedNegative') = true
(
{
(LogicAtom('extendedPositive'), false),
(LogicAtom('extendedReal'), true),
(LogicAtom('zero'), false)
},
(LogicAtom('extendedNegative'), true)
),
(
{
(LogicAtom('extendedNonPositive'), true),
(LogicAtom('extendedNonzero'), true)
},
(LogicAtom('extendedNegative'), true)
),
// Rules implying LogicAtom('extendedNonNegative') = true
(
{(LogicAtom('extendedNegative'), false), (LogicAtom('extendedReal'), true)},
(LogicAtom('extendedNonNegative'), true)
),
// Rules implying LogicAtom('extendedNonPositive') = true
(
{(LogicAtom('extendedPositive'), false), (LogicAtom('extendedReal'), true)},
(LogicAtom('extendedNonPositive'), true)
),
// Rules implying LogicAtom('extendedNonzero') = true
(
{(LogicAtom('extendedReal'), true), (LogicAtom('zero'), false)},
(LogicAtom('extendedNonzero'), true)
),
// Rules implying LogicAtom('extendedPositive') = true
(
{
(LogicAtom('extendedNegative'), false),
(LogicAtom('extendedReal'), true),
(LogicAtom('zero'), false)
},
(LogicAtom('extendedPositive'), true)
),
(
{
(LogicAtom('extendedNonNegative'), true),
(LogicAtom('extendedNonzero'), true)
},
(LogicAtom('extendedPositive'), true)
),
// Rules implying LogicAtom('extendedReal') = false
(
{(LogicAtom('infinite'), false), (LogicAtom('real'), false)},
(LogicAtom('extendedReal'), false)
),
(
{
(LogicAtom('extendedNegative'), false),
(LogicAtom('extendedPositive'), false),
(LogicAtom('zero'), false)
},
(LogicAtom('extendedReal'), false)
),
// Rules implying LogicAtom('infinite') = true
(
{(LogicAtom('extendedReal'), true), (LogicAtom('real'), false)},
(LogicAtom('infinite'), true)
),
// Rules implying LogicAtom('irrational') = true
(
{(LogicAtom('rational'), false), (LogicAtom('real'), true)},
(LogicAtom('irrational'), true)
),
// Rules implying LogicAtom('negative') = true
(
{
(LogicAtom('positive'), false),
(LogicAtom('real'), true),
(LogicAtom('zero'), false)
},
(LogicAtom('negative'), true)
),
(
{(LogicAtom('nonPositive'), true), (LogicAtom('nonzero'), true)},
(LogicAtom('negative'), true)
),
(
{(LogicAtom('extendedNegative'), true), (LogicAtom('finite'), true)},
(LogicAtom('negative'), true)
),
// Rules implying LogicAtom('nonInteger') = true
(
{(LogicAtom('extendedReal'), true), (LogicAtom('integer'), false)},
(LogicAtom('nonInteger'), true)
),
// Rules implying LogicAtom('nonNegative') = true
(
{(LogicAtom('negative'), false), (LogicAtom('real'), true)},
(LogicAtom('nonNegative'), true)
),
(
{(LogicAtom('extendedNonNegative'), true), (LogicAtom('finite'), true)},
(LogicAtom('nonNegative'), true)
),
// Rules implying LogicAtom('nonPositive') = true
(
{(LogicAtom('positive'), false), (LogicAtom('real'), true)},
(LogicAtom('nonPositive'), true)
),
(
{(LogicAtom('extendedNonPositive'), true), (LogicAtom('finite'), true)},
(LogicAtom('nonPositive'), true)
),
// Rules implying LogicAtom('nonzero') = true
(
{(LogicAtom('extendedNonzero'), true), (LogicAtom('finite'), true)},
(LogicAtom('nonzero'), true)
),
// Rules implying LogicAtom('odd') = true
(
{(LogicAtom('even'), false), (LogicAtom('integer'), true)},
(LogicAtom('odd'), true)
),
// Rules implying LogicAtom('positive') = false
(
{
(LogicAtom('composite'), false),
(LogicAtom('even'), true),
(LogicAtom('prime'), false)
},
(LogicAtom('positive'), false)
),
// Rules implying LogicAtom('positive') = true
(
{
(LogicAtom('negative'), false),
(LogicAtom('real'), true),
(LogicAtom('zero'), false)
},
(LogicAtom('positive'), true)
),
(
{(LogicAtom('nonNegative'), true), (LogicAtom('nonzero'), true)},
(LogicAtom('positive'), true)
),
(
{(LogicAtom('extendedPositive'), true), (LogicAtom('finite'), true)},
(LogicAtom('positive'), true)
),
// Rules implying LogicAtom('prime') = true
(
{
(LogicAtom('composite'), false),
(LogicAtom('even'), true),
(LogicAtom('positive'), true)
},
(LogicAtom('prime'), true)
),
// Rules implying LogicAtom('real') = false
(
{
(LogicAtom('negative'), false),
(LogicAtom('positive'), false),
(LogicAtom('zero'), false)
},
(LogicAtom('real'), false)
),
// Rules implying LogicAtom('real') = true
(
{(LogicAtom('extendedReal'), true), (LogicAtom('infinite'), false)},
(LogicAtom('real'), true)
),
(
{(LogicAtom('extendedReal'), true), (LogicAtom('finite'), true)},
(LogicAtom('real'), true)
),
// Rules implying LogicAtom('transcendental') = true
(
{(LogicAtom('algebraic'), false), (LogicAtom('complex'), true)},
(LogicAtom('transcendental'), true)
),
// Rules implying LogicAtom('zero') = true
(
{
(LogicAtom('extendedNegative'), false),
(LogicAtom('extendedPositive'), false),
(LogicAtom('extendedReal'), true)
},
(LogicAtom('zero'), true)
),
(
{
(LogicAtom('negative'), false),
(LogicAtom('positive'), false),
(LogicAtom('real'), true)
},
(LogicAtom('zero'), true)
),
(
{
(LogicAtom('extendedNonNegative'), true),
(LogicAtom('extendedNonPositive'), true)
},
(LogicAtom('zero'), true)
),
(
{(LogicAtom('nonNegative'), true), (LogicAtom('nonPositive'), true)},
(LogicAtom('zero'), true)
),
];