17 research outputs found

    Deciding subset relationship of co-inductively defined set constants

    Get PDF
    Static analysis of different non-strict functional programming languages makes use of set constants like Top, Inf, and Bot denoting all expressions, all lists without a last Nil as tail, and all non-terminating programs, respectively. We use a set language that permits union, constructors and recursive definition of set constants with a greatest fixpoint semantics. This paper proves decidability, in particular EXPTIMEcompleteness, of subset relationship of co-inductively defined sets by using algorithms and results from tree automata. This shows decidability of the test for set inclusion, which is required by certain strictness analysis algorithms in lazy functional programming languages

    Superposition with simplification as a decision procedure for the monadic class with equality

    No full text
    We show that strict superposition, a restricted form of paramodulation, can be combined with specifically designed simplification rules such that it becomes a decision procedure for the monadic class with equality. The completeness of the method follows from a general notion of redundancy for clauses and superposition inferences

    On Algorithms and Complexity for Sets with Cardinality Constraints

    Get PDF
    Typestate systems ensure many desirable properties of imperative programs, including initialization of object fields and correct use of stateful library interfaces. Abstract sets with cardinality constraints naturally generalize typestate properties: relationships between the typestates of objects can be expressed as subset and disjointness relations on sets, and elements of sets can be represented as sets of cardinality one. Motivated by these applications, this paper presents new algorithms and new complexity results for constraints on sets and their cardinalities. We study several classes of constraints and demonstrate a trade-off between their expressive power and their complexity. Our first result concerns a quantifier-free fragment of Boolean Algebra with Presburger Arithmetic. We give a nondeterministic polynomial-time algorithm for reducing the satisfiability of sets with symbolic cardinalities to constraints on constant cardinalities, and give a polynomial-space algorithm for the resulting problem. In a quest for more efficient fragments, we identify several subclasses of sets with cardinality constraints whose satisfiability is NP-hard. Finally, we identify a class of constraints that has polynomial-time satisfiability and entailment problems and can serve as a foundation for efficient program analysis.Comment: 20 pages. 12 figure

    Set Constraints and Logic Programming

    Get PDF
    AbstractSet constraints are inclusion relations between expressions denoting sets of ground terms over a ranked alphabet. They are the main ingredient in set-based program analysis. In this paper we describe a constraint logic programming languageclp(sc) over set constraints in the style of J. Jaffar and J.-L. Lassez (1987, “Proc. Symp. Principles of Programming Languages 1987,” pp. 111–119). The language subsumes ordinary logic programs over an Herbrand domain. We give an efficient unification algorithm and operational, declarative, and fixpoint semantics. We show how the language can be applied in set-based program analysis by deriving explicitly the monadic approximation of the collecting semantics of N. Heintze and J. Jaffar (1992, “Set Based Program Analysis”; 1990, “Proc. 17th Symp. Principles of Programming Languages,” pp. 197–209)

    Agreeing to disagree: reconciling conflicting taxonomic views using a logic-based approach

    Get PDF
    Taxonomy alignment is a way to integrate two or more taxonomies. Semantic interoperability between datasets, information systems, and knowledge bases is facilitated by combining the different input taxonomies into merged taxonomies that reconcile apparent differences or conflicts. We show how alignment problems can be solved with a logic-based region connection calculus (RCC-5) approach, using five base relations to compare concepts: congruence, inclusion, inverse inclusion, overlap, and disjointness. To illustrate this method, we use different “geo-taxonomies”, which organize the United States into several, apparently conflicting, geospatial hierarchies. For example, we align T(CEN), a taxonomy derived from the Census Bureau’s regions map, with T(NDC), from the National Diversity Council (NDC), and with T(TZ), a taxonomy capturing the U.S. time zones. Using these case studies, we show how this logic-based approach can reconcile conflicts between taxonomies. We have implemented these case studies with an open source tool called Euler/X which has been applied primarily for solving complex alignment problems in biological classification. In this paper, we demonstrate the feasibility and broad applicability of this approach to other domains and alignment problems in support of semantic interoperability.DEB- 1155984DBI-1342595DBI-1643002Ope

    Reasoning about taxonomies and articulations

    Full text link

    Intensional Refinement Datatypes:With Application to Scalable Verification of Pattern-Match Safety

    Get PDF

    Higher-Order MSL Horn Constraints

    Get PDF
    corecore