Questions tagged «finite-model-theory»

6
从一组对中生成组合而无需重复元素
我有一对。每对都具有(x,y)的形式,使得x,y属于范围内的整数[0,n)。 因此,如果n为4,那么我有以下几对: (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) 我已经有一对了。现在,我必须使用n/2对构建一个组合,这样就不会重复任何整数(换句话说,每个整数在最终组合中至少出现一次)。以下是正确和不正确组合以更好地理解的示例 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] 一旦我有了配对,有人可以建议我一种生成所有可能组合的方法。

3
SQL捕获
据Immerman,与相关联的复杂类SQL查询是完全类的安全的查询在Q(FO(COUNT))Q(FO(COUNT))\mathsf{Q(FO(COUNT))}(一阶查询加计数操作者):SQL捕获安全查询。(换句话说,所有SQL查询具有复杂Q(FO(COUNT))Q(FO(COUNT))\mathsf{Q(FO(COUNT))},并且在所有的问题Q(FO(COUNT))Q(FO(COUNT))\mathsf{Q(FO(COUNT))}可以表示为一个SQL查询。) 基于此结果,从理论上讲,存在许多可以有效解决但在SQL中无法表达的有趣问题。因此,仍然有效的SQL扩展似乎很有趣。所以这是我的问题: 是否有SQL的扩展(在行业中实现和使用),它可以捕获PP\mathsf{P}(即可以表示所有多项式时间可计算查询,而不能表示其他查询)? 我想要一种满足所有三个条件的数据库查询语言。这是很容易定义的扩展,它会扩展SQL和将捕获PP\mathsf{P}。但是我的问题是,从实践的角度来看,这种语言是否有意义,所以我希望在实践中使用这种语言。如果不是这种情况,并且没有这种语言,那么我想知道是否有某种原因使这种语言从实际角度变得无趣?例如,实践中出现的查询通常是否足够简单,以至于不需要这种语言?

2
“差异”操作是否为已经包含“联接”的查询语言增加了表达能力?
集差运算符(例如,EXCEPT在某些SQL变体中)是关系代数的许多基本运算符之一。但是,有些数据库不直接支持集合差异运算符,而是支持LEFT JOIN(一种外部联接),实际上,可以使用它代替集合差异运算来达到相同的效果。 这是否意味着即使没有设置差异运算符,只要LEFT JOIN保持该运算符,查询语言的表达能力也是相同的?一个人怎么证明这一事实呢?

2
为什么最小定点(lfp)在程序分析中很重要
我试图对程序分析中最小不固定点(lfp)的重要性有一个全面的了解。例如,抽象解释似乎使用了lfp。关于程序分析的许多研究论文也都集中在寻找最小固定点上。 更具体地说,这篇Wikipedia中的文章:Knaster-Tarski定理提到lfp用于定义程序语义。 它为什么如此重要?任何简单的例子都可以帮助我。(我正在尝试了解大图)。 编辑 我认为我的措辞不正确。我不质疑lfp的重要性。我的确切问题(初学者)是:计算lfp对程序分析有何帮助?例如,为什么/如何抽象解释使用lfp?如果抽象域中没有lfp,会发生什么? 希望我的问题现在更具体。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.