我已经证明了这个简单的规则:
lemma AAA: the_sector (log_update ?f ?s) ?p = the_sector ?s ?p
该规则不用于简化以下内容:
lemma BBB: "(λA. if A then (the_sector (log_update f s) p) else B)
=
(λA. if A then (the_sector s p) else B)"
我知道我可以应用auto或(rule ext)和simp来证明这个引理,但我的最终目标是比函数相等更糟糕的东西。我认为关键是在if条件下使用函数变量A。我想理解为什么s
我有以下Isabelle目标:
lemma "⟦ if foo then a ≠ a else b ≠ b ⟧ ⟹ False"
simp,fast,clarsimp,blast,fastforce等战术都没有在目标上取得任何进展,尽管它很简单。
为什么Isabelle不简化if构造的主体,使"a≠a“和"b≠b”都成为Isabelle,从而解决这个问题呢?
我试图调用函数中的值,而代码出现错误时失败了:
int对象没有属性__getitem__
请解释并建议我应该尝试什么。下面是python代码:
def congruential(a, m, x):
x_0 = x
for i in range (5):
x_0[i] = (a * x_0[i-1]) % m
if x_0[i] == x_0[0]:
break
print 'Value of X0 =', x
print 'Value of a = '
我试着用Java做了一点实验,出现了这个问题:
public class TestRandom {
public static void main(String[] args){
System.out.println(Math.pow((1/(1+1)),1));
}
}
计算结果为0.0,最有可能是最初的NaN。
是我出了什么问题,还是有一个真实的解释?
所以我在这里偶然发现了这个脚本,它返回一个负的d值,我的p和q值都是素数。有什么原因吗?可能只是个错误的剧本?
def egcd(a, b):
x,y, u,v = 0,1, 1,0
while a != 0:
q, r = b//a, b%a
m, n = x-u*q, y-v*q
b,a, x,y, u,v = a,r, u,v, m,n
gcd = b
return gcd, x, y
def main():
p = 153143042272527868798412612417204434
我试图从Java中的字符串中获取ID,我想我应该使用hashcode (是的,两个字符串可以有相同的哈希码,但我可以忍受这个小概率)。我要这个ID最多有四位数。这有可能吗?
这是字符串默认hashCode实现:
public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value;
for (int i = 0; i < value.length; i++) {
h = 31 * h
我试图从scores.csv中计算总数和平均值,但由于某种原因,它不能计算。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class TotalAndAverage {
public static void main(String[] args) {
try {
Scanner fin = new Scanner(new File("Scores.csv"));
d
我刚开始学习计算机科学,而且我对python3和一般的编程都很陌生。我们的第一个任务是使用Zellers同余式计算星期几,我对我写的代码有几个问题。
year = int(input("Year: "))
while not int(year) in range(1583, 10000):
year = input("Out of allowed range 1583 - 9999. Please enter a valid
number: ")
month = int(input("Month: "))
while not int(
考虑以下简单的Scala实验:
scala> trait A {class C;val c:C}
defined trait A
scala> object O1 extends A {val c=new C}
defined object O1
scala> object O2 extends A {val c=O1.c}
<console>:9: error: overriding value c in trait A of type O2.C;
value c has incompatible type
object O2 extends
“数组用于存储十个整数。编写一个Java程序来确定并打印给定数组中的奇数平方数。”
我的问题是如何判断数组中的数字是否是平方数。我试过这种方法,但是不正确!
import java.math.*;
public class JavaApplication43 {
public static void main(String[] args) {
int[] no = {22, 44, 25, 89, 81, 55, 23, 25, 55};
for (int i = 0; i < no.length; i++) {
i
我的Java方法有一个问题。它似乎编译不正确,而且我找不出哪里出了问题。
我希望有人能帮助我检查这个方法的错误,这样我就不会得到一个编译错误。
/**
* Calculate the speed in Kilometers per hour.
* @param lentgh The length drove in kilometers.
* @param time The time used in minutes.
* @return The speed in the datatype integer.
*/
public static int getSpeed(double len
我正在做一些纠错,我需要在Java中除以mod 11下的两位数。
现在我知道了,通过使用模数计算器:
9/1 mod 11 = 9
2/10 mod 11 = 9
问题出在让Java计算这一点上。在Java中:
(9 / 1) % 11 = 9 - This is fine
(2 / 10) % 11 = 0 - This is not correct.
我知道Java在技术上不能执行模运算,我的一部分想法是我要么需要以某种方式计算逆数,要么使用数组来存储可能的输出值。
我有一系列
S = i^(m) + i^(2m) + ............... + i^(km) (mod m)
0 <= i < m, k may be very large (up to 100,000,000), m <= 300000
我想要求和。我不能应用几何级数(GP)公式,因为结果将有分母,然后我将不得不找到可能不存在的模逆(如果分母和m不是互质的)。
所以我做了一个替代算法,假设这些幂将使一个长度远小于k的循环(因为它是一个模方程,所以我会得到类似2,7,9,1,2,7,9,1……)这个循环将在上面的系列中重复。因此,我不会从0迭代到k,我