表14-3 内部谓词简述 内部谓词及说明  * //2 ?????乘法算术运算  + //2 ?????加法算术运算  - //2 ????减法算术运算  / //2? ????除法算术运算  assert/1? procedure (i) ?????在匹配的内部事实数据库的底部插入指定事实  asserta/1? procedure (i) ?????在匹配的内部事实数据库的顶部插入事实  assertz/1? procedure (i) ??????在匹配的内部事实数据库的底部插入事实  bound/1? determ (i) ?????检查一指定变量是否绑定到某个值  class_Name : () -> ::string ClassName procedure (). ?????这一编译时间谓词返回字符串ClassName,表示当前接口或类的名称  convert//2? procedure (i,i) ?????有检查的项转换  digitsOf//1? procedure (i) ?????返回指定浮点数论域的精度  div//2? ?????算术运算符,返回一整数除法的商  errorExi t : (::unsigned ErrorNumber) erroneous (i). ?????用指定返回代码ErrorNumber执行一次运行错误并设置内部错误信息  fail : () failure (). ?????调用回溯  finally/2? determ (i,i) ?????finally元谓词使应用程序保证清除代码Final_Predicates的执行,即使当代码块Do_Predicates的执行被中断。Final_Predicates在Do_Predicates之后立刻执行,即使Do_Predicates退出或失败。  findall/3? procedure (i,i,o) ?????收集一个非确定性谓词返回的所有解的列表  free/1? determ (i) ?????检查一变量是否是自由的  hasDomain/2? determ (i,i) procedure (i,o) ????检查变量 VariableName是否有论域 domainName.  lowerBound//1? procedure (i) ?????返回指定数字论域的低界  maxDigits//1? procedure (i) ?????检索与浮点指针论域domainName相应的基本论域的数字值(精度)  mod//2? ?????算术运算符,返回整数除法的余数  not/1? determ (i) ?????对子目标的结果(成功/失败)求反  predicate_fullname : () -> ::string PredicateFullName procedure (). ?????这一编辑时间谓词返回字符串PredicateFullName,它表示子句体中的predicate_name得到调用的谓词名字。返回的谓词名用一作用域加以限制。  predicate_name : () -> ::string PredicateName procedure (). ??????这一编辑时间谓词返回字符串PredicateFullName,它表示在其子句体中predicate_name得到调用的谓词名称.  retract/1? nondeterm (i) nondeterm (o) ?????从被匹配的内部事实数据库中除去一匹配的事实.  retractall/1? procedure (i) ????从被匹配的内部事实数据库中除去所有匹配的事实.  retractall/2? procedure (i,i) ?????从被指定的内部事实数据库FactsSectionName中除去所有匹配的事实.  sizeBitsOf//1? procedure (i) ?????检索内存中被指定论域DomainName的实体占用的位数  sizeOf//1? procedure (i) ?????检索内存中被指定项占用的字节数  sizeOfDomain//1? procedure (i) ?????检索内存中被指定论域DomainName的实体占用的字节数  sourceFile_LineNo : () -> ::unsigned procedure (). ?????返回在编译器中处理的源文件的当前行号  sourceFile_Name : () -> ::string procedure (). ?????返回在编译器中处理的源文件的名称  sourceFile_TimeStamp : () -> ::string procedure (). ?????返回表示编译器处理的源文件的日期和时间的字符串  succeed/0? ??? ?谓词succeed/0总是成功  toBinary//1? procedure (i) ?????将指定项转换为binary表示  toBoolean//1? procedure (i) ?????这一元谓词的用途是将一确定性调用(谓词或事实)转换为一返回布尔论域值的程序  toString//1? procedure (i) ?????将指定的项转换成字符串表示  toTerm//1? procedure (i) ?????将指定项SrcTerm的字符串/二进制表示转换成与返回值的PrologTerm变量论域相应的表示  trap/3? determ (i,o,i) ?????在设陷阱的谓词中捕获退出、中断和运行错误  tryConvert//2? determ (i,i) ????检查输入项InputTerm是否能严格地转换成指定论域returnDomain,并返回转换后的项ReturnTerm  uncheckedConvert//2? procedure (i,i)? ?????论域的无检查的转换  upperBound//1? procedure (i) ????返回指定数字论域的上界值