A strongly typed logic programming language with numerical constraint-solving over the natural numbers, developed by Paul Voda <firstname.lastname@example.org> at UBC in 1988. Trilogy is syntactically a blend of Prolog, Lisp, and Pascal. It contains three types of clauses: predicates (backtracking but no assignable variables), procedures (if-then-else but no backtracking; assignable variables), and subroutines (like procedures, but with input and system calls; callable only from top level or from other subroutines).
Development of Trilogy I stopped in 1991. Trilogy II, developed by Paul Voda 1988-92, was a declarative general purpose programming language, used for teaching and to write CL.
["The Constraint Language Trilogy: Semantics and Computations", P. Voda, Complete Logic Systems, 741 Blueridge Ave, North Vancouver BC, V7R 2J5].