package Ġit . uni bo . tup ro log . solve . stdlib . primitive Ċ Ċ import Ġit . uni bo . tup ro log . core . Atom Ċ import Ġit . uni bo . tup ro log . core . Numeric Ċ import Ġit . uni bo . tup ro log . core . Substitution Ċ import Ġit . uni bo . tup ro log . core . Term Ċ import Ġit . uni bo . tup ro log . core . Var Ċ import Ġit . uni bo . tup ro log . core . to Atom Ċ import Ġit . uni bo . tup ro log . solve . ExecutionContext Ċ import Ġit . uni bo . tup ro log . solve . primitive . Binary Relation Ċ import Ġit . uni bo . tup ro log . solve . primitive . Solve Ċ import Ġit . uni bo . tup ro log . un ify . Un ific ator . Companion . m gu With Ċ import Ġit . uni bo . tup ro log . core . List Ġas ĠLogic List Ċ Ċ object ĠNumber Chars Ġ: ĠBinary Relation . Functional < ExecutionContext >(" number _ chars ") Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠSolve . Request < ExecutionContext >. compute One Substitution ( first : ĠTerm , Ġsecond : ĠTerm ): ĠSubst itution Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Ġis ĠVar Ġ&& Ġsecond Ġis ĠVar Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġensuring All Arguments Are Instanti ated () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSubst itution . failed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Ġis ĠVar Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġensuring Argument Is List ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchars Ġ= Ġsecond Ġas ĠLogic List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnumber String Ġ= Ġchars . to Sequence (). map Ġ{ Ġ( it Ġas ĠAtom ). value [ 0 ] Ġ}. join ToString (" "). trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSubst itution . of ( first , ĠNumeric . of ( number String )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Ġis ĠVar Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġensuring Argument Is Numeric ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnumber Ġ= Ġ( first ). toString (). to Atom (). value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchars Ġ= ĠLogic List . of ( number . map Ġ{ ĠAtom . of ("" Ġ+ Ġit ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSubst itution . of ( second , Ġchars ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġensuring Argument Is Numeric ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġensuring Argument Is List ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchars Ġ= ĠLogic List . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( first ). toString (). to Atom (). value . map Ġ{ ĠAtom . of ("" Ġ+ Ġit ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchars Ġm gu With Ġsecond ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ