Home

SSE (Similarity-based Strict Equality) is a tool developed by the DEC-Tay research group at the University of Castilla-La Mancha (Spain). This tool is intended to implement the notion of Similarity (usual in fuzzy logic programming) via the Strict Equality mechanism, that is standard in functional programming. 

We implement a static preprocess for improving the expressive power of a fuzzy declarative language to easily cope with similarity relations. A classical, but even nowadays challenging research topic in declarative programming, consists in the design of powerful notions of “equality”, as occurs with the flexible (fuzzy) and efficient (lazy) model that we have recently proposed for hybrid declarative languages amalgamating functional-fuzzy-logic features. The clever idea is that, by extending at a very low cost the notion of “strict equality” typically used in lazy functional (Haskell) and functional-logic (Curry) languages, and by relaxing it to the more flexible one of similarity-based equality used in modern fuzzy-logic programming languages (such as Likelog and Bousi∼Prolog), similarity relations can be successfully treated while mathematical functions are lazily evaluated at execution time. Now, we are concerned with the so-called Multi-Adjoint Logic Programming approach, MALP in brief, which can be seen as an enrichment of Prolog based on weighted rules with a wide range of fuzzy connectives. In this work, we revisit our initial notion of SSE (Similarity-based Strict Equality) in order to re-model it at a very high abstraction level by means of a simple set of MALP rules. The resulting technique (which can be tested here) not only simulates, but also surpass in our target framework, the effects obtained in other fuzzy logic languages based on similarity relations (with much more complex/reinforced unification algorithms in the core of their procedural principles), even when the current operational semantics of MALP relies on the simpler, purely syntactic unification method of Prolog.