如果以下函数计算字符串中 AlphaChar 字符的数量,我如何在一阶逻辑中表示这样的couting函数?
注意:AlphaChar只是一个 unsigned int 类型
int alpha_char_strlen (const AlphaChar *str)
{
const AlphaChar *p;
for (p = str; *p; p++)
;
return p - str;
}
提前致谢,
答案 0 :(得分:0)
您可以将strlen
定义为
<string of length n><string of length m>
,那么它的长度为n + m。假设你的结构中有算术
HasLength(EmptyString,0) ^ \forall x \forall y \forall z \forall k \forall l \forall m
(HasLength(x,k) ^ HasLenght(y,l) ^ HasLength(z,m) ^ z = xy => m = k + l)