Julián-Iranzo, PascualSáenz Pérez, Fernando2025-01-132025-01-132023P. Julián-Iranzo and F. Sáenz-Pérez, "Bousi~Prolog: Design and implementation of a proximity-based fuzzy logic programming language", Expert Systems with Applications, Volume 213, Part A, 2023. DOI 10.1016/j.eswa.2022.118858.10.1016/j.eswa.2022.118858https://hdl.handle.net/20.500.14352/114026The fuzzy logic programming language Bousi∼Prolog extends Prolog with a weak unification algorithm based on proximity relations and truth degree annotations. The weak unification algorithm makes the search for answers more flexible, while rule annotations make possible knowledge-based applications where the rules may be uncertain. In this paper, after recalling the main concepts supporting this language, we detail its design and implementation. We describe the implementation of its operational semantics, which is based on compiling programs and queries into Prolog, and those important features that makes it more applicable: fuzzy sets, integration with WordNet and efficiency techniques. The result is a high-level open-source implementation of the Bousi∼Prolog system, written on top of SWI-Prolog, and publicly available. We also summarise some experiments measuring its performance compared to other systems.engAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Bousi-Prolog: Design and Implementation of a Proximity-based Fuzzy Logic Programming Languagejournal articlehttps://dx.doi.org/10.1016/j.eswa.2022.118858open accessFuzzy Logic ProgrammingFuzzy PrologBousi~PrologWeak Uni cationWeak SLDLenguajes de programación1203.02 Lenguajes Algorítmicos