I am familiar with 1st order logic, but I find it not enough expressive and that's not it, although I'm familiar with resolution rule.
I have thrown a look at propositional logic and that is not either what I'm thinking of.
What I have in mind is near to some kind of
Type Theory system, but the one that could express state transitions too (
dynamics).
Actually we would have a tree structure for defining and holding data elements or sets of data. In this structure it would be possible to define also math formulas, logic formulas, etc (like: (a V b, ¬a V c) => introduce b V c, or: a^2 - b^2 => introduce (a + b) * (a - b)).
Besides simple storing data inside this tree structure, there would also be possible to express dynamics of data, like some kind of "system" for which is defined how it changes through time. This changes would be simple events fired upon checking Boolean expressions. When specifically noted Boolean expression satisfies, it invokes a certain data change to a certain data node (like: apple.state = falling ON apple.x > table.x + table.width). I'm talking about a complete programming language capable of describing states of the Universe in a way that is simpler and more readable than in regular programming languages.
This way we would have a tool for describing any system in the Universe. Only problem now would be how to translate paragraphs of text into "description system" that reflects states (and their changes) described by the paragraph. The other side of the medal would be "how to explain specific 'description system' (or a part of it) in human words upon 'what, where, when, how, ...' query".
With this resolved, we would get smart encyclopedia and a jump board for induction and deduction.