Common sense for concurrency and inconsistency tolerance using Direct Logic(TM)
暂无分享,去创建一个
Direct Logic is a minimal fix to classical mathematical logic and statistical probability (fuzzy) inference that meets the requirements of large-scale Internet applications (including sense making for natural language) by addressing the following issues: inconsistency robustness, contrapositive inference bug, and direct argumentation. For example, in classical logic, (not WeekdayAt5PM) can be inferred from the premises (not TrafficJam) and WeekdayAt5PM infers TrafficJam. However, Direct Logic does not thereby infer (not WeekdayAt5PM) because this requires additional argumentation. The same issue affects probabilistic (fuzzy) inference. Suppose (as above) the probability of TrafficJam is 0 and the probability of TrafficJam given WeekdayAt5PM is 1. Then the probability of WeekdayAt5PM is 0. Varying the probability of TrafficJam doesn‘t change the principle involved because the probability of WeekdayAt5PM will always be less than or equal to the probability of TrafficJam. Also, in the Tarskian framework of classical mathematical logic, expressing argumentation is indirect and awkward. For example a classical theory cannot directly represent its own inference relationship and consequently cannot directly represent its rules of inference. Godel and Rosser proved that nontrivial mathematical theories are incomplete using the assumption of consistency of Peano Arithmetic. This paper proves a generalization of the Godel/Rosser incompleteness theorem: theories in Direct Logic are self-provably incomplete using inconsistency robust reasoning. However, there is a further consequence: Since the Godelian paradoxical proposition is self-provable, theories in Direct Logic are selfprovably inconsistent! This paper also proves that Logic Programming is not computationally universal in that there are concurrent programs for which there is no equivalent in Direct Logic. Consequently the Logic Programming paradigm is strictly less general than the Procedural Embedding of Knowledge paradigm. Thus the paper makes use of a concurrent programming language ActorScript™ (suitable for expressing massive concurrency in large software systems) that is defined meta-circularly in terms of itself.