Date of Award


Publication Type

Master Thesis

Degree Name



Computer Science

First Advisor

Kent, Robert


Automated Reasoning, Functional Programming, Software Engineering



Creative Commons License

Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.


Subjective Logic is a recently emergent probabilistic logic system that allows for reasoning under uncertainty. Though algebraically expressive, there is a lack of software tooling to support computation, such as code libraries, calculators, and software for the development of decision support systems. With this motivation, we present a complete design for a library of opinion data structures and operators constructed from higher order functions that are capable of representing and evaluating well-formed expressions of Subjective Logic. By leveraging monads, mathematical objects from Category Theory, we have enabled our operators to detect and propagate run-time errors without sacrificing compositionality. Furthermore, we have conducted a termination analysis on the expression evaluator and a complexity analysis on a representative subset of the operators. We have also proposed and implemented extensions to the set of Subjective Logic operators. Lastly, we provide examples of how to compute the values of Subjective Logic expressions.