(* Title: HOL/Examples/Adhoc_Overloading_Examples.thy Author: Christian Sternagel *) section ‹Ad Hoc Overloading› theory Adhoc_Overloading_Examples imports Main "HOL-Library.Infinite_Set" "HOL-Library.Adhoc_Overloading" begin text ‹Adhoc overloading allows to overload a constant depending on its type. Typically this involves to introduce an uninterpreted constant (used for input and output) and then add some variants (used internally).› subsection ‹Plain Ad Hoc Overloading› text ‹Consider the type of first-order terms.›