lambda - event-b:是否可以在一个表达式中通过 lambda 生成从 ... 到 ... 的素数序列?

标签 lambda sequence primes formal-methods

我想知道是否可以仅用一个 生成素数序列表达式 。这是我到目前为止所拥有的:

@axm1 primeSet = {x∣ x ∈ 1‥100 ∧ ¬(∃y·y < x ∧ y > 1 ∧ x mod y = 0)} ∧ finite(primeSet)
@axm2 primeSeq ∈ 1‥card(primeSet) >->> primeSet
@axm3 ∀a,b,c,d·a↦b ∈ primeSeq ∧ c↦d ∈ primeSeq ∧ a↦b ≠ c↦d ⇒ (a < c ⇒ b < d)

@axm1 生成一组素数,@axm2 定义序列的类型,@axm3 进一步将此集合限制为确定性的解决方案。我不知道如何用一个 lambda 表达式来做到这一点,我认为这甚至不可能,但我想知道其他人的想法。

最佳答案

我相信这个 lambda 函数满足您的要求:

@axm1 primeSeq = {size↦X| size∈ℕ ∧ X⊆ℕ ∧ ∀x·x∈X ⇒ (x∈1‥size ∧ (∀y·y∈1‥x ∧ y≠1 ∧ y≠x ⇒ x mod y ≠ 0))}

关于lambda - event-b:是否可以在一个表达式中通过 lambda 生成从 ... 到 ... 的素数序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21625333/

相关文章:

lambda - 为什么可以传递方法引用而不是转换器实例?

oracle - Oracle序列:此处不允许使用CURRVAL吗?

java - 在 for 循环中,Println 函数使循环永远循环。为什么会发生这种情况?

algorithm - 降低埃拉托色尼筛法的空间复杂度以生成一定范围内的素数

postgresql - 如何使用 JPA 创建 PostgreSql 序列?

java - Java 中的 Arcane isPrime 方法

lambda - Lambda函数中的Pyspark UDF函数错误

ruby - Ruby 中奇怪的 Proc 错误

c++ - msvc 2017 中的错误 C3489 不正确?

swift - 如何基于分层数据创建 Swift 序列?