Tree logic with recursion and model checking algorithm

Semi-structured data plays an increasingly important role in the exchange of information between globally distributed applications, which invokes renewed interests in typed programming languages that can manipulate tree-like data structures. Tree logic, inherited from ambient logic, is introduced as the formal foundation of related programming language and type systems. In this paper, we introduce recursion into such logic system, which can describe the tree data more clearly and concisely. By making a distinction between proposition and predicate, a concise semantics interpretation for our modal logic is given. We also develop a model checking algorithm for the logic without . operator. The correctness of the algorithm is shown. Such work can be seen as the basis of the semi-structured data processing language and more flexible type system.