标签: quantifiers

Coq 中的反例证明

在命题和谓词演算中证明了数十个引理之后(有些比其他的更具挑战性,但通常仍然可以在intro-apply-destruct自动驾驶仪上证明),我从一开始就打了一个~forall,并立即被抓住了。显然,我对 Coq 的理解和知识缺乏。所以,我要求使用低级 Coq 技术来证明一般形式的语句

~forall A [B].., C -> D.  
exists A [B].., ~(C -> D).
Run Code Online (Sandbox Code Playgroud)

换句话说,我希望有一个通用的 Coq 方法来设置和触发反例。(量化上述函数的主要原因是它是 Coq 中的(或)原始连接词。)如果你想要例子,我建议例如

~forall P Q: Prop, P -> Q.
~forall P: Prop, P -> ~P.
Run Code Online (Sandbox Code Playgroud)

有一个相关的问题既没有提出也没有回答我的问题,所以我认为它不是重复的。

proof negation coq quantifiers

4
推荐指数
1
解决办法
713
查看次数

Z3:检查型号是否唯一

Z3中是否有办法证明/显示给定模型是唯一的,并且不存在其他解决方案?

一个小例子来演示

(declare-const a1 Int)
(declare-const a2 Int)
(declare-const a3 Int)
(declare-const b1 Int)
(declare-const b2 Int)
(declare-const b3 Int)
(declare-const c1 Int)
(declare-const c2 Int)
(declare-const c3 Int)
(declare-const ra Int)
(declare-const rb Int)
(declare-const rc Int)
(declare-const r1 Int)
(declare-const r2 Int)
(declare-const r3 Int)
(assert (>= a1 0))
(assert (>= a2 0))
(assert (>= a3 0))
(assert (>= b1 0))
(assert (>= b2 0))
(assert (>= b3 0))
(assert (>= c1 0))
(assert (>= c2 0))
(assert …
Run Code Online (Sandbox Code Playgroud)

java assertions quantifiers smt z3

3
推荐指数
1
解决办法
727
查看次数

怎么样?在正则表达式中使量词变得懒惰

我一直在寻找到最近的正则表达式,并盘算了一下,?运营商使*,+?懒惰.我的问题是它是如何做到的?*?例如它是一个特殊的运算符,还是?对它有影响*?换句话说,没有正则表达式识别*?为一个运营商本身,还是正则表达式识别*?为两个独立的运营商*??如果*?是被识别为两个独立运算符的情况,那么?影响*它如何变得懒惰.如果?意味着它*是可选的,那么这*不应该意味着它根本不存在.如果是,那么在声明中.*?不会正则表达式匹配单独的字母和整个字符串而不是较短的字符串?请解释一下,我迫切希望了解.非常感谢.

regex operators quantifiers

3
推荐指数
2
解决办法
1487
查看次数

Quantifier仅在Java正则表达式中打印三位数字

在Java正则表达式中,只打印一个字符串中的三位数字的量词是什么?

Input : 232,60,121,600,1980
Output : 232,121,600
Run Code Online (Sandbox Code Playgroud)

相反,我的输出是:

Output : 232,121,600,198
Run Code Online (Sandbox Code Playgroud)

我在用(\\d{3}).我应该使用什么量词才能只打印三位数字?

java regex quantifiers

3
推荐指数
1
解决办法
364
查看次数

"量词没有量化",但我从未要求量词

考虑以下Perl风味?(我想不是?)正则表达式来测试一个字符串是否是回文:

^((.)(?1)\2|.?)$
Run Code Online (Sandbox Code Playgroud)

试试吧.

下列

my regex palindrome {
    ^((.)(?1)\2|.?)$
}

say "$word is a palindrome"
    if $word ~~ /<palindrome>/
    && $word.chars > 1;
Run Code Online (Sandbox Code Playgroud)

给出错误

===SORRY!===
Quantifier quantifies nothing
at /home/cat/projects/perl6/code/misc/words.pl6:6
------>   ^((.)(??1)\2|.?)$
Unrecognized backslash sequence (did you mean $1?)
at /home/cat/projects/perl6/code/misc/words.pl6:6
------>   ^((.)(?1)\2?|.?)$
Run Code Online (Sandbox Code Playgroud)

我对(Python)正则表达式有一定的了解,当我说"量化器没有量化"时我得到了它的意思,但是当我要求递归而不是量化时,我不明白为什么它会这样说.

我没有足够的Perl知识来知道为什么它不喜欢反斜杠(另一个错误).

确实试着搞乱语法和搜索,但就我和互联网而言,这个正则表达式工作,并且摆弄它会产生我不会得到的各种其他错误.

我究竟做错了什么?

regex perl perl6 quantifiers

3
推荐指数
1
解决办法
164
查看次数

类型约束的存在量化

我不确定为什么ko不进行类型检查.有没有特别启发性的解释?

{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE NoMonomorphismRestriction, FlexibleInstances #-}

module Wrap where

class ExpSYM repr where
    lit :: Int -> repr

newtype Wrapped = Wrapped{unWrap :: forall repr. ExpSYM repr => repr}

a = (lit <$> Just 5) :: ExpSYM expr => Maybe expr

ko :: Maybe Wrapped
ko = do v <- a
        return $ Wrapped $ v

ok :: Maybe Wrapped
ok = do v <- Just 5
        let e = …
Run Code Online (Sandbox Code Playgroud)

haskell typeclass quantifiers

3
推荐指数
1
解决办法
79
查看次数

Dafny/Boogie 中的触发器是什么?

我在达夫尼一瘸一拐地走着,却不明白触发因素。也许因此,我编写的程序似乎给验证者带来了困难。有时我会花大量时间摆弄我的证明,试图让 Dafny/Boogie 相信它是有效的。当我让某些东西起作用时,有时验证速度很慢(这严重降低了我继续下去的能力)。

很难提出一个精确的问题,因为我不知道它是什么。但让我们从基础开始:

什么是触发器?它们什么时候使用?它们是如何推断的?一旦我理解了这一切,接下来我应该读什么?

quantifiers dafny boogie

3
推荐指数
1
解决办法
781
查看次数

Perl REGEX问题

作为一名新的Perl工程师通过'Programming Perl'工作,我遇到了以下正则表达式:

/^(.*?): (.*)$/;
Run Code Online (Sandbox Code Playgroud)

此正则表达式旨在解析电子邮件标头并将其插入哈希.电子邮件标头包含在单独的.txt文件中,格式如下:

From: person@site.com
To: email@site.com
Date: Mon, 1st Jan 2000 09:00:00 -1000
Subject: Subject here
Run Code Online (Sandbox Code Playgroud)

我用来处理这个示例正则表达式的整个代码如下:

use warnings;
use strict;

my %fields = ();

open(FILE, 'header.txt') or die('Could not open.');

while(<FILE>)
{
    /^(.*?): (.*)$/;
    $fields{$1} = $2;
}

foreach(%fields)
{
    print;
    print "\n";
}
Run Code Online (Sandbox Code Playgroud)

现在,谈谈我的问题.我不确定为什么第一个子模式被修改为使用最小量词.这可能是一个小问题,但我不明白为什么它已经完成.

谢谢你的回复.

regex perl quantifiers

2
推荐指数
2
解决办法
190
查看次数

占有量词如何运作?

在页面的最后,有人试图解释贪婪,不情愿和占有欲量词如何工作:http://docs.oracle.com/javase/tutorial/essential/regex/quant.html

然而,我尝试了一个例子,我似乎并没有完全理解它.

我会直接粘贴我的结果:

Enter your regex: .*+foo
Enter input string to search: xfooxxxxxxfoo
No match found.

Enter your regex: (.*)+foo
Enter input string to search: xfooxxxxxxfoo
I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.
Run Code Online (Sandbox Code Playgroud)

为什么第一个reg.exp.找不到匹配,第二个呢?这两个reg.exp之间的确切区别是什么?

java regex greedy quantifiers

2
推荐指数
1
解决办法
145
查看次数

在 Coq 中执行通用实例化的最佳方式

假设我有一个假设和上下文中的H : forall ( x : X ), P x变量。x : X我想进行通用实例化并获得新的假设H' : P x。最无痛的方法是什么?显然apply H in x不起作用。assert ( P x )其次是apply Hdos,但是如果很复杂的话可能会变得非常混乱P

有一个类似的问题似乎有些相关。但不确定它是否可以应用在这里。

coq quantifiers

2
推荐指数
1
解决办法
720
查看次数

标签 统计

quantifiers ×10

regex ×5

java ×3

coq ×2

perl ×2

assertions ×1

boogie ×1

dafny ×1

greedy ×1

haskell ×1

negation ×1

operators ×1

perl6 ×1

proof ×1

smt ×1

typeclass ×1

z3 ×1