Boolean Functions for Finite-Tree Dependencies

  • Authors:
  • Roberto Bagnara;Enea Zaffanella;Roberta Gori;Patricia M. Hill

  • Affiliations:
  • -;-;-;-

  • Venue:
  • LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Several logic-based languages, such as Prolog II and its successors, SICStus Prolog and Oz, offer a computation domain including rational trees that allow for increased expressivity and faster unification. Unfortunately, the use of infinite rational trees has problems. For instance, many of the built-in and library predicates are ill-defined for such trees and need to be supplemented by run-time checks whose cost may be significant. In a recent paper [3], we have proposed a data-flow analysis called finite-tree analysis aimed at identifying those program variables (the finite variables) that are not currently bound to infinite terms. Here we present a domain of Boolean functions, called finite-tree dependencies that precisely captures how the finiteness of some variables influences the finiteness of other variables. We also summarize our experimental results showing how finite-tree analysis, enhanced with finite-tree dependencies is a practical means of obtaining precise finiteness information.