As computers penetrate human life in all its aspects, the difficulties of computer use during the human problem-solving process deepen. This may be a consequence of making the computer a universal problem-solving tool while problem domains and problem-solving logics grow differently. A problem solver uses a domain logic to formulate her problem and problem-solving algorithm while a computer uses computer logic to perform the problem-solving algorithms. For efficient computer use, the computer user must be an expert on both problem domains and computer domains, which is difficult to achieve. Consequently, software tools that translate problem domain logics into computer logics are required. The complexity of these software tools increases with the diversity of problem domains.
The solution to the problems raised by computer use during the problem-solving process seems to be the development of software tools that would allow computers and computer users to use natural language during the computer-based problem-solving process. Due to the ambiguous nature of natural language, this language must be the natural language of the problem domain, which is the segment of natural language spoken by problem domain experts, disambiguated by the context of the problem domain. This approach, in fact, means dropping the requirement that computers are universal problem-solving tools. That is, to be easy to use, software tools must be developed that make the computer a brain-dedicated tool, exactly as glasses are vision-dedicated tools, cars are movement-dedicated tools, tractors are agriculture-dedicated tools, and so on. Dependence logic is a collection of papers that may provide the foundation for the development of natural language of the problem domain as a computer language, thus allowing the computer and computer user to use the same language during the computer-based problem-solving process.
The main concepts discussed in the book are team semantics and Grelling or G dependence. A team semantics is a finite set S of functions that assign values from the problem domain D to variables V used in the domain expressions. For X, Y ⊆ V, a subset S1 ⊆ S of functions f: X ⟶ D used in the team semantics is G-dependent on another subset S2 ⊆ S of functions f′: Y ⟶ D if ∀ f′ ∈ S, if f(xi) ≠ f′(xi) for exactly one xi ∈ X then f(yi) ≠ f′(yi) for at least one yi ∈ Y. The papers in Dependence logic examine these concepts from both formal (using algebraic machinery) and pragmatic (using their impact on various problem domains logics) viewpoints. “Dependence as Question Entailment” (pp. 129-181) by I. Ciardelli stands out because it develops a framework for using the problem domain as a disambiguation context for natural language.
The book provides interesting (though sometimes not easy) reading for computer experts. Sometimes the authors of the more mathematically oriented papers are carried away by their formalisms and forget that computer experts may not have the background to digest them. Therefore, the most appropriate readers of this book would be PhD candidates working on algebra and logic. But, as stated above, the book may provide a very fertile research field on computer languages that would allow the development of natural languages of problem domains as computer languages. This would diversify the development of software tools required by the new computer-based problem-solving process where the computer is used as a brain tool. With this approach, problem domains will be stored both in the problem solver brain as usual knowledge and also in computer-based ontologies. Moreover, the current research on document archiving may thus receive a formal meaning as ontology-based storage systems.