Unknown ≠ Undefined
So MathCheck uses 3 truth values: F, U, and T
Computation is often imprecise
Numeric values in MathCheck may be
- precise rational numbers
- `_|_`
- an interval of two floating point values, low ≤ precise ≤ high
- `_|_` or an interval
So to MathCheck, could in principle yield F, U, or T
`rArr` The truth value data type inside MathCheck has 7 different values:
- F, U, and T
- FU, FT, UT, and FUT, meaning F or
U, F or T, and so on
Therefore
- U means “certainly undefined”, e.g.
- FT means “certainly defined, but we do not know more than
that”
- FU means “certainly not true”, suffices for `rArr` and
`hArr`
- FUT means that we know nothing
Curiously, U can be obtained from F and T similarly to
how FU and so on are obtained from F, U, and T
- we get an infinite (not necessarily interesting) hierarchy of
propositional logics