在一阶谓词逻辑中表示计数函数

时间:2012-06-09 07:46:46

标签: c

如果以下函数计算字符串中 AlphaChar 字符的数量,我如何在一阶逻辑中表示这样的couting函数?

注意:AlphaChar只是一个 unsigned int 类型

int alpha_char_strlen (const AlphaChar *str)
{
    const AlphaChar *p;

    for (p = str; *p; p++)
        ;
    return p - str;
}  

提前致谢,

1 个答案:

答案 0 :(得分:0)

您可以将strlen定义为

  • 空字符串的长度为0;
  • 如果字符串的格式为<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)