package Ġit . uni bo . tup ro log . core . exception Ċ Ċ import Ġit . uni bo . tup ro log . core . Substitution Ċ import Ġit . uni bo . tup ro log . core . Term Ċ import Ġkotlin . jvm . Jvm Over loads Ċ Ċ class ĠSubst itution ApplicationException Ġ: ĠSubst itution Exception Ġ{ ĊĠĠĠ Ġval Ġterm : ĠTerm ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( term : ĠTerm , Ġsubstitution : ĠSubst itution , Ġmessage : ĠString ?, Ġcause : ĠThrowable ? Ġ= Ġnull ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ Ġsubstitution , ĊĠĠĠĠĠĠĠ Ġmessage , ĊĠĠĠĠĠĠĠ Ġcause ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . term Ġ= Ġterm ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( term : ĠTerm , Ġsubstitution : ĠSubst itution , Ġcause : ĠThrowable ? Ġ= Ġnull ) Ġ: ĊĠĠĠĠĠĠĠ Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġterm , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubstitution , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Could Ġnot Ġapply Ġ$ subst itution Ġto Ġ$ term ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcause ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( term : ĠTerm , Ġcause : ĠThrowable ? Ġ= Ġnull ) Ġ: ĊĠĠĠĠĠĠĠ Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġterm , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSubst itution . failed (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcause ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ