6 research outputs found
On the Complexity of the Tiden-Arnborg Algorithm for Unification modulo One-Sided Distributivity
We prove that the Tiden and Arnborg algorithm for equational unification
modulo one-sided distributivity is not polynomial time bounded as previously
thought. A set of counterexamples is developed that demonstrates that the
algorithm goes through exponentially many steps.Comment: In Proceedings UNIF 2010, arXiv:1012.455
Unification modulo a partial theory of exponentiation
Modular exponentiation is a common mathematical operation in modern
cryptography. This, along with modular multiplication at the base and exponent
levels (to different moduli) plays an important role in a large number of key
agreement protocols. In our earlier work, we gave many decidability as well as
undecidability results for multiple equational theories, involving various
properties of modular exponentiation. Here, we consider a partial subtheory
focussing only on exponentiation and multiplication operators. Two main results
are proved. The first result is positive, namely, that the unification problem
for the above theory (in which no additional property is assumed of the
multiplication operators) is decidable. The second result is negative: if we
assume that the two multiplication operators belong to two different abelian
groups, then the unification problem becomes undecidable.Comment: In Proceedings UNIF 2010, arXiv:1012.455
Proceedings of Sixth International Workshop on Unification
Swiss National Science Foundation; Austrian Federal Ministry of Science and Research; Deutsche Forschungsgemeinschaft (SFB 314); Christ Church, Oxford; Oxford University Computing Laborator
Nominal equational problems modulo associativity, commutativity and associativity-commutativity
Tese (doutorado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019.A sintaxe nominal tem sido utilizada em vários contextos por quase duas décadas. Ela é
uma ferramenta poderosa para se lidar com ligação de variáveis de uma forma concreta,
que pode ser aplicada a qualquer especificação na qual parâmetros são utilizados para se
abstrair variáveis, tal como em predicados e funções. Na sintaxe nominal, objetos que
são sintaticamente diferentes podem ter a mesma semântica módulo alfa-conversão, tal
como acontece no Cálculo Lambda. O tratamento de igualdades, em especial a alphaequivalêcia,
é algo essencial em linguagens formais e implementações. Este trabalho investiga
a alpha-equivalência nominal com símbolos de função associativos (A), comutativos
(C) e associativos-comutativos (AC). Verificação de equivalência, casamento e unificação
módulo A, C e AC são investigados. Em relação a verificação de igualdade, as alphaequivalências
nominais módulo A, C e AC foram especificadas em Coq e provadas ser
corretas. Um algoritmo implementado em OCaml para verificação de igualdade módulo
A, C e AC é automaticamente extraído da especificação e experimentos são executados
utilizando-se também um algoritmo aperfeiçoado. Limites superiores para o tempo de
execução na solução de problemas nominais de verificação equacional são fornecidos. Um
algoritmo de unificação módulo C baseado em regras de redução é especificado em Coq
e provado ser correto e completo. Por meio do uso de variáveis protegidas, este algoritmo
de unificação resolve problemas de casamento nominal módulo C, o que foi também
formalizado ser correto e completo. O algoritmo de unificação baseado em regras de redução
fornece uma família finita de conjuntos de equações nominais de ponto fixo. Cada
uma destas equações pode ter um conjunto infinito de soluções independentes. Portanto,
demonstra-se que problemas de unificação nominal módulo C e AC podem gerar um conjunto
infinito de soluções independentes. Este fato contrasta com unificação sintática
módulo C ou AC, que são conhecidas por estar na classe finitária de problemas. Uma
implementação em OCaml do algoritmo de unificação nominal é fornecida e utilizado para
se construir exemplos.The nominal syntax has been used in many application contexts for almost two decades.
It is a powerful tool for dealing with variable binding in a concrete manner that can be
applied to any specification in which parameters are used to abstract variables, such as in
predicates and functions. In the nominal syntax, syntactically different objects can have
the same semantics modulo alpha-conversion, as happens in the lambda calculus. Dealing
with equality, and in special with alpha-equivalence, is essential in formal languages
and implementations. This work investigates the nominal alpha-equivalence with associative
(A), commutative (C) and associative-comutative (AC) function symbols. Equalitychecking,
matching and unification modulo A, C and AC are investigated. Regarding
equality-checking, nominal alpha-equivalence modulo A, C and AC are specified in Coq
and proved sound. An algorithm implemented in OCaml for equality-checking modulo A,
C and AC is automatically extracted from the specification and experiments are performed
using also an improved algorithm. Upper bounds for solving nominal equality-checking
problems are given. A rule-based nominal unification modulo C algorithm is specified
in Coq and proved sound and complete. By using protected variables, this unification
algorithm solves nominal matching problems modulo C, which is formalised to be sound
and complete. The rule-based nominal unification algorithm outputs a finite family of sets
of fixed point nominal equations. Each of which might have an infinite set of independent
solutions. Therefore, nominal unification modulo C or AC are proved to potentially
generate infinite independent solutions. This contrasts with syntactic unification modulo
C or AC that are known to be in the finitary class. An OCaml implementation of the
nominal unification algorithm is provided and used to build examples