For recent years I've been using a kind of four-valued logic in my daily thinking: TRUE, FALSE, an UNKNOWN of limited contagiousness, and an INVALID of full contagiousness. I feel estranged somewhat after learning there is no such logic in the most commonly used ones.
nnq|6 years ago
- {T}: true
- {F}: false
- {not-T && not-F}: neither true nor false (yet, for us): eg. "unknown" or NULL (so far we're in SQL-logic territory :P, still familiar)
- {T && F}: true and false at the same time: ERROR / paradox / invalid / contradiction / exception / malformed or invalid questions
- {}: "ununderstandable/uncommunicable" or "cannot be put in to words", but NOT error/exception/invalid - for a software system this would be "there is a true|false|null|exception value for this but there is no direct access to this information" eg. maybe "the value is somehow stored in a physical artifact or arises as a result of an agent doing and experiencing something, but it can't be communicated as information, you'd have to pass the physical artifact to other agents for them to 'grok it', or to engineer situations where they could have a similar experience" or "you can't explain to someone 'how it is to be inlove' or 'how it is to be on drug X', they need to have the experience or access to the drug themselves'
I'm not sure why pentaleans are not as natural to other people as booleans, since they seem way more intuitive to me when dealing with information for the real world...
moftz|6 years ago
T - True F - False X - Don't care Z - High-Z, essentially "don't know" or a null input
You can apply "don't care" to inputs to a logic equation to reduce the complexity of it. If you know a certain input will never be true while other inputs are false, then you can ignore all the states where that is the case. For example, the ECU in a car will turn on a certain light on the dashboard whenever the wheels slip. The wheels can't slip when the car isn't in drive and certainly not when the car is off so the ECU can reduce the logic needed to determine when to turn on that light. Instead of (car is on AND car is in drive AND power going to wheels AND wheel is slipping THEN turn on light) you can just reduce it down to (power going to wheels AND wheel is slipping THEN turn on light). This could would also cause the light to go on if the car was off while power was going to the wheels and the wheels were slipping but we know that case is impossible (engine can't send power if it's not on).
The High-Z is more of a "don't know" kind of input or output. It is an undetermined input that is neither true or false. We still care about it since it's not a "don't care" but we have no idea what it is. You could build a circuit to react to this state or have the circuit do nothing until it becomes true or false. You can also use this as an output of a circuit.
harekaze|6 years ago
jonathanstrange|6 years ago
If I only need the "third case", I personally prefer a bivalent logic with nontraditional predication theory developed by A. Sinowjew (1970) and H. Wessel (1989). It's great fun to point out this system to philosophers who weren't trained very well in logic and are dogmatically convinced that it's impossible to express a third case in a bivalent logic. (Admittedly, that's a very petty motive. Anyway, NTPT will not convince any real intuitionist, because the quantifiers remain classical, too.)
harekaze|6 years ago
stakhanov|6 years ago
tiniuclx|6 years ago
X is highly contagious, if you connect any wire to one with an X value, the result will be X. On the other hand, Z wires have their value overwritten by anything (a 0 connected to a Z will result in a 0). However, Z is not a valid _input_ to a logic gate: 1 AND Z = X.
Z is usually used for buses which consist of multiple inputs and outputs connected to the same wire. When nobody is transmitting, the value of the bus is Z. When one device transmits, the bus takes the value of the transmission. And finally, if more than one device attempts to transmit at a given time the result is X and you get what is known as bus contention :) ~
harekaze|6 years ago
jcranmer|6 years ago
Or a fire, because you have a low-resistance circuit that connects your power supply to ground.
AgentOrange1234|6 years ago
stakhanov|6 years ago
Or maybe what you are thinking of is simply the situation wherein a logical expression is neither valid nor unsatisfiable. Valid would mean it's true in all models (all possible worlds), and therefore provable. Unsatisfiable would mean it's false in all models (all possible worlds), so that its negation would be provable.
so "p or (not p)" would be valid "p and (not p)" would be unsatisfiable "p" is neither valid nor unsatisfiable. it may be true, or it may be false. it's a contingency. Maybe that's what you have in mind by "unknown".
There are various mathematical theories for navigating the space between unsatisfiable and valid. If you start thinking about the proportion of possible worlds wherein p is true, you are thinking of frequentist probability theory. If you start reasoning about whether p is satisfiable whereas not p is also satisfiable and distinguishing that from the case where p is either unsatisfiable or valid, then you are thinking of possibility theory.
harekaze|6 years ago
timClicks|6 years ago
cgrand-net|6 years ago
unknown|6 years ago
[deleted]
The_rationalist|6 years ago
shoo|6 years ago
arethuza|6 years ago