Heyting categories, a variant of Dedekind categories, and Arrow categories provide a
convenient framework for expressing and reasoning about fuzzy relations and programs
based on those methods. In this thesis we present an implementation of Heyting and
arrow categories suitable for reasoning and program execution using Coq, an interactive
theorem prover based on Higher-Order Logic (HOL) with dependent types. This
implementation can be used to specify and develop correct software based on L-fuzzy
relations such as fuzzy controllers. We give an overview of lattices, L-fuzzy relations,
category theory and dependent type theory before describing our implementation. In
addition, we provide examples of program executions based on our framework