What is a concept? There are many definitions, but as I will use the term here, it means
The requirements of a concept are explicitly stated in textual form in what is called a concept description. It is certainly conceivable that concept descriptions could be stated in a completely formal mathematical language, so that discussions of concepts could be carried out with a very high degree of mathematical rigor. It is also conceivable that processing of this language could be automated to a great degree using algorithmic decision procedures or heuristic artificial intelligence approaches. Work in this direction and further references can be found in [1][2][4]. Given present limitations of computer science and computer hardware, the formal approach may be too restrictive for some. In this document I choose to state concepts in informal natural language, but the framework and terminology are based on a fairly well-developed formalism.
This definition of concept and many of the directions in which we would like to develop concept webs are derived mainly from two sources: the field of formal concept analysis [6][7], and the Tecton concept description language [1][2][4]. Formal concept analysis seems heretofore to have been mainly applied to concepts in which the abstractions are merely names or simple descriptions of objects, so that the only real abstraction going on is from objects to concepts, making the types of concept analysis often no more complicated (or interesting) than typical relational database operations. Tecton, on the other hand, was designed for, and has been applied to examples in which the abstractions are quite complex, such as algebraic structures from mathematics and abstract data types from computer science, so that the step from abstractions to concepts is a second-level abstraction step and one that requires nontrivial inferences that are beyond the scope of relational database systems.