A higher-order unification implementation for automated theorem proving

dc.contributor.authorLoura, Christopher
dc.date.accessioned2025-05-06T14:48:23Z
dc.date.available2025-05-06T14:48:23Z
dc.date.graduationmonthMay
dc.date.issued2025
dc.description.abstractHigher-Order Unification is the process for algorithmically establishing equality between typed lambda expressions. This methodology serves as a foundation for numerous automated theorem provers such as Isabelle, λProlog and Carnap. However, Higher-Order Unification is inherently undecidable, with the most state-of-the-art solution being Gérard Huet's semi-decidable higher-order unification algorithm from 1975. This report is an implementation of Huet's Algorithm for higher-order unification. The methodology involves parsing lambda expressions and converting them into De Bruijn index notation to eliminate the need for α-conversion. A β-reduction algorithm then reduces the lambda terms to beta-normal form. A matching tree for the two expressions is created to attempt to unify them through pattern matching and simplification. This implementation, written in the Zig programming language, uses its fast performance and memory optimization to create a performant abstract machine and to leverage the capability of Zig to compile into Webassembly.
dc.description.advisorTorben Amtoft
dc.description.degreeMaster of Science
dc.description.departmentDepartment of Computer Science
dc.description.levelMasters
dc.identifier.urihttps://hdl.handle.net/2097/45009
dc.language.isoen_US
dc.subjectunification
dc.subjecthigher-order unification
dc.subjectzig
dc.subjectlambda calculus
dc.titleA higher-order unification implementation for automated theorem proving
dc.typeReport

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ChristopherLoura2025.pdf
Size:
1.24 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.65 KB
Format:
Item-specific license agreed upon to submission
Description: