5 ms·
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 con
by harekaze 7y ago
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.
- timClicks 7y agoI'm unsure how UNKNOWN could not propagate into other decisions that depend on the value. Could you provide an example or two?
- cgrand-net 7y agoUNKNOWN or TRUE is TRUE
- harekaze 7y agoExactly. Thank you.
- deleted 7y ago[deleted]
- stakhanov 7y ago...that would be more of a belief theory (like Dempster-Shafer) than a logic. 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 7y agoYes, I use INVALID for scenarios where "p" is unsatisfiable, as well as scenarios where I encounter other types of nonsense sentences. For example, "the uppercase is having a daydream", or a more subtle one, "the country is proud of its own products" when considered literally (as a country is incapable of feeling proud). I should have called it NONSENSE instead.
- tiniuclx 7y agoThis sounds a lot like the abstraction that SystemVerilog uses to describe the electronic states that a piece of wire can be in. Namely, SystemVerilog uses 0 for a wire driven by a low voltage, 1 for a wire driven by a high voltage, Z (high impedance) for a wire that is not being powered at all, and X (unknown) for a wire that is driven by a 0 and a 1 at the same time. 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 7y agoThe abstraction you mentioned isn't really similar to what I mentioned in parent. INVALID would be like X, I guess, but there is no counterpart of Z in the logic I used daily. Nonetheless it's interesting to learn about the abstraction :)
- AgentOrange1234 7y agoLots of insanity here too. Like, “~(~(a)) = a” is no longer a correct rule (because when negated twice, z becomes x). But other than that it’s a cool system.
- claudiawerner 7y agoThat's funny, reminds me of Engels' principle in Hegel's logic of the "negation of the negation".
- logicchains 7y agoYou might like https://ncatlab.org/nlab/show/Hegel%27s+%22Logic%22+as+Modal+Type+Theory https://ncatlab.org/nlab/show/Hegel%27s+%22Logic%22+as+Modal....
- jonathanstrange 7y agoIt's not uncommon. Many people use the truth values {T}, {F}, {}, and {T, F} of one of the four-valued Belnap systems taken as partial logic. It is very adequate for linguistic modeling of truth conditional content and propositional attitudes, see for example Muskens's great little book Meaning and Partiality. 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.)
- stakhanov 7y agoMind giving the references to A. Sinowjew (1970) and H. Wessel (1989) in full?
- jonathanstrange 7y agoOf course not. They are both in German, though, and it didn't help that Wessel refused to change his name when officials of the GDR asked him to, because that would have contradicted his views about proper names. [The best formulation of FOL with NTPT is in the 1999 edition of Logik.] Wessel, Horst (1989, 1999): Logik. Logos Berlin. Sinowjew (Zinov'ev), Alexander Alexandrowitsch (1973): Foundations of the Logical Theory of Scientific Knowledge (Complex Logic). Springer. Sinowjew (Zinov'ev), A. A. (1970): Komplexe Logik. Grundlagen einer logischen Theorie des Wissens. Vieweg. http://www.zinoviev.ru/eng/index.html http://www.zinoviev.ru/eng/index.html
- stakhanov 7y agoThank you! Much appreciated! What a happy coincidence that I speak German, too.
- harekaze 7y agoIt takes time for me to find and try understanding the materials you mentioned. I'm unlikely to have a meaningful reply to your comment anytime soon. Let me just thank you here :)
- The_rationalist 7y agoWhat does invalid means? Could you exemplify?
- arethuza 7y agoPresumably its like an error value being returned from a programming function?
- harekaze 7y agoYep. I use INVALID in many different scenarios. One type of the scenarios is like encountering someone saying "the uppercase is having a daydream" in a serious discussion and no one really knows what "uppercase" means here. The usual usage would be more subtle. Maybe NONSENSE would be a better name.
- shoo 7y agoinvalid might handle similar cases to http://www.catb.org/~esr/jargon/html/M/mu.html http://www.catb.org/~esr/jargon/html/M/mu.html
- nnq 7y agoThere's a 5-valued logic usable in common everyday live, originating from some Buddhist philosophy I don't care to remember, that I actually use fine in everyday life, similar to yours. I has: - {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 7y agoI think of it in the four categories they typically teach in digital design classes for electrical engineers: 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.