Abstract
The unfolding transformation has been widely used in many declarative frameworks for improving the efficiency of programs. Inspired by our previous experiences in fuzzy logic languages that do not deal with similarity relations, in this work we try to adapt such operation to the framework of the fuzzy logic programming language FASILL (acronym of “Fuzzy Aggregators and Similarity Into a Logic Language”) which has been developed in our research group for coping with implicit/explicit truth degree annotations, a great variety of connectives and unification by similarity. The traditional unfolding transformation is based on the application of unifiers on the heads and computational steps on the bodies of program rules. However, when considering similarity relations, the premature generation and application of weak (similarity-based) unifiers at unfolding time could destroy the correctness (i.e., the soundness and completeness) of the transformation. In this paper we study how to avoid the risk, by imposing some conditions on programs in order to be safely unfolded. We show that these conditions are sufficient to guarantee the correctness of the unfolding transformation, and we present some experiments performed with the implemented online tool for illustrating the improved efficiency of unfolded programs.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.