Context unification with one context variable

Adrià Gascón, Guillem Godoy, Manfred Schmidt-Schauß, Ashish Tiwari
2010 Journal of symbolic computation  
The context unification problem is a generalization of standard term unification. It consists of finding a unifier for a set of term equations containing first-order variables and context variables. In this paper we analyze the special case of context unification where the use of at most one context variable is allowed and show that it is in NP. The motivation for investigating this subcase of context unification is interprocedural program analysis for programs described using arbitrary terms,
more » ... eneralizing the case where terms were restricted to using unary function symbols. Our results imply that the redundancy problem is in coNP, and that the finite redundancy property holds in this case. We also exhibit particular cases where one context unification is polynomial. multi-equations. Finally, note that by Lemma 5.12, the remaining rules, (cycle), (clash), (clashfC) and (clashCC), are not applicable, and this completes the proof. Combining the soundness and completeness results for big unifiers, we conclude that the inference rules can be applied in a "don't care" manner. Corollary 5.14. If ∆ 1 ∆ 2 then every big unifier σ of ∆ 1 can be extended to a big unifier of ∆ 2 , and every big unifier of ∆ 2 is a big unifier of ∆ 1 . We finally show that the inference system is progressive, that is, if there is a solution and ∆ u = ∅, then we can apply some rule. Proposition 5.15. Let ∆ 0 be a set of initial exponent multi-equations. Then the following are equivalent: (A) there is a PHASE2 derivation ∆ 0 ∆ 1 · · · ∆ n with ∆ n,u = ∅, (B) ∆ 0 has a big unifier, and (C) for all n ≥ B(∆ 0 ), ∆ 0 has a solution σ with σ (N) = n.
doi:10.1016/j.jsc.2008.10.005 fatcat:wv6ggga5pvcpdmewrgi67pmu5e