Test |
Method name |
Duration |
Result |
[1000] hide_right, hide_right {
\find(==>b)
\addrules [insert_hidden {
\add []==>[b]
Choices: true}] \replacewith([]==>[])
Choices: true}
|
testEquality(String, String)[1000] |
0s |
passed |
[1001] i_minus_i_is_zero, i_minus_i_is_zero {
\find(sub(i,i))
\replacewith(Z(0(#)))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1001] |
0s |
passed |
[1002] identityCastDouble, identityCastDouble {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (double) #seDouble;
... }\] (post))
\replacewith(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1002] |
0s |
passed |
[1003] identityCastFloat, identityCastFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (float) #seFloat;
... }\] (post))
\replacewith(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1003] |
0s |
passed |
[1004] if, if {
\find(#allmodal ( (modal operator))\[{ ..
if (#se) #s0
... }\] (post))
\replacewith(if-then-else(equals(#se,TRUE),#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post),#allmodal(post)))
Choices: programRules:Java}
|
testEquality(String, String)[1004] |
0s |
passed |
[1005] ifElse, ifElse {
\find(#allmodal ( (modal operator))\[{ ..
if (#se) #s0
else #s1
... }\] (post))
\replacewith(if-then-else(equals(#se,TRUE),#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post),#allmodal ( (modal operator))\[{ ..
#s1
... }\] (post)))
Choices: programRules:Java}
|
testEquality(String, String)[1005] |
0s |
passed |
[1006] ifElseFalse, ifElseFalse {
\assumes ([equals(#se,FALSE)]==>[])
\find(==>#allmodal ( (modal operator))\[{ ..
if (#se) #s0
else #s1
... }\] (post))
\replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#s1
... }\] (post)])
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1006] |
0.001s |
passed |
[1007] ifElseSkipElse, ifElseSkipElse {
\find(#allmodal ( (modal operator))\[{ ..
#loc = true;
if (#loc) #s0
else #s1
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#loc = true;
#s0
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1007] |
0.001s |
passed |
[1008] ifElseSkipElseConditionInBlock, ifElseSkipElseConditionInBlock {
\find(#allmodal ( (modal operator))\[{ ..
{
#loc = true;
}
if (#loc) #s0
else #s1
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#loc = true;
}
#s0
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1008] |
0.002s |
passed |
[1009] ifElseSkipThen, ifElseSkipThen {
\find(#allmodal ( (modal operator))\[{ ..
#loc = false;
if (#loc) #s0
else #s1
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#loc = false;
#s1
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1009] |
0.001s |
passed |
[100] applyEq_or_int3, applyEq_or_int3 {
\find(or(or(b,leq(applyEqLeft,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(or(b,leq(applyEqRight,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[100] |
0.001s |
passed |
[1010] ifElseSkipThenConditionInBlock, ifElseSkipThenConditionInBlock {
\find(#allmodal ( (modal operator))\[{ ..
{
#loc = false;
}
if (#loc) #s0
else #s1
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#loc = false;
}
#s1
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1010] |
0.001s |
passed |
[1011] ifElseSplit, ifElseSplit {
\find(==>#allmodal ( (modal operator))\[{ ..
if (#se) #s0
else #s1
... }\] (post))
\add [equals(#se,FALSE)]==>[] \replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#s1
... }\] (post)]) ;
\add [equals(#se,TRUE)]==>[] \replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post)])
\heuristics(split_if)
Choices: programRules:Java}
|
testEquality(String, String)[1011] |
0.001s |
passed |
[1012] ifElseSplitLeft, ifElseSplitLeft {
\find(#allmodal ( (modal operator))\[{ ..
if (#se) #s0
else #s1
... }\] (post)==>)
\add [equals(#se,FALSE)]==>[] \replacewith([#allmodal ( (modal operator))\[{ ..
#s1
... }\] (post)]==>[]) ;
\add [equals(#se,TRUE)]==>[] \replacewith([#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post)]==>[])
\heuristics(split_if)
Choices: programRules:Java}
|
testEquality(String, String)[1012] |
0.001s |
passed |
[1013] ifElseTrue, ifElseTrue {
\assumes ([equals(#se,TRUE)]==>[])
\find(==>#allmodal ( (modal operator))\[{ ..
if (#se) #s0
else #s1
... }\] (post))
\replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post)])
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1013] |
0.001s |
passed |
[1014] ifElseUnfold, ifElseUnfold {
\find(#allmodal ( (modal operator))\[{ ..
if (#nse) #s0
else #s1
... }\] (post))
\varcond(\new(#boolv (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #boolv;
#boolv = #nse;
if (#boolv) #s0
else {
#s1
}
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1014] |
0s |
passed |
[1015] ifEnterThen, ifEnterThen {
\find(#allmodal ( (modal operator))\[{ ..
#loc = true;
if (#loc) #s0
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#loc = true;
#s0
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1015] |
0s |
passed |
[1016] ifEnterThenConditionInBlock, ifEnterThenConditionInBlock {
\find(#allmodal ( (modal operator))\[{ ..
{
#loc = true;
}
if (#loc) #s0
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#loc = true;
}
#s0
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1016] |
0s |
passed |
[1017] ifEqualsInteger, ifEqualsInteger {
\find(equals(if-then-else(phi,x,y),Z(iz)))
\replacewith(or(and(phi,equals(x,Z(iz))),and(not(phi),equals(y,Z(iz)))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1017] |
0s |
passed |
[1018] ifEqualsNull, ifEqualsNull {
\find(equals(if-then-else(phi,x,y),null))
\replacewith(or(and(phi,equals(x,null)),and(not(phi),equals(y,null))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1018] |
0s |
passed |
[1019] ifEqualsTRUE, ifEqualsTRUE {
\find(equals(if-then-else(phi,x,y),TRUE))
\replacewith(or(and(phi,equals(x,TRUE)),and(not(phi),equals(y,TRUE))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1019] |
0s |
passed |
[101] applyEq_or_int4, applyEq_or_int4 {
\find(or(not(equals(applyEqLeft,applyEqRight)),geq(applyEqLeft,applyEqOther)))
\replacewith(or(not(equals(applyEqLeft,applyEqRight)),geq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[101] |
0.002s |
passed |
[1020] ifExthenelse1_eq, ifExthenelse1_eq {
\find(ifExThenElse{intVar (variable)}(equals(intVar,t),then,else))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(subst{intVar (variable)}(t,then))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1020] |
0s |
passed |
[1021] ifExthenelse1_eq2, ifExthenelse1_eq2 {
\find(ifExThenElse{intVar (variable)}(equals(t,intVar),then,else))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(subst{intVar (variable)}(t,then))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1021] |
0s |
passed |
[1022] ifExthenelse1_eq2_for, ifExthenelse1_eq2_for {
\find(ifExThenElse{intVar (variable)}(equals(t,intVar),b,c))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(subst{intVar (variable)}(t,b))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1022] |
0s |
passed |
[1023] ifExthenelse1_eq2_for_phi, ifExthenelse1_eq2_for_phi {
\find(ifExThenElse{intVar (variable)}(and(phi,equals(t,intVar)),b,c))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(if-then-else(subst{intVar (variable)}(t,phi),subst{intVar (variable)}(t,b),c))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1023] |
0s |
passed |
[1024] ifExthenelse1_eq2_phi, ifExthenelse1_eq2_phi {
\find(ifExThenElse{intVar (variable)}(and(phi,equals(t,intVar)),then,else))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(if-then-else(subst{intVar (variable)}(t,phi),subst{intVar (variable)}(t,then),else))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1024] |
0s |
passed |
[1025] ifExthenelse1_eq_for, ifExthenelse1_eq_for {
\find(ifExThenElse{intVar (variable)}(equals(intVar,t),b,c))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(subst{intVar (variable)}(t,b))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1025] |
0s |
passed |
[1026] ifExthenelse1_eq_for_phi, ifExthenelse1_eq_for_phi {
\find(ifExThenElse{intVar (variable)}(and(phi,equals(intVar,t)),b,c))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(if-then-else(subst{intVar (variable)}(t,phi),subst{intVar (variable)}(t,b),c))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1026] |
0s |
passed |
[1027] ifExthenelse1_eq_phi, ifExthenelse1_eq_phi {
\find(ifExThenElse{intVar (variable)}(and(phi,equals(intVar,t)),then,else))
\varcond(\notFreeIn(intVar (variable), t (int term)))
\replacewith(if-then-else(subst{intVar (variable)}(t,phi),subst{intVar (variable)}(t,then),else))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1027] |
0s |
passed |
[1028] ifExthenelse1_false, ifExthenelse1_false {
\find(ifExThenElse{intVar (variable)}(false,then,else))
\replacewith(else)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1028] |
0s |
passed |
[1029] ifExthenelse1_false_for, ifExthenelse1_false_for {
\find(ifExThenElse{intVar (variable)}(false,b,c))
\replacewith(c)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1029] |
0s |
passed |
[102] applyEq_or_int5, applyEq_or_int5 {
\find(or(or(b,not(equals(applyEqLeft,applyEqRight))),geq(applyEqLeft,applyEqOther)))
\replacewith(or(or(b,not(equals(applyEqLeft,applyEqRight))),geq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[102] |
0.001s |
passed |
[1030] ifExthenelse1_min, ifExthenelse1_min {
\find(ifExThenElse{intVar (variable)}(phi,then,else))
\sameUpdateLevel\varcond(\notFreeIn(intVar (variable), phi (formula)))
\replacewith(if-then-else(phi,subst{intVar (variable)}(Z(0(#)),then),else))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1030] |
0s |
passed |
[1031] ifExthenelse1_min_for, ifExthenelse1_min_for {
\find(ifExThenElse{intVar (variable)}(phi,b,c))
\sameUpdateLevel\varcond(\notFreeIn(intVar (variable), phi (formula)))
\replacewith(if-then-else(phi,subst{intVar (variable)}(Z(0(#)),b),c))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1031] |
0s |
passed |
[1032] ifExthenelse1_solve, ifExthenelse1_solve {
\find(ifExThenElse{intVar (variable)}(phi,then,else))
\sameUpdateLevel\varcond(\notFreeIn(intVar (variable), intValue (int term)))
\add []==>[and(subst{intVar (variable)}(intValue,phi),all{intVar (variable)}(imp(phi,wellOrderLeqInt(intValue,intVar))))] \replacewith(ifExThenElse{intVar (variable)}(phi,then,else)) ;
\replacewith(subst{intVar (variable)}(intValue,then))
Choices: true}
|
testEquality(String, String)[1032] |
0s |
passed |
[1033] ifExthenelse1_solve_for, ifExthenelse1_solve_for {
\find(ifExThenElse{intVar (variable)}(phi,b,c))
\sameUpdateLevel\varcond(\notFreeIn(intVar (variable), intValue (int term)))
\add []==>[and(subst{intVar (variable)}(intValue,phi),all{intVar (variable)}(imp(phi,wellOrderLeqInt(intValue,intVar))))] \replacewith(ifExThenElse{intVar (variable)}(phi,b,c)) ;
\replacewith(subst{intVar (variable)}(intValue,b))
Choices: true}
|
testEquality(String, String)[1033] |
0s |
passed |
[1034] ifExthenelse1_split, ifExthenelse1_split {
\find(ifExThenElse{intVar (variable)}(phi,then,else))
\sameUpdateLevel\varcond(\notFreeIn(intVar (variable), intSk (int skolem term)))
\add []==>[exists{intVar (variable)}(phi)] \replacewith(else) ;
\add [subst{intVar (variable)}(intSk,phi),all{intVar (variable)}(imp(phi,wellOrderLeqInt(intSk,intVar)))]==>[] \replacewith(subst{intVar (variable)}(intSk,then))
\heuristics(split_cond)
Choices: true}
|
testEquality(String, String)[1034] |
0s |
passed |
[1035] ifExthenelse1_split_for, ifExthenelse1_split_for {
\find(ifExThenElse{intVar (variable)}(phi,b,c))
\sameUpdateLevel\varcond(\notFreeIn(intVar (variable), intSk (int skolem term)))
\add []==>[exists{intVar (variable)}(phi)] \replacewith(c) ;
\add [subst{intVar (variable)}(intSk,phi),all{intVar (variable)}(imp(phi,wellOrderLeqInt(intSk,intVar)))]==>[] \replacewith(subst{intVar (variable)}(intSk,b))
\heuristics(split_cond)
Choices: true}
|
testEquality(String, String)[1035] |
0s |
passed |
[1036] ifExthenelse1_unused_var, ifExthenelse1_unused_var {
\find(ifExThenElse{intVar (variable)}(phi,then,else))
\varcond(\notFreeIn(intVar (variable), then (G2 term)))
\replacewith(if-then-else(exists{intVar (variable)}(phi),then,else))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1036] |
0.001s |
passed |
[1037] ifExthenelse1_unused_var_for, ifExthenelse1_unused_var_for {
\find(ifExThenElse{intVar (variable)}(phi,b,c))
\varcond(\notFreeIn(intVar (variable), b (formula)))
\replacewith(if-then-else(exists{intVar (variable)}(phi),b,c))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1037] |
0.001s |
passed |
[1038] ifFalse, ifFalse {
\assumes ([equals(#se,FALSE)]==>[])
\find(==>#allmodal ( (modal operator))\[{ ..
if (#se) #s0
... }\] (post))
\replacewith([]==>[#allmodal(post)])
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1038] |
0.001s |
passed |
[1039] ifSkipThen, ifSkipThen {
\find(#allmodal ( (modal operator))\[{ ..
#loc = false;
if (#loc) #s0
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#loc = false;
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1039] |
0.001s |
passed |
[103] applyEq_or_int6, applyEq_or_int6 {
\find(or(not(equals(applyEqLeft,applyEqRight)),leq(applyEqLeft,applyEqOther)))
\replacewith(or(not(equals(applyEqLeft,applyEqRight)),leq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[103] |
0.001s |
passed |
[1040] ifSkipThenConditionInBlock, ifSkipThenConditionInBlock {
\find(#allmodal ( (modal operator))\[{ ..
{
#loc = false;
}
if (#loc) #s0
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#loc = false;
}
... }\] (post))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1040] |
0.001s |
passed |
[1041] ifSplit, ifSplit {
\find(==>#allmodal ( (modal operator))\[{ ..
if (#se) #s0
... }\] (post))
\add [equals(#se,FALSE)]==>[] \replacewith([]==>[#allmodal(post)]) ;
\add [equals(#se,TRUE)]==>[] \replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post)])
\heuristics(split_if)
Choices: programRules:Java}
|
testEquality(String, String)[1041] |
0.001s |
passed |
[1042] ifSplitLeft, ifSplitLeft {
\find(#allmodal ( (modal operator))\[{ ..
if (#se) #s0
... }\] (post)==>)
\add [equals(#se,FALSE)]==>[] \replacewith([#allmodal(post)]==>[]) ;
\add [equals(#se,TRUE)]==>[] \replacewith([#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post)]==>[])
\heuristics(split_if)
Choices: programRules:Java}
|
testEquality(String, String)[1042] |
0.001s |
passed |
[1043] ifTrue, ifTrue {
\assumes ([equals(#se,TRUE)]==>[])
\find(==>#allmodal ( (modal operator))\[{ ..
if (#se) #s0
... }\] (post))
\replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#s0
... }\] (post)])
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1043] |
0.001s |
passed |
[1044] ifUnfold, ifUnfold {
\find(#allmodal ( (modal operator))\[{ ..
if (#nse) #s0
... }\] (post))
\varcond(\new(#boolv (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #boolv;
#boolv = #nse;
if (#boolv) #s0
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1044] |
0.018s |
passed |
[1045] ifthenelse_concrete, ifthenelse_concrete {
\find(if-then-else(phi,true,false))
\replacewith(phi)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1045] |
0.003s |
passed |
[1046] ifthenelse_concrete2, ifthenelse_concrete2 {
\find(if-then-else(phi,false,true))
\replacewith(not(phi))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1046] |
0.001s |
passed |
[1047] ifthenelse_concrete3, ifthenelse_concrete3 {
\find(equals(if-then-else(phi,then,else),then))
\replacewith(or(phi,equals(else,then)))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1047] |
0.001s |
passed |
[1048] ifthenelse_concrete4, ifthenelse_concrete4 {
\find(equals(if-then-else(phi,then,else),else))
\replacewith(or(not(phi),equals(then,else)))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1048] |
0.001s |
passed |
[1049] ifthenelse_equals, ifthenelse_equals {
\find(equals(if-then-else(b,TRUE,FALSE),if-then-else(c,TRUE,FALSE)))
\replacewith(equiv(b,c))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1049] |
0.001s |
passed |
[104] applyEq_or_int7, applyEq_or_int7 {
\find(or(or(b,not(equals(applyEqLeft,applyEqRight))),leq(applyEqLeft,applyEqOther)))
\replacewith(or(or(b,not(equals(applyEqLeft,applyEqRight))),leq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[104] |
0.001s |
passed |
[1050] ifthenelse_equals_1, ifthenelse_equals_1 {
\find(equals(if-then-else(b,TRUE,FALSE),c))
\replacewith(equiv(b,equals(c,TRUE)))
Choices: true}
|
testEquality(String, String)[1050] |
0.001s |
passed |
[1051] ifthenelse_equals_2, ifthenelse_equals_2 {
\find(equals(b,if-then-else(c,TRUE,FALSE)))
\replacewith(equiv(equals(b,TRUE),c))
Choices: true}
|
testEquality(String, String)[1051] |
0.001s |
passed |
[1052] ifthenelse_false, ifthenelse_false {
\find(if-then-else(false,then,else))
\replacewith(else)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1052] |
0s |
passed |
[1053] ifthenelse_false_for, ifthenelse_false_for {
\find(if-then-else(false,b,c))
\replacewith(c)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1053] |
0s |
passed |
[1054] ifthenelse_negated, ifthenelse_negated {
\find(if-then-else(not(phi),then,else))
\replacewith(if-then-else(phi,else,then))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1054] |
0.001s |
passed |
[1055] ifthenelse_negated_for, ifthenelse_negated_for {
\find(if-then-else(not(phi),b,c))
\replacewith(if-then-else(phi,c,b))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1055] |
0.001s |
passed |
[1056] ifthenelse_same_branches, ifthenelse_same_branches {
\find(if-then-else(phi,then,then))
\replacewith(then)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1056] |
0.001s |
passed |
[1057] ifthenelse_same_branches_for, ifthenelse_same_branches_for {
\find(if-then-else(phi,b,b))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1057] |
0.001s |
passed |
[1058] ifthenelse_split, ifthenelse_split {
\find(if-then-else(phi,then,else))
\sameUpdateLevel\add []==>[phi] \replacewith(else) ;
\add [phi]==>[] \replacewith(then)
\heuristics(split_cond)
Choices: true}
|
testEquality(String, String)[1058] |
0.001s |
passed |
[1059] ifthenelse_split_for, ifthenelse_split_for {
\find(if-then-else(phi,b,c))
\sameUpdateLevel\add []==>[phi] \replacewith(c) ;
\add [phi]==>[] \replacewith(b)
\heuristics(split_cond)
Choices: true}
|
testEquality(String, String)[1059] |
0.001s |
passed |
[105] applyOnElementary, applyOnElementary {
\find(update-application(u,elem-update(#pv (program Variable))(t)))
\replacewith(elem-update(#pv (program Variable))(update-application(u,t)))
\heuristics(update_apply_on_update)
Choices: true}
|
testEquality(String, String)[105] |
0.002s |
passed |
[1060] ifthenelse_to_or_for, ifthenelse_to_or_for {
\find(if-then-else(phi,b,c))
\replacewith(and(or(not(phi),b),or(phi,c)))
\heuristics(notHumanReadable, cnf_expandIfThenElse, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1060] |
0.004s |
passed |
[1061] ifthenelse_to_or_for2, ifthenelse_to_or_for2 {
\find(not(if-then-else(phi,b,c)))
\replacewith(and(or(not(phi),not(b)),or(phi,not(c))))
\heuristics(notHumanReadable, cnf_expandIfThenElse, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1061] |
0.001s |
passed |
[1062] ifthenelse_to_or_left, ifthenelse_to_or_left {
\find(equals(if-then-else(phi,then,else),t))
\replacewith(and(or(not(phi),equals(then,t)),or(phi,equals(else,t))))
\heuristics(notHumanReadable, cnf_expandIfThenElse, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1062] |
0.001s |
passed |
[1063] ifthenelse_to_or_left2, ifthenelse_to_or_left2 {
\find(not(equals(if-then-else(phi,then,else),t)))
\replacewith(and(or(not(phi),not(equals(then,t))),or(phi,not(equals(else,t)))))
\heuristics(notHumanReadable, cnf_expandIfThenElse, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1063] |
0.001s |
passed |
[1064] ifthenelse_to_or_right, ifthenelse_to_or_right {
\find(equals(t,if-then-else(phi,then,else)))
\replacewith(and(or(not(phi),equals(t,then)),or(phi,equals(t,else))))
\heuristics(notHumanReadable, cnf_expandIfThenElse, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1064] |
0.001s |
passed |
[1065] ifthenelse_to_or_right2, ifthenelse_to_or_right2 {
\find(not(equals(t,if-then-else(phi,then,else))))
\replacewith(and(or(not(phi),not(equals(t,then))),or(phi,not(equals(t,else)))))
\heuristics(notHumanReadable, cnf_expandIfThenElse, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1065] |
0.001s |
passed |
[1066] ifthenelse_true, ifthenelse_true {
\find(if-then-else(true,then,else))
\replacewith(then)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1066] |
0.001s |
passed |
[1067] ifthenelse_true_for, ifthenelse_true_for {
\find(if-then-else(true,b,c))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1067] |
0.001s |
passed |
[1068] impLeft, impLeft {
\find(imp(b,c)==>)
\replacewith([c]==>[]) ;
\replacewith([]==>[b])
\heuristics(beta)
Choices: true}
|
testEquality(String, String)[1068] |
0.001s |
passed |
[1069] impRight, impRight {
\find(==>imp(b,c))
\replacewith([b]==>[c])
\heuristics(alpha)
Choices: true}
|
testEquality(String, String)[1069] |
0.001s |
passed |
[106] applyOnPV, applyOnPV {
\find(update-application(elem-update(#pv (program Variable))(t),#pv))
\replacewith(t)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[106] |
0.002s |
passed |
[1070] inByte, inByte {
\find(inByte(i))
\replacewith(true)
\heuristics(concrete)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1070] |
0.001s |
passed |
[1071] inChar, inChar {
\find(inChar(i))
\replacewith(true)
\heuristics(concrete)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1071] |
0.001s |
passed |
[1072] inDomainConcrete, inDomainConcrete {
\assumes ([]==>[equals(mapUndef,y)])
\find(equals(mapGet(m,x),y)==>)
\add [inDomain(m,x)]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1072] |
0.001s |
passed |
[1073] inDomainOfMapEmpty, inDomainOfMapEmpty {
\find(inDomain(mapEmpty,x))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1073] |
0.001s |
passed |
[1074] inDomainOfMapForeach, inDomainOfMapForeach {
\find(inDomain(mapForeach{v (variable)}(b,y),x))
\replacewith(and(equals(subst{v (variable)}(alpha::cast(x),b),TRUE),equals(alpha::instance(x),TRUE)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1074] |
0.001s |
passed |
[1075] inDomainOfMapOverride, inDomainOfMapOverride {
\find(inDomain(mapOverride(m0,m1),x))
\replacewith(or(inDomain(m0,x),inDomain(m1,x)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1075] |
0.001s |
passed |
[1076] inDomainOfMapRemove, inDomainOfMapRemove {
\find(inDomain(mapRemove(m,key),x))
\replacewith(and(inDomain(m,x),not(equals(x,key))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1076] |
0.001s |
passed |
[1077] inDomainOfMapSingleton, inDomainOfMapSingleton {
\find(inDomain(mapSingleton(x,y),z))
\replacewith(equals(x,z))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1077] |
0s |
passed |
[1078] inDomainOfMapUpdate, inDomainOfMapUpdate {
\find(inDomain(mapUpdate(m,key,value),x))
\replacewith(or(inDomain(m,x),equals(x,key)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1078] |
0s |
passed |
[1079] inDomainOfSeq2Map, inDomainOfSeq2Map {
\find(inDomain(seq2map(s),x))
\replacewith(and(and(equals(int::instance(x),TRUE),leq(Z(0(#)),int::cast(x))),lt(int::cast(x),seqLen(s))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1079] |
0.001s |
passed |
[107] applyOnParallel, applyOnParallel {
\find(update-application(u,parallel-upd(u2,u3)))
\replacewith(parallel-upd(update-application(u,u2),update-application(u,u3)))
\heuristics(update_apply_on_update)
Choices: true}
|
testEquality(String, String)[107] |
0.002s |
passed |
[1080] inEqSimp_and_antiSymm0, inEqSimp_and_antiSymm0 {
\find(and(leq(i,i0),geq(i,i0)))
\replacewith(equals(i,i0))
\heuristics(inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1080] |
0.009s |
passed |
[1081] inEqSimp_and_antiSymm1, inEqSimp_and_antiSymm1 {
\find(and(and(b,leq(i,i0)),geq(i,i0)))
\replacewith(and(b,equals(i,i0)))
\heuristics(inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1081] |
0.001s |
passed |
[1082] inEqSimp_and_contradInEq0, inEqSimp_and_contradInEq0 {
\find(and(leq(contradLeft,contradRightSmaller),geq(contradLeft,contradRightBigger)))
\replacewith(and(and(leq(contradLeft,contradRightSmaller),geq(contradLeft,contradRightBigger)),geq(contradRightSmaller,contradRightBigger)))
\heuristics(notHumanReadable, inEqSimp_and_contradInEqs, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1082] |
0.001s |
passed |
[1083] inEqSimp_and_contradInEq1, inEqSimp_and_contradInEq1 {
\find(and(and(b,leq(contradLeft,contradRightSmaller)),geq(contradLeft,contradRightBigger)))
\replacewith(and(and(and(b,leq(contradLeft,contradRightSmaller)),geq(contradLeft,contradRightBigger)),geq(contradRightSmaller,contradRightBigger)))
\heuristics(notHumanReadable, inEqSimp_and_contradInEqs, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1083] |
0.007s |
passed |
[1084] inEqSimp_and_strengthen0, inEqSimp_and_strengthen0 {
\find(and(leq(strengthenLeft,strengthenRight),not(equals(strengthenLeft,strengthenRight))))
\replacewith(leq(strengthenLeft,add(Z(neglit(1(#))),strengthenRight)))
\heuristics(notHumanReadable, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1084] |
0s |
passed |
[1085] inEqSimp_and_strengthen1, inEqSimp_and_strengthen1 {
\find(and(geq(strengthenLeft,strengthenRight),not(equals(strengthenLeft,strengthenRight))))
\replacewith(geq(strengthenLeft,add(Z(1(#)),strengthenRight)))
\heuristics(notHumanReadable, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1085] |
0s |
passed |
[1086] inEqSimp_and_strengthen2, inEqSimp_and_strengthen2 {
\find(and(and(b,leq(strengthenLeft,strengthenRight)),not(equals(strengthenLeft,strengthenRight))))
\replacewith(and(b,leq(strengthenLeft,add(Z(neglit(1(#))),strengthenRight))))
\heuristics(notHumanReadable, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1086] |
0.001s |
passed |
[1087] inEqSimp_and_strengthen3, inEqSimp_and_strengthen3 {
\find(and(and(b,geq(strengthenLeft,strengthenRight)),not(equals(strengthenLeft,strengthenRight))))
\replacewith(and(b,geq(strengthenLeft,add(Z(1(#)),strengthenRight))))
\heuristics(notHumanReadable, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1087] |
0.001s |
passed |
[1088] inEqSimp_and_subsumption0, inEqSimp_and_subsumption0 {
\find(and(leq(subsumLeft,subsumRightSmaller),leq(subsumLeft,subsumRightBigger)))
\replacewith(and(leq(subsumLeft,subsumRightSmaller),or(leq(subsumRightSmaller,subsumRightBigger),leq(subsumLeft,subsumRightBigger))))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1088] |
0s |
passed |
[1089] inEqSimp_and_subsumption1, inEqSimp_and_subsumption1 {
\find(and(and(b,leq(subsumLeft,subsumRightSmaller)),leq(subsumLeft,subsumRightBigger)))
\replacewith(and(and(b,leq(subsumLeft,subsumRightSmaller)),or(leq(subsumRightSmaller,subsumRightBigger),leq(subsumLeft,subsumRightBigger))))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1089] |
0s |
passed |
[108] applyOnRigidFormula, applyOnRigidFormula {
\find(update-application(u,phi))
\varcond(\applyUpdateOnRigid(u (update), phi (formula), result (formula)), )
\replacewith(result)
\heuristics(update_apply)
Choices: true}
|
testEquality(String, String)[108] |
0.010s |
passed |
[1090] inEqSimp_and_subsumption2, inEqSimp_and_subsumption2 {
\find(and(geq(subsumLeft,subsumRightSmaller),geq(subsumLeft,subsumRightBigger)))
\replacewith(and(or(leq(subsumRightSmaller,subsumRightBigger),geq(subsumLeft,subsumRightSmaller)),geq(subsumLeft,subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1090] |
0.001s |
passed |
[1091] inEqSimp_and_subsumption3, inEqSimp_and_subsumption3 {
\find(and(and(b,geq(subsumLeft,subsumRightSmaller)),geq(subsumLeft,subsumRightBigger)))
\replacewith(and(and(b,or(leq(subsumRightSmaller,subsumRightBigger),geq(subsumLeft,subsumRightSmaller))),geq(subsumLeft,subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1091] |
0.001s |
passed |
[1092] inEqSimp_and_subsumption4, inEqSimp_and_subsumption4 {
\find(and(leq(subsumLeft,subsumRightSmaller),not(equals(subsumLeft,subsumRightBigger))))
\replacewith(and(leq(subsumLeft,subsumRightSmaller),or(lt(subsumRightSmaller,subsumRightBigger),not(equals(subsumLeft,subsumRightBigger)))))
\heuristics(notHumanReadable, inEqSimp_and_subsumptionEq, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1092] |
0.001s |
passed |
[1093] inEqSimp_and_subsumption5, inEqSimp_and_subsumption5 {
\find(and(and(b,leq(subsumLeft,subsumRightSmaller)),not(equals(subsumLeft,subsumRightBigger))))
\replacewith(and(and(b,leq(subsumLeft,subsumRightSmaller)),or(lt(subsumRightSmaller,subsumRightBigger),not(equals(subsumLeft,subsumRightBigger)))))
\heuristics(notHumanReadable, inEqSimp_and_subsumptionEq, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1093] |
0.001s |
passed |
[1094] inEqSimp_and_subsumption6, inEqSimp_and_subsumption6 {
\find(and(geq(subsumLeft,subsumRightBigger),not(equals(subsumLeft,subsumRightSmaller))))
\replacewith(and(geq(subsumLeft,subsumRightBigger),or(lt(subsumRightSmaller,subsumRightBigger),not(equals(subsumLeft,subsumRightSmaller)))))
\heuristics(notHumanReadable, inEqSimp_and_subsumptionEq, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1094] |
0.001s |
passed |
[1095] inEqSimp_and_subsumption7, inEqSimp_and_subsumption7 {
\find(and(and(b,geq(subsumLeft,subsumRightBigger)),not(equals(subsumLeft,subsumRightSmaller))))
\replacewith(and(and(b,geq(subsumLeft,subsumRightBigger)),or(lt(subsumRightSmaller,subsumRightBigger),not(equals(subsumLeft,subsumRightSmaller)))))
\heuristics(notHumanReadable, inEqSimp_and_subsumptionEq, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1095] |
0.001s |
passed |
[1096] inEqSimp_antiSymm, inEqSimp_antiSymm {
\assumes ([leq(i,i0)]==>[])
\find(geq(i,i0)==>)
\add [equals(i,i0)]==>[]
\heuristics(inEqSimp_antiSymm, inEqSimp_saturate)
Choices: true}
|
testEquality(String, String)[1096] |
0.001s |
passed |
[1097] inEqSimp_commuteGeq, inEqSimp_commuteGeq {
\find(geq(commLeft,commRight))
\replacewith(leq(commRight,commLeft))
\heuristics(inEqSimp_commute, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1097] |
0.001s |
passed |
[1098] inEqSimp_commuteLeq, inEqSimp_commuteLeq {
\find(leq(commLeft,commRight))
\replacewith(geq(commRight,commLeft))
\heuristics(inEqSimp_commute, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1098] |
0.001s |
passed |
[1099] inEqSimp_contradEq3, inEqSimp_contradEq3 {
\assumes ([leq(contradLeft,contradRightSmaller)]==>[])
\find(equals(contradLeft,contradRightBigger))
\sameUpdateLevel\replacewith(and(geq(add(contradRightSmaller,mul(Z(neglit(1(#))),contradRightBigger)),Z(0(#))),equals(contradLeft,contradRightBigger)))
\heuristics(notHumanReadable, inEqSimp_contradEqs, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1099] |
0.004s |
passed |
[109] applyOnRigidTerm, applyOnRigidTerm {
\find(update-application(u,t))
\varcond(\applyUpdateOnRigid(u (update), t (any term), result (any term)), )
\replacewith(result)
\heuristics(update_apply)
Choices: true}
|
testEquality(String, String)[109] |
0.002s |
passed |
[10] activeUseBitwiseOr, activeUseBitwiseOr {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left | #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left | #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[10] |
0.002s |
passed |
[1100] inEqSimp_contradEq7, inEqSimp_contradEq7 {
\assumes ([geq(contradLeft,contradRightBigger)]==>[])
\find(equals(contradLeft,contradRightSmaller))
\sameUpdateLevel\replacewith(and(leq(add(contradRightBigger,mul(Z(neglit(1(#))),contradRightSmaller)),Z(0(#))),equals(contradLeft,contradRightSmaller)))
\heuristics(notHumanReadable, inEqSimp_contradEqs, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1100] |
0.001s |
passed |
[1101] inEqSimp_contradInEq0, inEqSimp_contradInEq0 {
\assumes ([leq(contradLeft,contradRightSmaller)]==>[])
\find(geq(contradLeft,contradRightBigger))
\sameUpdateLevel\replacewith(and(geq(contradRightSmaller,contradRightBigger),geq(contradLeft,contradRightBigger)))
\heuristics(notHumanReadable, inEqSimp_contradInEqs, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1101] |
0s |
passed |
[1102] inEqSimp_contradInEq1, inEqSimp_contradInEq1 {
\assumes ([geq(contradLeft,contradRightBigger)]==>[])
\find(leq(contradLeft,contradRightSmaller))
\sameUpdateLevel\replacewith(and(geq(contradRightSmaller,contradRightBigger),leq(contradLeft,contradRightSmaller)))
\heuristics(notHumanReadable, inEqSimp_contradInEqs, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1102] |
0s |
passed |
[1103] inEqSimp_contradInEq2, inEqSimp_contradInEq2 {
\assumes ([leq(mul(contradLeft,contradCoeffSmaller),contradRightSmaller)]==>[])
\find(geq(mul(contradLeft,contradCoeffBigger),contradRightBigger))
\sameUpdateLevel\replacewith(and(imp(gt(contradCoeffSmaller,Z(0(#))),imp(gt(contradCoeffBigger,Z(0(#))),geq(mul(contradCoeffBigger,contradRightSmaller),mul(contradCoeffSmaller,contradRightBigger)))),geq(mul(contradLeft,contradCoeffBigger),contradRightBigger)))
\heuristics(notHumanReadable, inEqSimp_contradInEqs, inEqSimp_propagation)
Ch… |
testEquality(String, String)[1103] |
0.001s |
passed |
[1104] inEqSimp_contradInEq3, inEqSimp_contradInEq3 {
\assumes ([leq(contradLeft,contradRightSmaller)]==>[])
\find(geq(mul(contradLeft,contradCoeffBigger),contradRightBigger))
\sameUpdateLevel\replacewith(and(imp(gt(contradCoeffBigger,Z(0(#))),geq(mul(contradCoeffBigger,contradRightSmaller),contradRightBigger)),geq(mul(contradLeft,contradCoeffBigger),contradRightBigger)))
\heuristics(notHumanReadable, inEqSimp_contradInEqs, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1104] |
0s |
passed |
[1105] inEqSimp_contradInEq4, inEqSimp_contradInEq4 {
\assumes ([geq(mul(contradLeft,contradCoeffBigger),contradRightBigger)]==>[])
\find(leq(mul(contradLeft,contradCoeffSmaller),contradRightSmaller))
\sameUpdateLevel\replacewith(and(imp(gt(contradCoeffSmaller,Z(0(#))),imp(gt(contradCoeffBigger,Z(0(#))),geq(mul(contradCoeffBigger,contradRightSmaller),mul(contradCoeffSmaller,contradRightBigger)))),leq(mul(contradLeft,contradCoeffSmaller),contradRightSmaller)))
\heuristics(notHumanReadable, inEqSimp_contradInEqs, inEqSimp_propagation)
… |
testEquality(String, String)[1105] |
0.001s |
passed |
[1106] inEqSimp_contradInEq5, inEqSimp_contradInEq5 {
\assumes ([geq(contradLeft,contradRightBigger)]==>[])
\find(leq(mul(contradLeft,contradCoeffSmaller),contradRightSmaller))
\sameUpdateLevel\replacewith(and(imp(gt(contradCoeffSmaller,Z(0(#))),geq(contradRightSmaller,mul(contradCoeffSmaller,contradRightBigger))),leq(mul(contradLeft,contradCoeffSmaller),contradRightSmaller)))
\heuristics(notHumanReadable, inEqSimp_contradInEqs, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1106] |
0s |
passed |
[1107] inEqSimp_exactShadow0, inEqSimp_exactShadow0 {
\assumes ([leq(mul(esLeft,esCoeff1),esRight1)]==>[])
\find(geq(mul(esLeft,esCoeff2),esRight2)==>)
\add [imp(and(gt(esCoeff1,Z(0(#))),gt(esCoeff2,Z(0(#)))),geq(add(mul(Z(neglit(1(#))),mul(esCoeff1,esRight2)),mul(esCoeff2,esRight1)),Z(0(#))))]==>[]
\heuristics(notHumanReadable, inEqSimp_exactShadow, inEqSimp_saturate)
Choices: true}
|
testEquality(String, String)[1107] |
0s |
passed |
[1108] inEqSimp_exactShadow1, inEqSimp_exactShadow1 {
\assumes ([leq(esLeft,esRight1)]==>[])
\find(geq(mul(esLeft,esCoeff2),esRight2)==>)
\add [imp(gt(esCoeff2,Z(0(#))),geq(add(mul(Z(neglit(1(#))),esRight2),mul(esCoeff2,esRight1)),Z(0(#))))]==>[]
\heuristics(notHumanReadable, inEqSimp_exactShadow, inEqSimp_saturate)
Choices: true}
|
testEquality(String, String)[1108] |
0s |
passed |
[1109] inEqSimp_exactShadow2, inEqSimp_exactShadow2 {
\assumes ([leq(mul(esLeft,esCoeff1),esRight1)]==>[])
\find(geq(esLeft,esRight2)==>)
\add [imp(gt(esCoeff1,Z(0(#))),geq(add(mul(Z(neglit(1(#))),mul(esCoeff1,esRight2)),esRight1),Z(0(#))))]==>[]
\heuristics(notHumanReadable, inEqSimp_exactShadow, inEqSimp_saturate)
Choices: true}
|
testEquality(String, String)[1109] |
0s |
passed |
[110] applyOnSkip, applyOnSkip {
\find(update-application(u,skip))
\replacewith(skip)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[110] |
0.001s |
passed |
[1110] inEqSimp_exactShadow3, inEqSimp_exactShadow3 {
\assumes ([leq(esLeft,esRight1)]==>[])
\find(geq(esLeft,esRight2)==>)
\add [geq(add(mul(Z(neglit(1(#))),esRight2),esRight1),Z(0(#)))]==>[]
\heuristics(notHumanReadable, inEqSimp_exactShadow, inEqSimp_saturate)
Choices: true}
|
testEquality(String, String)[1110] |
0.001s |
passed |
[1111] inEqSimp_geqRight, inEqSimp_geqRight {
\find(==>geq(i,i0))
\replacewith([leq(add(add(Z(1(#)),mul(Z(neglit(1(#))),i0)),i),Z(0(#)))]==>[])
\heuristics(notHumanReadable, inEqSimp_moveLeft, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1111] |
0s |
passed |
[1112] inEqSimp_gtRight, inEqSimp_gtRight {
\find(==>gt(i,i0))
\replacewith([leq(add(mul(Z(neglit(1(#))),i0),i),Z(0(#)))]==>[])
\heuristics(notHumanReadable, inEqSimp_moveLeft, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1112] |
0.001s |
passed |
[1113] inEqSimp_gtToGeq, inEqSimp_gtToGeq {
\find(gt(i,i0))
\replacewith(geq(add(add(Z(neglit(1(#))),mul(Z(neglit(1(#))),i0)),i),Z(0(#))))
\heuristics(notHumanReadable, inEqSimp_makeNonStrict, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1113] |
0s |
passed |
[1114] inEqSimp_homoInEq0, inEqSimp_homoInEq0 {
\find(leq(homoLeft,homoRight))
\replacewith(geq(add(homoRight,mul(homoLeft,Z(neglit(1(#))))),Z(0(#))))
\heuristics(notHumanReadable, inEqSimp_homo, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1114] |
0s |
passed |
[1115] inEqSimp_homoInEq1, inEqSimp_homoInEq1 {
\find(geq(homoLeft,homoRight))
\replacewith(leq(add(homoRight,mul(homoLeft,Z(neglit(1(#))))),Z(0(#))))
\heuristics(notHumanReadable, inEqSimp_homo, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1115] |
0s |
passed |
[1116] inEqSimp_invertInEq0, inEqSimp_invertInEq0 {
\find(leq(invertLeft,invertRight))
\replacewith(geq(mul(invertLeft,Z(neglit(1(#)))),mul(invertRight,Z(neglit(1(#))))))
\heuristics(notHumanReadable, inEqSimp_normalise, inEqSimp_directInEquations)
Choices: true}
|
testEquality(String, String)[1116] |
0.001s |
passed |
[1117] inEqSimp_invertInEq1, inEqSimp_invertInEq1 {
\find(geq(invertLeft,invertRight))
\replacewith(leq(mul(invertLeft,Z(neglit(1(#)))),mul(invertRight,Z(neglit(1(#))))))
\heuristics(notHumanReadable, inEqSimp_normalise, inEqSimp_directInEquations)
Choices: true}
|
testEquality(String, String)[1117] |
0s |
passed |
[1118] inEqSimp_leqRight, inEqSimp_leqRight {
\find(==>leq(i,i0))
\replacewith([geq(add(add(Z(neglit(1(#))),mul(Z(neglit(1(#))),i0)),i),Z(0(#)))]==>[])
\heuristics(notHumanReadable, inEqSimp_moveLeft, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1118] |
0.001s |
passed |
[1119] inEqSimp_ltRight, inEqSimp_ltRight {
\find(==>lt(i,i0))
\replacewith([geq(add(mul(Z(neglit(1(#))),i0),i),Z(0(#)))]==>[])
\heuristics(notHumanReadable, inEqSimp_moveLeft, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1119] |
0s |
passed |
[111] applySkip1, applySkip1 {
\find(update-application(skip,t))
\replacewith(t)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[111] |
0.001s |
passed |
[1120] inEqSimp_ltToLeq, inEqSimp_ltToLeq {
\find(lt(i,i0))
\replacewith(leq(add(add(Z(1(#)),mul(Z(neglit(1(#))),i0)),i),Z(0(#))))
\heuristics(notHumanReadable, inEqSimp_makeNonStrict, inEqSimp_expand)
Choices: true}
|
testEquality(String, String)[1120] |
0s |
passed |
[1121] inEqSimp_notGeq, inEqSimp_notGeq {
\find(not(geq(i,i0)))
\replacewith(leq(add(add(Z(1(#)),mul(Z(neglit(1(#))),i0)),i),Z(0(#))))
\heuristics(notHumanReadable, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1121] |
0s |
passed |
[1122] inEqSimp_notLeq, inEqSimp_notLeq {
\find(not(leq(i,i0)))
\replacewith(geq(add(add(Z(neglit(1(#))),mul(Z(neglit(1(#))),i0)),i),Z(0(#))))
\heuristics(notHumanReadable, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1122] |
0s |
passed |
[1123] inEqSimp_or_antiSymm0, inEqSimp_or_antiSymm0 {
\find(or(leq(antiSymmLeft,antiSymmRightSmaller),geq(antiSymmLeft,antiSymmRightBigger)))
\replacewith(if-then-else(equals(add(Z(2(#)),antiSymmRightSmaller),antiSymmRightBigger),not(equals(antiSymmLeft,add(Z(1(#)),antiSymmRightSmaller))),or(leq(antiSymmLeft,antiSymmRightSmaller),geq(antiSymmLeft,antiSymmRightBigger))))
\heuristics(notHumanReadable, inEqSimp_or_antiSymm, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1123] |
0.001s |
passed |
[1124] inEqSimp_or_antiSymm1, inEqSimp_or_antiSymm1 {
\find(or(or(b,leq(antiSymmLeft,antiSymmRightSmaller)),geq(antiSymmLeft,antiSymmRightBigger)))
\replacewith(or(b,if-then-else(equals(add(Z(2(#)),antiSymmRightSmaller),antiSymmRightBigger),not(equals(antiSymmLeft,add(Z(1(#)),antiSymmRightSmaller))),or(leq(antiSymmLeft,antiSymmRightSmaller),geq(antiSymmLeft,antiSymmRightBigger)))))
\heuristics(notHumanReadable, inEqSimp_or_antiSymm, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1124] |
0s |
passed |
[1125] inEqSimp_or_subsumption0, inEqSimp_or_subsumption0 {
\find(or(leq(subsumLeft,subsumRightSmaller),leq(subsumLeft,subsumRightBigger)))
\replacewith(or(and(geq(subsumRightSmaller,subsumRightBigger),leq(subsumLeft,subsumRightSmaller)),leq(subsumLeft,subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1125] |
0.001s |
passed |
[1126] inEqSimp_or_subsumption1, inEqSimp_or_subsumption1 {
\find(or(or(b,leq(subsumLeft,subsumRightSmaller)),leq(subsumLeft,subsumRightBigger)))
\replacewith(or(or(b,and(geq(subsumRightSmaller,subsumRightBigger),leq(subsumLeft,subsumRightSmaller))),leq(subsumLeft,subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1126] |
0s |
passed |
[1127] inEqSimp_or_subsumption2, inEqSimp_or_subsumption2 {
\find(or(geq(subsumLeft,subsumRightSmaller),geq(subsumLeft,subsumRightBigger)))
\replacewith(or(geq(subsumLeft,subsumRightSmaller),and(geq(subsumRightSmaller,subsumRightBigger),geq(subsumLeft,subsumRightBigger))))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1127] |
0s |
passed |
[1128] inEqSimp_or_subsumption3, inEqSimp_or_subsumption3 {
\find(or(or(b,geq(subsumLeft,subsumRightSmaller)),geq(subsumLeft,subsumRightBigger)))
\replacewith(or(or(b,geq(subsumLeft,subsumRightSmaller)),and(geq(subsumRightSmaller,subsumRightBigger),geq(subsumLeft,subsumRightBigger))))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1128] |
0s |
passed |
[1129] inEqSimp_or_subsumption4, inEqSimp_or_subsumption4 {
\find(or(equals(subsumLeft,subsumRightSmaller),leq(subsumLeft,subsumRightBigger)))
\replacewith(or(and(gt(subsumRightSmaller,subsumRightBigger),equals(subsumLeft,subsumRightSmaller)),leq(subsumLeft,subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1129] |
0s |
passed |
[112] applySkip2, applySkip2 {
\find(update-application(skip,phi))
\replacewith(phi)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[112] |
0.002s |
passed |
[1130] inEqSimp_or_subsumption5, inEqSimp_or_subsumption5 {
\find(or(or(b,equals(subsumLeft,subsumRightSmaller)),leq(subsumLeft,subsumRightBigger)))
\replacewith(or(or(b,and(gt(subsumRightSmaller,subsumRightBigger),equals(subsumLeft,subsumRightSmaller))),leq(subsumLeft,subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1130] |
0.001s |
passed |
[1131] inEqSimp_or_subsumption6, inEqSimp_or_subsumption6 {
\find(or(geq(subsumLeft,subsumRightSmaller),equals(subsumLeft,subsumRightBigger)))
\replacewith(or(geq(subsumLeft,subsumRightSmaller),and(gt(subsumRightSmaller,subsumRightBigger),equals(subsumLeft,subsumRightBigger))))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1131] |
0s |
passed |
[1132] inEqSimp_or_subsumption7, inEqSimp_or_subsumption7 {
\find(or(or(b,geq(subsumLeft,subsumRightSmaller)),equals(subsumLeft,subsumRightBigger)))
\replacewith(or(or(b,geq(subsumLeft,subsumRightSmaller)),and(gt(subsumRightSmaller,subsumRightBigger),equals(subsumLeft,subsumRightBigger))))
\heuristics(notHumanReadable, inEqSimp_andOr_subsumption, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1132] |
0s |
passed |
[1133] inEqSimp_or_tautInEq0, inEqSimp_or_tautInEq0 {
\find(or(leq(tautLeft,tautRightBigger),geq(tautLeft,tautRightSmaller)))
\replacewith(or(or(leq(tautLeft,tautRightBigger),geq(tautLeft,tautRightSmaller)),geq(tautRightBigger,add(Z(neglit(1(#))),tautRightSmaller))))
\heuristics(notHumanReadable, inEqSimp_or_tautInEqs, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1133] |
0.001s |
passed |
[1134] inEqSimp_or_tautInEq1, inEqSimp_or_tautInEq1 {
\find(or(or(b,leq(tautLeft,tautRightBigger)),geq(tautLeft,tautRightSmaller)))
\replacewith(or(or(or(b,leq(tautLeft,tautRightBigger)),geq(tautLeft,tautRightSmaller)),geq(tautRightBigger,add(Z(neglit(1(#))),tautRightSmaller))))
\heuristics(notHumanReadable, inEqSimp_or_tautInEqs, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1134] |
0s |
passed |
[1135] inEqSimp_or_tautInEq2, inEqSimp_or_tautInEq2 {
\find(or(geq(tautLeft,tautRightSmaller),leq(tautLeft,tautRightBigger)))
\replacewith(or(or(geq(tautLeft,tautRightSmaller),leq(tautLeft,tautRightBigger)),geq(tautRightBigger,add(Z(neglit(1(#))),tautRightSmaller))))
\heuristics(notHumanReadable, inEqSimp_or_tautInEqs, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1135] |
0.001s |
passed |
[1136] inEqSimp_or_tautInEq3, inEqSimp_or_tautInEq3 {
\find(or(or(b,geq(tautLeft,tautRightSmaller)),leq(tautLeft,tautRightBigger)))
\replacewith(or(or(or(b,geq(tautLeft,tautRightSmaller)),leq(tautLeft,tautRightBigger)),geq(tautRightBigger,add(Z(neglit(1(#))),tautRightSmaller))))
\heuristics(notHumanReadable, inEqSimp_or_tautInEqs, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1136] |
0s |
passed |
[1137] inEqSimp_or_weaken0, inEqSimp_or_weaken0 {
\find(or(leq(weakenLeft,weakenRightSmaller),equals(weakenLeft,weakenRightBigger)))
\replacewith(if-then-else(equals(weakenRightBigger,add(Z(1(#)),weakenRightSmaller)),leq(weakenLeft,weakenRightBigger),or(leq(weakenLeft,weakenRightSmaller),equals(weakenLeft,weakenRightBigger))))
\heuristics(notHumanReadable, inEqSimp_or_weaken, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1137] |
0.001s |
passed |
[1138] inEqSimp_or_weaken1, inEqSimp_or_weaken1 {
\find(or(equals(weakenLeft,weakenRightSmaller),geq(weakenLeft,weakenRightBigger)))
\replacewith(if-then-else(equals(weakenRightBigger,add(Z(1(#)),weakenRightSmaller)),geq(weakenLeft,weakenRightSmaller),or(equals(weakenLeft,weakenRightSmaller),geq(weakenLeft,weakenRightBigger))))
\heuristics(notHumanReadable, inEqSimp_or_weaken, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1138] |
0s |
passed |
[1139] inEqSimp_or_weaken2, inEqSimp_or_weaken2 {
\find(or(or(b,leq(weakenLeft,weakenRightSmaller)),equals(weakenLeft,weakenRightBigger)))
\replacewith(or(b,if-then-else(equals(weakenRightBigger,add(Z(1(#)),weakenRightSmaller)),leq(weakenLeft,weakenRightBigger),or(leq(weakenLeft,weakenRightSmaller),equals(weakenLeft,weakenRightBigger)))))
\heuristics(notHumanReadable, inEqSimp_or_weaken, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1139] |
0.001s |
passed |
[113] applySkip3, applySkip3 {
\find(update-application(skip,u))
\replacewith(u)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[113] |
0.006s |
passed |
[1140] inEqSimp_or_weaken3, inEqSimp_or_weaken3 {
\find(or(or(b,equals(weakenLeft,weakenRightSmaller)),geq(weakenLeft,weakenRightBigger)))
\replacewith(or(b,if-then-else(equals(weakenRightBigger,add(Z(1(#)),weakenRightSmaller)),geq(weakenLeft,weakenRightSmaller),or(equals(weakenLeft,weakenRightSmaller),geq(weakenLeft,weakenRightBigger)))))
\heuristics(notHumanReadable, inEqSimp_or_weaken, inEqSimp_forNormalisation)
Choices: true}
|
testEquality(String, String)[1140] |
0s |
passed |
[1141] inEqSimp_sepNegMonomial0, inEqSimp_sepNegMonomial0 {
\find(leq(add(sepResidue,sepNegMono),Z(0(#))))
\replacewith(geq(mul(sepNegMono,Z(neglit(1(#)))),sepResidue))
\heuristics(notHumanReadable, inEqSimp_balance, inEqSimp_directInEquations)
Choices: true}
|
testEquality(String, String)[1141] |
0s |
passed |
[1142] inEqSimp_sepNegMonomial1, inEqSimp_sepNegMonomial1 {
\find(geq(add(sepResidue,sepNegMono),Z(0(#))))
\replacewith(leq(mul(sepNegMono,Z(neglit(1(#)))),sepResidue))
\heuristics(notHumanReadable, inEqSimp_balance, inEqSimp_directInEquations)
Choices: true}
|
testEquality(String, String)[1142] |
0s |
passed |
[1143] inEqSimp_sepPosMonomial0, inEqSimp_sepPosMonomial0 {
\find(leq(add(sepResidue,sepPosMono),Z(0(#))))
\replacewith(leq(sepPosMono,mul(sepResidue,Z(neglit(1(#))))))
\heuristics(notHumanReadable, inEqSimp_balance, inEqSimp_directInEquations)
Choices: true}
|
testEquality(String, String)[1143] |
0s |
passed |
[1144] inEqSimp_sepPosMonomial1, inEqSimp_sepPosMonomial1 {
\find(geq(add(sepResidue,sepPosMono),Z(0(#))))
\replacewith(geq(sepPosMono,mul(sepResidue,Z(neglit(1(#))))))
\heuristics(notHumanReadable, inEqSimp_balance, inEqSimp_directInEquations)
Choices: true}
|
testEquality(String, String)[1144] |
0.001s |
passed |
[1145] inEqSimp_strengthen0, inEqSimp_strengthen0 {
\assumes ([]==>[equals(strengthenLeft,strengthenRight)])
\find(leq(strengthenLeft,strengthenRight)==>)
\replacewith([leq(strengthenLeft,add(Z(neglit(1(#))),strengthenRight))]==>[])
\heuristics(notHumanReadable, inEqSimp_strengthen, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1145] |
0s |
passed |
[1146] inEqSimp_strengthen1, inEqSimp_strengthen1 {
\assumes ([]==>[equals(strengthenLeft,strengthenRight)])
\find(geq(strengthenLeft,strengthenRight)==>)
\replacewith([geq(strengthenLeft,add(Z(1(#)),strengthenRight))]==>[])
\heuristics(notHumanReadable, inEqSimp_strengthen, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1146] |
0.001s |
passed |
[1147] inEqSimp_subsumption0, inEqSimp_subsumption0 {
\assumes ([leq(subsumLeft,subsumRightSmaller)]==>[])
\find(leq(subsumLeft,subsumRightBigger))
\sameUpdateLevel\replacewith(or(leq(subsumRightSmaller,subsumRightBigger),leq(subsumLeft,subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_subsumption, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1147] |
0s |
passed |
[1148] inEqSimp_subsumption1, inEqSimp_subsumption1 {
\assumes ([geq(subsumLeft,subsumRightBigger)]==>[])
\find(geq(subsumLeft,subsumRightSmaller))
\sameUpdateLevel\replacewith(or(leq(subsumRightSmaller,subsumRightBigger),geq(subsumLeft,subsumRightSmaller)))
\heuristics(notHumanReadable, inEqSimp_subsumption, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1148] |
0s |
passed |
[1149] inEqSimp_subsumption2, inEqSimp_subsumption2 {
\assumes ([leq(mul(subsumLeft,subsumCoeffSmaller),subsumRightSmaller)]==>[])
\find(leq(mul(subsumLeft,subsumCoeffBigger),subsumRightBigger))
\sameUpdateLevel\replacewith(or(and(and(gt(subsumCoeffSmaller,Z(0(#))),gt(subsumCoeffBigger,Z(0(#)))),leq(mul(subsumCoeffBigger,subsumRightSmaller),mul(subsumCoeffSmaller,subsumRightBigger))),leq(mul(subsumLeft,subsumCoeffBigger),subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_subsumption, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1149] |
0s |
passed |
[114] apply_eq_boolean, apply_eq_boolean {
\assumes ([]==>[equals(bo,TRUE)])
\find(bo)
\sameUpdateLevel\replacewith(FALSE)
\heuristics(apply_equations)
Choices: true}
|
testEquality(String, String)[114] |
0.002s |
passed |
[1150] inEqSimp_subsumption4, inEqSimp_subsumption4 {
\assumes ([leq(subsumLeft,subsumRightSmaller)]==>[])
\find(leq(mul(subsumLeft,subsumCoeffBigger),subsumRightBigger))
\sameUpdateLevel\replacewith(or(and(gt(subsumCoeffBigger,Z(0(#))),leq(mul(subsumCoeffBigger,subsumRightSmaller),subsumRightBigger)),leq(mul(subsumLeft,subsumCoeffBigger),subsumRightBigger)))
\heuristics(notHumanReadable, inEqSimp_subsumption, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1150] |
0s |
passed |
[1151] inEqSimp_subsumption5, inEqSimp_subsumption5 {
\assumes ([geq(mul(subsumLeft,subsumCoeffBigger),subsumRightBigger)]==>[])
\find(geq(mul(subsumLeft,subsumCoeffSmaller),subsumRightSmaller))
\sameUpdateLevel\replacewith(or(and(and(gt(subsumCoeffSmaller,Z(0(#))),gt(subsumCoeffBigger,Z(0(#)))),leq(mul(subsumCoeffBigger,subsumRightSmaller),mul(subsumCoeffSmaller,subsumRightBigger))),geq(mul(subsumLeft,subsumCoeffSmaller),subsumRightSmaller)))
\heuristics(notHumanReadable, inEqSimp_subsumption, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1151] |
0.001s |
passed |
[1152] inEqSimp_subsumption6, inEqSimp_subsumption6 {
\assumes ([geq(subsumLeft,subsumRightBigger)]==>[])
\find(geq(mul(subsumLeft,subsumCoeffSmaller),subsumRightSmaller))
\sameUpdateLevel\replacewith(or(and(gt(subsumCoeffSmaller,Z(0(#))),leq(subsumRightSmaller,mul(subsumCoeffSmaller,subsumRightBigger))),geq(mul(subsumLeft,subsumCoeffSmaller),subsumRightSmaller)))
\heuristics(notHumanReadable, inEqSimp_subsumption, inEqSimp_propagation)
Choices: true}
|
testEquality(String, String)[1152] |
0s |
passed |
[1153] inInt, inInt {
\find(inInt(i))
\replacewith(true)
\heuristics(concrete)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1153] |
0s |
passed |
[1154] inLong, inLong {
\find(inLong(i))
\replacewith(true)
\heuristics(concrete)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1154] |
0.001s |
passed |
[1155] inShort, inShort {
\find(inShort(i))
\replacewith(true)
\heuristics(concrete)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1155] |
0s |
passed |
[1156] indexOf, indexOf {
\find(clIndexOfChar(l,c,i))
\varcond(\notFreeIn(iv (variable), i (int term)), \notFreeIn(iv (variable), c (int term)), \notFreeIn(iv (variable), l (Seq term)))
\replacewith(ifExThenElse{iv (variable)}(and(and(and(geq(i,Z(0(#))),geq(iv,i)),lt(iv,seqLen(l))),equals(int::seqGet(l,iv),c)),iv,Z(neglit(1(#)))))
\heuristics(stringsExpandDefNormalOp)
Choices: Strings:on}
|
testEquality(String, String)[1156] |
0.001s |
passed |
[1157] indexOfSeqConcatFirst, indexOfSeqConcatFirst {
\find(seqIndexOf(seqConcat(s1,s2),x))
\sameUpdateLevel\varcond(\notFreeIn(idx (variable), x (any term)), \notFreeIn(idx (variable), s2 (Seq term)), \notFreeIn(idx (variable), s1 (Seq term)))
\add []==>[exists{idx (variable)}(and(and(leq(Z(0(#)),idx),lt(idx,seqLen(s1))),equals(any::seqGet(s1,idx),x)))] ;
\replacewith(seqIndexOf(s1,x))
Choices: sequences:on}
|
testEquality(String, String)[1157] |
0s |
passed |
[1158] indexOfSeqConcatSecond, indexOfSeqConcatSecond {
\find(seqIndexOf(seqConcat(s1,s2),x))
\sameUpdateLevel\varcond(\notFreeIn(idx (variable), x (any term)), \notFreeIn(idx (variable), s2 (Seq term)), \notFreeIn(idx (variable), s1 (Seq term)))
\add []==>[and(not(exists{idx (variable)}(and(and(leq(Z(0(#)),idx),lt(idx,seqLen(s1))),equals(any::seqGet(s1,idx),x)))),exists{idx (variable)}(and(and(leq(Z(0(#)),idx),lt(idx,seqLen(s2))),equals(any::seqGet(s2,idx),x))))] ;
\replacewith(add(seqIndexOf(s2,x),seqLen(s1)))
Choices: sequences:on}
|
testEquality(String, String)[1158] |
0.001s |
passed |
[1159] indexOfSeqSingleton, indexOfSeqSingleton {
\find(seqIndexOf(seqSingleton(x),x))
\sameUpdateLevel\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1159] |
0s |
passed |
[115] apply_eq_boolean_2, apply_eq_boolean_2 {
\assumes ([]==>[equals(bo,FALSE)])
\find(bo)
\sameUpdateLevel\replacewith(TRUE)
\heuristics(apply_equations)
Choices: true}
|
testEquality(String, String)[115] |
0.001s |
passed |
[1160] indexOfSeqSub, indexOfSeqSub {
\find(seqIndexOf(seqSub(s,from,to),x))
\sameUpdateLevel\varcond(\notFreeIn(nx (variable), to (int term)), \notFreeIn(nx (variable), from (int term)), \notFreeIn(nx (variable), x (any term)), \notFreeIn(nx (variable), s (Seq term)))
\add []==>[and(and(and(leq(from,seqIndexOf(s,x)),lt(seqIndexOf(s,x),to)),leq(Z(0(#)),from)),exists{nx (variable)}(and(and(leq(Z(0(#)),nx),lt(nx,seqLen(s))),equals(any::seqGet(s,nx),x))))] ;
\replacewith(sub(seqIndexOf(s,x),from))
Choices: sequences:on}
|
testEquality(String, String)[1160] |
0s |
passed |
[1161] indexOfStr, indexOfStr {
\find(clIndexOfCl(sourceStr,i,searchStr))
\varcond(\notFreeIn(iv (variable), i (int term)), \notFreeIn(iv (variable), sourceStr (Seq term)), \notFreeIn(iv (variable), searchStr (Seq term)))
\replacewith(ifExThenElse{iv (variable)}(and(and(and(geq(iv,i),geq(iv,Z(0(#)))),leq(add(iv,seqLen(searchStr)),seqLen(sourceStr))),equals(seqSub(sourceStr,iv,add(iv,seqLen(searchStr))),searchStr)),iv,Z(neglit(1(#)))))
\heuristics(stringsExpandDefNormalOp)
Choices: Strings:on}
|
testEquality(String, String)[1161] |
0s |
passed |
[1162] ineffectiveCast, ineffectiveCast {
\assumes ([equals(H::instance(t),TRUE)]==>[])
\find(H::cast(t))
\sameUpdateLevel\add [equals(H::cast(t),t)]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1162] |
0s |
passed |
[1163] ineffectiveCast2, ineffectiveCast2 {
\assumes ([equals(cs,gt)]==>[])
\find(C::cast(gt))
\sameUpdateLevel\add [equals(C::cast(gt),gt)]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1163] |
0.001s |
passed |
[1164] ineffectiveCast3, ineffectiveCast3 {
\assumes ([equals(H::exactInstance(t),TRUE)]==>[])
\find(H::cast(t))
\sameUpdateLevel\add [equals(H::cast(t),t)]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1164] |
0s |
passed |
[1165] inequality_comparison_new, inequality_comparison_new {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 != #senf1;
... }\] (post))
\replacewith(if-then-else(not(equals(#senf0,#senf1)),#allmodal ( (modal operator))\[{ ..
#lhs = true;
... }\] (post),#allmodal ( (modal operator))\[{ ..
#lhs = false;
... }\] (post)))
\heuristics(split_if, simplify_prog, obsolete)
Choices: programRules:Java}
|
testEquality(String, String)[1165] |
0.001s |
passed |
[1166] inequality_comparison_simple, inequality_comparison_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 != #senf1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#senf0,#senf1),FALSE,TRUE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1166] |
0s |
passed |
[1167] inequality_comparison_simple_double, inequality_comparison_simple_double {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seDouble0 != #seDouble1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(eqDouble(#seDouble0,#seDouble1),FALSE,TRUE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1167] |
0s |
passed |
[1168] inequality_comparison_simple_float, inequality_comparison_simple_float {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seFloat0 != #seFloat1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(eqFloat(#seFloat0,#seFloat1),FALSE,TRUE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1168] |
0.001s |
passed |
[1169] infiniteUnionUnused, infiniteUnionUnused {
\find(infiniteUnion{av (variable)}(s))
\varcond(\notFreeIn(av (variable), s (LocSet term)))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1169] |
0s |
passed |
[116] apply_eq_boolean_rigid, apply_eq_boolean_rigid {
\assumes ([]==>[equals(br,TRUE)])
\find(br)
\replacewith(FALSE)
\heuristics(apply_equations)
Choices: true}
|
testEquality(String, String)[116] |
0.001s |
passed |
[1170] insert_constant_string_value, insert_constant_string_value {
\assumes ([wellFormed(heap)]==>[])
\find(#csv)
\sameUpdateLevel\replacewith(if-then-else(equals(#constantvalue(#csv),null),null,strPool(Seq::cast(#constantvalue(#csv)))))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1170] |
0.001s |
passed |
[1171] insert_constant_value, insert_constant_value {
\find(#cv)
\replacewith(#constantvalue(#cv))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1171] |
0s |
passed |
[1172] insert_eq_all, insert_eq_all {
\find(equals(sr,tr)==>)
\addrules [auto_insert_eq {
\find(sr)
\replacewith(tr)
\heuristics(simplify)
Choices: true}] \replacewith([]==>[])
Choices: true}
|
testEquality(String, String)[1172] |
0.001s |
passed |
[1173] insert_eqv_lr, insert_eqv_lr {
\find(equiv(br,cr)==>)
\addrules [insert_eqv {
\find(br)
\replacewith(cr)
\heuristics(simplify)
Choices: true}]
Choices: true}
|
testEquality(String, String)[1173] |
0s |
passed |
[1174] insert_eqv_once_lr, insert_eqv_once_lr {
\find(equiv(br,cr)==>)
\addrules [insert_eqv {
\find(br)
\replacewith(cr)
Choices: true}]
Choices: true}
|
testEquality(String, String)[1174] |
0s |
passed |
[1175] insert_eqv_once_rl, insert_eqv_once_rl {
\find(equiv(br,cr)==>)
\addrules [insert_eqv {
\find(cr)
\replacewith(br)
Choices: true}]
Choices: true}
|
testEquality(String, String)[1175] |
0s |
passed |
[1176] insert_eqv_rl, insert_eqv_rl {
\find(equiv(br,cr)==>)
\addrules [insert_eqv {
\find(cr)
\replacewith(br)
\heuristics(simplify)
Choices: true}]
Choices: true}
|
testEquality(String, String)[1176] |
0s |
passed |
[1177] instAll, instAll {
\assumes ([all{u (variable)}(b)]==>[])
\find(t)
\add [subst{u (variable)}(t,b)]==>[]
Choices: true}
|
testEquality(String, String)[1177] |
0.001s |
passed |
[1178] instEx, instEx {
\assumes ([]==>[exists{u (variable)}(b)])
\find(t)
\add []==>[subst{u (variable)}(t,b)]
Choices: true}
|
testEquality(String, String)[1178] |
0s |
passed |
[1179] instanceCreation, instanceCreation {
\find(#allmodal ( (modal operator))\[{ ..
#n
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#n (program SimpleInstanceCreation))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#v0) #v0 = create-object(#n);
constructor-call(#n)
post-work(#v0)
... }\] (post))
\heuristics(method_expand)
Choices: programRules:Java}
|
testEquality(String, String)[1179] |
0.001s |
passed |
[117] apply_eq_boolean_rigid_2, apply_eq_boolean_rigid_2 {
\assumes ([]==>[equals(br,FALSE)])
\find(br)
\replacewith(TRUE)
\heuristics(apply_equations)
Choices: true}
|
testEquality(String, String)[117] |
0.001s |
passed |
[1180] instanceCreationAssignment, instanceCreationAssignment {
\find(#normal ( (modal operator))\[{ ..
#lhs = #n;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#lhs (program LeftHandSide))))
\replacewith(#normal ( (modal operator))\[{ ..
#typeof(#v0) #v0 = create-object(#n);
constructor-call(#n)
post-work(#v0)
#lhs = #v0;
... }\] (post))
\heuristics(method_expand)
Choices: programRules:Java}
|
testEquality(String, String)[1180] |
0s |
passed |
[1181] instanceCreationAssignmentUnfoldArguments, instanceCreationAssignmentUnfoldArguments {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nsn;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#evaluate-arguments(#lhs = #nsn)
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1181] |
0s |
passed |
[1182] instanceCreationUnfoldArguments, instanceCreationUnfoldArguments {
\find(#allmodal ( (modal operator))\[{ ..
#nsn
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#evaluate-arguments(#nsn)
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1182] |
0.001s |
passed |
[1183] instanceof_eval, instanceof_eval {
\find(#allmodal ( (modal operator))\[{ ..
#v = #nse instanceof #t;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0 = #nse;
#v = #v0 instanceof #t;
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1183] |
0s |
passed |
[1184] instanceof_known_dynamic_type, instanceof_known_dynamic_type {
\assumes ([equals(G::exactInstance(a),TRUE)]==>[])
\find(H::instance(a))
\sameUpdateLevel\varcond(\sub(G, H), )
\replacewith(TRUE)
\heuristics(evaluate_instanceof, simplify)
Choices: true}
|
testEquality(String, String)[1184] |
0.001s |
passed |
[1185] instanceof_known_dynamic_type_2, instanceof_known_dynamic_type_2 {
\assumes ([equals(G::exactInstance(a),TRUE)]==>[])
\find(H::instance(a))
\sameUpdateLevel\varcond(\not\sub(G, H), )
\replacewith(FALSE)
\heuristics(evaluate_instanceof, simplify)
Choices: true}
|
testEquality(String, String)[1185] |
0s |
passed |
[1186] instanceof_not_compatible, instanceof_not_compatible {
\find(equals(G::instance(a),TRUE))
\varcond(\sub(Null, G), \disjointModuloNull(G, \typeof(a (any term))), )
\replacewith(equals(a,null))
\heuristics(evaluate_instanceof, concrete)
Choices: true}
|
testEquality(String, String)[1186] |
0s |
passed |
[1187] instanceof_not_compatible_2, instanceof_not_compatible_2 {
\find(equals(G::instance(a),FALSE))
\varcond(\sub(Null, G), \disjointModuloNull(G, \typeof(a (any term))), )
\replacewith(not(equals(a,null)))
\heuristics(evaluate_instanceof, concrete)
Choices: true}
|
testEquality(String, String)[1187] |
0.001s |
passed |
[1188] instanceof_not_compatible_3, instanceof_not_compatible_3 {
\find(equals(G::instance(a),TRUE))
\varcond(\not\sub(Null, G), \disjointModuloNull(G, \typeof(a (any term))), )
\replacewith(false)
\heuristics(evaluate_instanceof, concrete)
Choices: true}
|
testEquality(String, String)[1188] |
0.001s |
passed |
[1189] instanceof_not_compatible_4, instanceof_not_compatible_4 {
\find(equals(G::instance(a),FALSE))
\varcond(\not\sub(Null, G), \disjointModuloNull(G, \typeof(a (any term))), )
\replacewith(true)
\heuristics(evaluate_instanceof, concrete)
Choices: true}
|
testEquality(String, String)[1189] |
0s |
passed |
[118] apply_eq_monomials, apply_eq_monomials {
\assumes ([equals(applyEqDivisor,i0)]==>[])
\find(applyEqDividend)
\sameUpdateLevel\replacewith(add(mul(#divideMonomials(applyEqDividend,applyEqDivisor),add(i0,mul(applyEqDivisor,Z(neglit(1(#)))))),applyEqDividend))
\heuristics(notHumanReadable, apply_equations, polySimp_applyEq)
Choices: true}
|
testEquality(String, String)[118] |
0.001s |
passed |
[1190] instanceof_not_compatible_5, instanceof_not_compatible_5 {
\assumes ([equals(H::instance(a),TRUE)]==>[])
\find(equals(G::instance(a),TRUE))
\varcond(\sub(Null, G), \disjointModuloNull(G, H), )
\replacewith(equals(a,null))
\heuristics(evaluate_instanceof, concrete)
Choices: true}
|
testEquality(String, String)[1190] |
0s |
passed |
[1191] instanceof_static_type, instanceof_static_type {
\find(G::instance(a))
\varcond(\sub(\typeof(a (any term)), G), )
\replacewith(TRUE)
\heuristics(evaluate_instanceof, concrete)
Choices: true}
|
testEquality(String, String)[1191] |
0.001s |
passed |
[1192] instanceof_static_type_2, instanceof_static_type_2 {
\assumes ([equals(a2,a)]==>[])
\find(G::instance(a))
\sameUpdateLevel\varcond(\sub(\typeof(a2 (any term)), G), )
\replacewith(TRUE)
\heuristics(evaluate_instanceof, concrete)
Choices: true}
|
testEquality(String, String)[1192] |
0s |
passed |
[1193] intDivRem, intDivRem {
\find(jmod(divNum,divDenom))
\add [imp(not(equals(divDenom,Z(0(#)))),equals(divNum,add(mul(jdiv(divNum,divDenom),divDenom),jmod(divNum,divDenom))))]==>[]
Choices: true}
|
testEquality(String, String)[1193] |
0.001s |
passed |
[1194] intLongToFloatAddition1, intLongToFloatAddition1 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong + #seFloat;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddFloat(float::cast(#seLong),#seFloat)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1194] |
0s |
passed |
[1195] intToFloatAddition, intToFloatAddition {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt + #seFloat;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddFloat(float::cast(#seCharByteShortInt),#seFloat)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1195] |
0.001s |
passed |
[1196] int_diff_minus_eq, int_diff_minus_eq {
\find(sub(i0,neg(i1)))
\replacewith(add(i0,i1))
Choices: true}
|
testEquality(String, String)[1196] |
0s |
passed |
[1197] int_induction, int_induction {
\add [all{nv (variable)}(imp(geq(nv,Z(0(#))),b))]==>[] ;
\add []==>[all{nv (variable)}(imp(and(geq(nv,Z(0(#))),b),subst{nv (variable)}(add(nv,Z(1(#))),b)))] ;
\add []==>[subst{nv (variable)}(Z(0(#)),b)]
Choices: true}
|
testEquality(String, String)[1197] |
0s |
passed |
[1198] intersectAllFieldsFreshLocs, intersectAllFieldsFreshLocs {
\find(equals(intersect(allFields(o),freshLocs(h)),empty))
\replacewith(or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1198] |
0.001s |
passed |
[1199] intersectWithAllLocs, intersectWithAllLocs {
\find(intersect(allLocs,s))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1199] |
0s |
passed |
[119] apply_eq_monomials_rigid, apply_eq_monomials_rigid {
\assumes ([equals(applyEqDivisorr,i0r)]==>[])
\find(applyEqDividend)
\replacewith(add(mul(#divideMonomials(applyEqDividend,applyEqDivisorr),add(i0r,mul(applyEqDivisorr,Z(neglit(1(#)))))),applyEqDividend))
\heuristics(notHumanReadable, apply_equations, polySimp_applyEqRigid)
Choices: true}
|
testEquality(String, String)[119] |
0.001s |
passed |
[11] activeUseBitwiseXOr, activeUseBitwiseXOr {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left ^ #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left ^ #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[11] |
0.001s |
passed |
[1200] intersectWithAllLocsRight, intersectWithAllLocsRight {
\find(intersect(s,allLocs))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1200] |
0.001s |
passed |
[1201] intersectWithEmpty, intersectWithEmpty {
\find(intersect(empty,s))
\replacewith(empty)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1201] |
0s |
passed |
[1202] intersectWithEmptyRight, intersectWithEmptyRight {
\find(intersect(s,empty))
\replacewith(empty)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1202] |
0.001s |
passed |
[1203] intersectWithItself, intersectWithItself {
\find(intersect(s,s))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1203] |
0.001s |
passed |
[1204] intersectWithSingleton, intersectWithSingleton {
\find(intersect(singleton(o,f),s))
\replacewith(if-then-else(elementOf(o,f,s),singleton(o,f),empty))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1204] |
0.001s |
passed |
[1205] intersectionSetMinusItself, intersectionSetMinusItself {
\find(intersect(setMinus(s1,s2),s2))
\replacewith(empty)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1205] |
0s |
passed |
[1206] intersectionSetMinusItself_2, intersectionSetMinusItself_2 {
\find(intersect(s2,setMinus(s1,s2)))
\replacewith(empty)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1206] |
0.001s |
passed |
[1207] introduceAxiom, introduceAxiom {
\add [cutFormula]==>[]
Choices: true}
|
testEquality(String, String)[1207] |
0s |
passed |
[1208] irrflConcrete1, irrflConcrete1 {
\find(lt(i,i)==>)
\replacewith([false]==>[])
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1208] |
0.001s |
passed |
[1209] irrflConcrete2, irrflConcrete2 {
\find(gt(i,i)==>)
\replacewith([false]==>[])
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1209] |
0s |
passed |
[120] apply_eq_pseudo_eq, apply_eq_pseudo_eq {
\assumes ([equals(mul(aePseudoLeft,aePseudoLeftCoeff),aePseudoRight)]==>[])
\find(equals(aePseudoTargetLeft,aePseudoTargetRight))
\sameUpdateLevel\replacewith(if-then-else(and(equals(aePseudoTargetLeft,mul(aePseudoLeft,aePseudoTargetFactor)),not(equals(aePseudoLeftCoeff,Z(0(#))))),equals(mul(aePseudoRight,aePseudoTargetFactor),mul(aePseudoTargetRight,aePseudoLeftCoeff)),equals(aePseudoTargetLeft,aePseudoTargetRight)))
\heuristics(notHumanReadable, notHumanReadable, polySimp_applyEqPs… |
testEquality(String, String)[120] |
0.011s |
passed |
[1210] isFiniteOfMapEmpty, isFiniteOfMapEmpty {
\find(isFinite(mapEmpty))
\sameUpdateLevel\replacewith(true)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1210] |
0s |
passed |
[1211] isFiniteOfMapRemove, isFiniteOfMapRemove {
\find(isFinite(mapRemove(m,key)))
\sameUpdateLevel\replacewith(isFinite(m))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1211] |
0s |
passed |
[1212] isFiniteOfMapSingleton, isFiniteOfMapSingleton {
\find(isFinite(mapSingleton(key,value)))
\sameUpdateLevel\replacewith(true)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1212] |
0s |
passed |
[1213] isFiniteOfMapUpdate, isFiniteOfMapUpdate {
\find(isFinite(mapUpdate(m,key,value)))
\sameUpdateLevel\replacewith(isFinite(m))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1213] |
0s |
passed |
[1214] isFiniteOfSeq2Map, isFiniteOfSeq2Map {
\find(isFinite(seq2map(s)))
\sameUpdateLevel\replacewith(true)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1214] |
0s |
passed |
[1215] iterated_assignments_0, iterated_assignments_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 = #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = #e;
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1215] |
0.008s |
passed |
[1216] iterated_assignments_1, iterated_assignments_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 *= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 * #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1216] |
0.002s |
passed |
[1217] iterated_assignments_10, iterated_assignments_10 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 |= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 | #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1217] |
0.001s |
passed |
[1218] iterated_assignments_11, iterated_assignments_11 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 ^= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 ^ #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1218] |
0s |
passed |
[1219] iterated_assignments_2, iterated_assignments_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 /= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 / #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1219] |
0s |
passed |
[121] apply_eq_pseudo_geq, apply_eq_pseudo_geq {
\assumes ([equals(mul(aePseudoLeft,aePseudoLeftCoeff),aePseudoRight)]==>[])
\find(geq(aePseudoTargetLeft,aePseudoTargetRight))
\sameUpdateLevel\replacewith(if-then-else(and(equals(aePseudoTargetLeft,mul(aePseudoLeft,aePseudoTargetFactor)),gt(aePseudoLeftCoeff,Z(0(#)))),geq(mul(aePseudoRight,aePseudoTargetFactor),mul(aePseudoTargetRight,aePseudoLeftCoeff)),geq(aePseudoTargetLeft,aePseudoTargetRight)))
\heuristics(notHumanReadable, polySimp_applyEqPseudo, polySimp_leftNonUnit)
Choices… |
testEquality(String, String)[121] |
0.002s |
passed |
[1220] iterated_assignments_3, iterated_assignments_3 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 %= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 % #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1220] |
0.001s |
passed |
[1221] iterated_assignments_4, iterated_assignments_4 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 += #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 + #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1221] |
0s |
passed |
[1222] iterated_assignments_5, iterated_assignments_5 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 -= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 - #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1222] |
0.001s |
passed |
[1223] iterated_assignments_6, iterated_assignments_6 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 <<= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 << #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1223] |
0s |
passed |
[1224] iterated_assignments_7, iterated_assignments_7 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 >>= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 >> #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1224] |
0s |
passed |
[1225] iterated_assignments_8, iterated_assignments_8 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 >>>= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 >>> #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1225] |
0.001s |
passed |
[1226] iterated_assignments_9, iterated_assignments_9 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1 &= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 & #e);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1226] |
0s |
passed |
[1227] javaShiftLeftIntDef, javaShiftLeftIntDef {
\find(shiftleftJint(left,right))
\replacewith(moduloInt(shiftleft(left,mod(right,Z(2(3(#)))))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1227] |
0.001s |
passed |
[1228] javaShiftLeftLongDef, javaShiftLeftLongDef {
\find(shiftleftJlong(left,right))
\replacewith(moduloLong(shiftleft(left,mod(right,Z(4(6(#)))))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1228] |
0s |
passed |
[1229] javaShiftRightIntDef, javaShiftRightIntDef {
\find(shiftrightJint(left,right))
\replacewith(moduloInt(shiftright(left,mod(right,Z(2(3(#)))))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1229] |
0s |
passed |
[122] apply_eq_pseudo_leq, apply_eq_pseudo_leq {
\assumes ([equals(mul(aePseudoLeft,aePseudoLeftCoeff),aePseudoRight)]==>[])
\find(leq(aePseudoTargetLeft,aePseudoTargetRight))
\sameUpdateLevel\replacewith(if-then-else(and(equals(aePseudoTargetLeft,mul(aePseudoLeft,aePseudoTargetFactor)),gt(aePseudoLeftCoeff,Z(0(#)))),leq(mul(aePseudoRight,aePseudoTargetFactor),mul(aePseudoTargetRight,aePseudoLeftCoeff)),leq(aePseudoTargetLeft,aePseudoTargetRight)))
\heuristics(notHumanReadable, polySimp_applyEqPseudo, polySimp_leftNonUnit)
Choices… |
testEquality(String, String)[122] |
0.002s |
passed |
[1230] javaShiftRightLongDef, javaShiftRightLongDef {
\find(shiftrightJlong(left,right))
\replacewith(moduloLong(shiftright(left,mod(right,Z(4(6(#)))))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1230] |
0.001s |
passed |
[1231] jdivAddMultDenom, jdivAddMultDenom {
\add [all{N (variable)}(all{D (variable)}(all{A (variable)}(imp(not(equals(D,Z(0(#)))),equals(jdiv(add(N,mul(A,D)),D),if-then-else(equals(N,mul(jdiv(N,D),D)),add(jdiv(N,D),A),if-then-else(and(not(equals(N,mul(jdiv(N,D),D))),equiv(geq(N,Z(0(#))),geq(add(N,mul(D,A)),Z(0(#))))),add(jdiv(N,D),A),if-then-else(and(and(not(equals(N,mul(jdiv(N,D),D))),equiv(geq(N,Z(0(#))),lt(add(N,mul(D,A)),Z(0(#))))),equiv(gt(D,Z(0(#))),lt(add(N,mul(D,A)),Z(0(#))))),add(add(jdiv(N,D),A),Z(1(#))),sub(add(jdiv(N,… |
testEquality(String, String)[1231] |
0s |
passed |
[1232] jdivMultDenom1, jdivMultDenom1 {
\find(jdiv(mul(divDenom,cfac),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(cfac)
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1232] |
0.001s |
passed |
[1233] jdivMultDenom2, jdivMultDenom2 {
\find(jdiv(mul(cfac,divDenom),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(cfac)
Choices: true}
|
testEquality(String, String)[1233] |
0s |
passed |
[1234] jdivPulloutMinusDenom, jdivPulloutMinusDenom {
\find(jdiv(divNum,neg(divDenom)))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(neg(jdiv(divNum,divDenom)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1234] |
0s |
passed |
[1235] jdivPulloutMinusNum, jdivPulloutMinusNum {
\find(jdiv(neg(divNum),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(neg(jdiv(divNum,divDenom)))
Choices: true}
|
testEquality(String, String)[1235] |
0s |
passed |
[1236] jdiv_axiom, jdiv_axiom {
\find(jdiv(divNum,divDenom))
\sameUpdateLevel\add [equals(jdiv(divNum,divDenom),if-then-else(geq(divNum,Z(0(#))),div(divNum,divDenom),mul(div(mul(divNum,Z(neglit(1(#)))),divDenom),Z(neglit(1(#))))))]==>[]
\heuristics(notHumanReadable, defOps_jdiv)
Choices: true}
|
testEquality(String, String)[1236] |
0s |
passed |
[1237] jdiv_axiom_inline, jdiv_axiom_inline {
\find(jdiv(divNum,divDenom))
\replacewith(if-then-else(geq(divNum,Z(0(#))),div(divNum,divDenom),mul(div(mul(divNum,Z(neglit(1(#)))),divDenom),Z(neglit(1(#))))))
\heuristics(notHumanReadable, defOps_jdiv_inline)
Choices: true}
|
testEquality(String, String)[1237] |
0.001s |
passed |
[1238] jdiv_one, jdiv_one {
\find(jdiv(divNum,Z(1(#))))
\replacewith(divNum)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1238] |
0.136s |
passed |
[1239] jdiv_uniqueNegNeg, jdiv_uniqueNegNeg {
\find(jdiv(divNum,divDenom))
\add [all{a (variable)}(all{cnom (variable)}(all{x (variable)}(all{y (variable)}(imp(and(and(and(and(and(lt(a,Z(0(#))),lt(cnom,Z(0(#)))),geq(mul(x,cnom),a)),geq(mul(y,cnom),a)),lt(mul(add(x,Z(1(#))),cnom),a)),lt(mul(add(y,Z(1(#))),cnom),a)),equals(x,y))))))]==>[]
Choices: true}
|
testEquality(String, String)[1239] |
0s |
passed |
[123] apply_subst, apply_subst {
\find(subst{u (variable)}(t,target))
\replacewith(subst{u (variable)}(t,target))
\heuristics(try_apply_subst)
Choices: true}
|
testEquality(String, String)[123] |
0.001s |
passed |
[1240] jdiv_uniqueNegPos, jdiv_uniqueNegPos {
\find(jdiv(divNum,divDenom))
\add [all{a (variable)}(all{cnom (variable)}(all{x (variable)}(all{y (variable)}(imp(and(and(and(and(and(lt(a,Z(0(#))),gt(cnom,Z(0(#)))),geq(mul(x,cnom),a)),geq(mul(y,cnom),a)),lt(mul(sub(x,Z(1(#))),cnom),a)),lt(mul(sub(y,Z(1(#))),cnom),a)),equals(x,y))))))]==>[]
Choices: true}
|
testEquality(String, String)[1240] |
0s |
passed |
[1241] jdiv_uniquePosNeg, jdiv_uniquePosNeg {
\find(jdiv(divNum,divDenom))
\add [all{a (variable)}(all{cnom (variable)}(all{x (variable)}(all{y (variable)}(imp(and(and(and(and(and(geq(a,Z(0(#))),lt(cnom,Z(0(#)))),leq(mul(x,cnom),a)),leq(mul(y,cnom),a)),gt(mul(sub(x,Z(1(#))),cnom),a)),gt(mul(sub(y,Z(1(#))),cnom),a)),equals(x,y))))))]==>[]
Choices: true}
|
testEquality(String, String)[1241] |
0s |
passed |
[1242] jdiv_uniquePosPos, jdiv_uniquePosPos {
\find(jdiv(divNum,divDenom))
\add [all{a (variable)}(all{cnom (variable)}(all{x (variable)}(all{y (variable)}(imp(and(and(and(and(and(geq(a,Z(0(#))),gt(cnom,Z(0(#)))),leq(mul(x,cnom),a)),leq(mul(y,cnom),a)),gt(mul(add(x,Z(1(#))),cnom),a)),gt(mul(add(y,Z(1(#))),cnom),a)),equals(x,y))))))]==>[]
Choices: true}
|
testEquality(String, String)[1242] |
0.001s |
passed |
[1243] jdiv_zero, jdiv_zero {
\find(jdiv(Z(0(#)),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(Z(0(#)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1243] |
0s |
passed |
[1244] jmodAddMultDenomZero, jmodAddMultDenomZero {
\find(equals(jmod(add(N,mul(A,D)),D),Z(0(#))))
\sameUpdateLevel\add []==>[not(equals(D,Z(0(#))))] ;
\replacewith(equals(jmod(N,D),Z(0(#))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1244] |
0.001s |
passed |
[1245] jmodAltZero, jmodAltZero {
\add [all{N (variable)}(all{D (variable)}(imp(not(equals(D,Z(0(#)))),equiv(equals(jmod(N,D),Z(0(#))),exists{A (variable)}(equals(N,mul(A,D)))))))]==>[]
Choices: true}
|
testEquality(String, String)[1245] |
0s |
passed |
[1246] jmodDivisible, jmodDivisible {
\add [all{D (variable)}(all{A (variable)}(imp(not(equals(D,Z(0(#)))),equals(jmod(mul(D,A),D),Z(0(#))))))]==>[]
Choices: true}
|
testEquality(String, String)[1246] |
0s |
passed |
[1247] jmodDivisibleRep, jmodDivisibleRep {
\find(jmod(mul(D,A),D))
\add []==>[not(equals(D,Z(0(#))))] ;
\replacewith(Z(0(#)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1247] |
0s |
passed |
[1248] jmodNumZero, jmodNumZero {
\find(jmod(Z(0(#)),divDenom))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1248] |
0.004s |
passed |
[1249] jmodUnique1, jmodUnique1 {
\add [all{a (variable)}(all{deb (variable)}(all{cmod (variable)}(imp(and(and(and(and(geq(a,Z(0(#))),not(equals(deb,Z(0(#))))),leq(Z(0(#)),cmod)),lt(cmod,if-then-else(gt(deb,Z(0(#))),deb,neg(deb)))),exists{x (variable)}(equals(a,add(mul(deb,x),cmod)))),equals(cmod,jmod(a,deb))))))]==>[]
Choices: true}
|
testEquality(String, String)[1249] |
0s |
passed |
[124] apply_subst_for, apply_subst_for {
\find(subst{u (variable)}(t,phi))
\replacewith(subst{u (variable)}(t,phi))
\heuristics(try_apply_subst)
Choices: true}
|
testEquality(String, String)[124] |
0.001s |
passed |
[1250] jmodUnique2, jmodUnique2 {
\add [all{a (variable)}(all{deb (variable)}(all{cmod (variable)}(imp(and(and(and(and(leq(a,Z(0(#))),not(equals(deb,Z(0(#))))),lt(neg(cmod),if-then-else(gt(deb,Z(0(#))),deb,neg(deb)))),leq(cmod,Z(0(#)))),exists{x (variable)}(equals(a,add(mul(deb,x),cmod)))),equals(cmod,jmod(a,deb))))))]==>[]
Choices: true}
|
testEquality(String, String)[1250] |
0s |
passed |
[1251] jmod_NumNeg, jmod_NumNeg {
\find(jmod(divNum,divDenom))
\add [imp(and(not(equals(divDenom,Z(0(#)))),leq(divNum,Z(0(#)))),gt(jmod(divNum,divDenom),if-then-else(geq(divDenom,Z(0(#))),neg(divDenom),divDenom)))]==>[]
Choices: true}
|
testEquality(String, String)[1251] |
0s |
passed |
[1252] jmod_NumPos, jmod_NumPos {
\find(jmod(divNum,divDenom))
\add [imp(and(not(equals(divDenom,Z(0(#)))),geq(divNum,Z(0(#)))),lt(jmod(divNum,divDenom),if-then-else(geq(divDenom,Z(0(#))),divDenom,neg(divDenom))))]==>[]
Choices: true}
|
testEquality(String, String)[1252] |
0s |
passed |
[1253] jmod_axiom, jmod_axiom {
\find(jmod(divNum,divDenom))
\replacewith(add(divNum,mul(mul(jdiv(divNum,divDenom),Z(neglit(1(#)))),divDenom)))
\heuristics(notHumanReadable, defOps_mod)
Choices: true}
|
testEquality(String, String)[1253] |
0s |
passed |
[1254] jmod_geZero, jmod_geZero {
\find(jmod(divNum,divDenom))
\add [imp(not(equals(divDenom,Z(0(#)))),leq(Z(0(#)),if-then-else(geq(divNum,Z(0(#))),jmod(divNum,divDenom),neg(jmod(divNum,divDenom)))))]==>[]
Choices: true}
|
testEquality(String, String)[1254] |
0s |
passed |
[1255] jmod_pulloutminusDenom, jmod_pulloutminusDenom {
\find(jmod(divNum,neg(divDenom)))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(jmod(divNum,divDenom))
Choices: true}
|
testEquality(String, String)[1255] |
0s |
passed |
[1256] jmod_pulloutminusNum, jmod_pulloutminusNum {
\find(jmod(neg(divNum),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(neg(jmod(divNum,divDenom)))
Choices: true}
|
testEquality(String, String)[1256] |
0s |
passed |
[1257] jmodjmod, jmodjmod {
\add [all{N (variable)}(all{D1 (variable)}(all{D2 (variable)}(imp(and(and(and(not(equals(D1,Z(0(#)))),not(equals(D2,Z(0(#))))),equals(jmod(D1,D2),Z(0(#)))),equiv(geq(D1,Z(0(#))),geq(D2,Z(0(#))))),equals(jmod(N,D2),jmod(jmod(N,D1),D2))))))]==>[]
Choices: true}
|
testEquality(String, String)[1257] |
0s |
passed |
[1258] lastIndexOf, lastIndexOf {
\find(clLastIndexOfChar(sourceStr,c,i))
\varcond(\notFreeIn(iv (variable), sourceStr (Seq term)), \notFreeIn(iv (variable), i (int term)), \notFreeIn(iv (variable), c (int term)))
\replacewith(ifExThenElse{iv (variable)}(and(and(and(gt(iv,Z(0(#))),geq(i,iv)),lt(sub(i,iv),seqLen(sourceStr))),equals(int::seqGet(sourceStr,sub(i,iv)),c)),sub(i,iv),Z(neglit(1(#)))))
\heuristics(stringsExpandDefNormalOp)
Choices: Strings:on}
|
testEquality(String, String)[1258] |
0.001s |
passed |
[1259] lastIndexOfStr, lastIndexOfStr {
\find(clLastIndexOfCl(sourceStr,i,searchStr))
\varcond(\notFreeIn(iv (variable), sourceStr (Seq term)), \notFreeIn(iv (variable), i (int term)), \notFreeIn(iv (variable), searchStr (Seq term)))
\replacewith(ifExThenElse{iv (variable)}(and(and(and(gt(iv,Z(0(#))),geq(sub(i,iv),Z(0(#)))),leq(sub(add(seqLen(searchStr),i),iv),seqLen(sourceStr))),equals(seqSub(sourceStr,sub(i,iv),sub(add(seqLen(searchStr),i),iv)),searchStr)),sub(i,iv),Z(neglit(1(#)))))
\heuristics(stringsExpandDefNormalOp)
Choi… |
testEquality(String, String)[1259] |
0s |
passed |
[125] array2seqDef, array2seqDef {
\find(array2seq(h,a))
\varcond(\notFreeIn(u (variable), h (Heap term)), \notFreeIn(u (variable), a (java.lang.Object term)))
\replacewith(seqDef{u (variable)}(Z(0(#)),length(a),any::select(h,a,arr(u))))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[125] |
0.001s |
passed |
[1260] le1_add1_eq_le, le1_add1_eq_le {
\find(lt(i0,add(i1,Z(1(#)))))
\replacewith(leq(i0,i1))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1260] |
0.001s |
passed |
[1261] left_add_mult_distrib, left_add_mult_distrib {
\find(add(mul(i0,i1),add(mul(i2,i1),i3)))
\replacewith(add(mul(add(i0,i2),i1),i3))
Choices: true}
|
testEquality(String, String)[1261] |
0.001s |
passed |
[1262] lenNonNegative, lenNonNegative {
\find(seqLen(seq))
\sameUpdateLevel\add [leq(Z(0(#)),seqLen(seq))]==>[]
\heuristics(inReachableStateImplication)
Choices: sequences:on}
|
testEquality(String, String)[1262] |
0.001s |
passed |
[1263] lenOfArray2seq, lenOfArray2seq {
\find(seqLen(array2seq(h,a)))
\replacewith(length(a))
Choices: sequences:on}
|
testEquality(String, String)[1263] |
0.001s |
passed |
[1264] lenOfSeqConcat, lenOfSeqConcat {
\find(seqLen(seqConcat(seq,seq2)))
\replacewith(add(seqLen(seq),seqLen(seq2)))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1264] |
0.001s |
passed |
[1265] lenOfSeqConcatEQ, lenOfSeqConcatEQ {
\assumes ([equals(seqConcat(seq,seq2),EQ)]==>[])
\find(seqLen(EQ))
\sameUpdateLevel\replacewith(add(seqLen(seq),seqLen(seq2)))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1265] |
0.001s |
passed |
[1266] lenOfSeqDef, lenOfSeqDef {
\find(seqLen(seqDef{uSub (variable)}(from,to,t)))
\replacewith(if-then-else(lt(from,to),sub(to,from),Z(0(#))))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1266] |
0.001s |
passed |
[1267] lenOfSeqDefEQ, lenOfSeqDefEQ {
\assumes ([equals(seqDef{uSub (variable)}(from,to,t),EQ)]==>[])
\find(seqLen(EQ))
\sameUpdateLevel\replacewith(if-then-else(leq(from,to),sub(to,from),Z(0(#))))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1267] |
0s |
passed |
[1268] lenOfSeqEmpty, lenOfSeqEmpty {
\find(seqLen(seqEmpty))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1268] |
0.001s |
passed |
[1269] lenOfSeqEmptyEQ, lenOfSeqEmptyEQ {
\assumes ([equals(seqEmpty,EQ)]==>[])
\find(seqLen(EQ))
\sameUpdateLevel\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1269] |
0.001s |
passed |
[126] arrayCreation, arrayCreation {
\find(#normal ( (modal operator))\[{ ..
#lhs = #na;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#na (program ArrayCreation))))
\replacewith(#normal ( (modal operator))\[{ ..
#typeof(#na) #v0;
init-array-creation(#na)
#lhs = #v0;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[126] |
0.001s |
passed |
[1270] lenOfSeqReverse, lenOfSeqReverse {
\find(seqLen(seqReverse(seq)))
\replacewith(seqLen(seq))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1270] |
0.001s |
passed |
[1271] lenOfSeqReverseEQ, lenOfSeqReverseEQ {
\assumes ([equals(seqReverse(seq),EQ)]==>[])
\find(seqLen(EQ))
\sameUpdateLevel\replacewith(seqLen(seq))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1271] |
0.001s |
passed |
[1272] lenOfSeqSingleton, lenOfSeqSingleton {
\find(seqLen(seqSingleton(x)))
\replacewith(Z(1(#)))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1272] |
0.001s |
passed |
[1273] lenOfSeqSingletonEQ, lenOfSeqSingletonEQ {
\assumes ([equals(seqSingleton(x),EQ)]==>[])
\find(seqLen(EQ))
\sameUpdateLevel\replacewith(Z(1(#)))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1273] |
0.001s |
passed |
[1274] lenOfSeqSub, lenOfSeqSub {
\find(seqLen(seqSub(seq,from,to)))
\replacewith(if-then-else(lt(from,to),sub(to,from),Z(0(#))))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1274] |
0.001s |
passed |
[1275] lenOfSeqSubEQ, lenOfSeqSubEQ {
\assumes ([equals(seqSub(seq,from,to),EQ)]==>[])
\find(seqLen(EQ))
\sameUpdateLevel\replacewith(if-then-else(lt(from,to),sub(to,from),Z(0(#))))
\heuristics(find_term_not_in_assumes, simplify)
Choices: sequences:on}
|
testEquality(String, String)[1275] |
0.001s |
passed |
[1276] lengthReplace, lengthReplace {
\find(seqLen(clReplace(str,searchChar,replaceChar)))
\replacewith(seqLen(str))
\heuristics(stringsSimplify)
Choices: Strings:on}
|
testEquality(String, String)[1276] |
0.001s |
passed |
[1277] lengthReplaceEQ, lengthReplaceEQ {
\assumes ([equals(clReplace(str,searchChar,replaceChar),newStr)]==>[])
\find(seqLen(newStr))
\sameUpdateLevel\replacewith(seqLen(str))
\heuristics(stringsSimplify)
Choices: Strings:on}
|
testEquality(String, String)[1277] |
0.001s |
passed |
[1278] leq_add, leq_add {
\find(==>leq(i0,i1))
\varcond(\notFreeIn(j2 (variable), i1 (int term)), \notFreeIn(j2 (variable), i0 (int term)))
\replacewith([]==>[exists{j2 (variable)}(leq(add(i0,j2),add(i1,j2)))])
Choices: true}
|
testEquality(String, String)[1278] |
0.001s |
passed |
[1279] leq_add_iff1, leq_add_iff1 {
\find(leq(add(mul(i0,i1),i2),add(mul(i3,i1),i4)))
\replacewith(leq(add(mul(sub(i0,i3),i1),i2),i4))
Choices: true}
|
testEquality(String, String)[1279] |
0.001s |
passed |
[127] arrayCreationWithInitializers, arrayCreationWithInitializers {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #arrayinitializer;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#lhs (program LeftHandSide))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#lhs) #v0;
init-array-creation(#arrayinitializer)
#lhs = #v0;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[127] |
0.003s |
passed |
[1280] leq_add_iff2, leq_add_iff2 {
\find(leq(add(mul(i0,i1),i2),add(mul(i3,i1),i4)))
\replacewith(leq(i2,add(mul(sub(i3,i0),i1),i4)))
Choices: true}
|
testEquality(String, String)[1280] |
0.001s |
passed |
[1281] leq_add_one, leq_add_one {
\find(leq(i0,i1))
\replacewith(leq(add(i0,Z(1(#))),add(i1,Z(1(#)))))
Choices: true}
|
testEquality(String, String)[1281] |
0.001s |
passed |
[1282] leq_diff1_eq, leq_diff1_eq {
\find(leq(i0,sub(i1,Z(1(#)))))
\replacewith(lt(i0,i1))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1282] |
0.001s |
passed |
[1283] leq_diff_1, leq_diff_1 {
\find(leq(i0,add(i0,Z(1(#)))))
\replacewith(true)
\heuristics(int_arithmetic)
Choices: true}
|
testEquality(String, String)[1283] |
0.001s |
passed |
[1284] leq_iff_diff_leq_0, leq_iff_diff_leq_0 {
\find(leq(i0,i1))
\replacewith(leq(sub(i0,i1),Z(0(#))))
Choices: true}
|
testEquality(String, String)[1284] |
0.001s |
passed |
[1285] leq_literals, leq_literals {
\find(leq(Z(iz),Z(jz)))
\replacewith(#leq(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1285] |
0s |
passed |
[1286] leq_to_geq, leq_to_geq {
\find(leq(i,i0))
\replacewith(geq(i0,i))
Choices: true}
|
testEquality(String, String)[1286] |
0s |
passed |
[1287] leq_to_gt, leq_to_gt {
\find(leq(i,j))
\replacewith(not(gt(i,j)))
Choices: true}
|
testEquality(String, String)[1287] |
0s |
passed |
[1288] leq_to_gt_alt, leq_to_gt_alt {
\find(leq(i,j))
\replacewith(or(lt(i,j),equals(i,j)))
Choices: true}
|
testEquality(String, String)[1288] |
0s |
passed |
[1289] leq_trans, leq_trans {
\assumes ([leq(i,i0)]==>[])
\find(leq(i0,i1)==>)
\add [leq(i,i1)]==>[]
Choices: true}
|
testEquality(String, String)[1289] |
0.001s |
passed |
[128] arrayInitialisation, arrayInitialisation {
\find(#allmodal ( (modal operator))\[{ ..
for (int #v = #se; #v < this.#length; #v++)
this[#v] = #lit;
... }\] (post))
\replacewith(update-application(elem-update(heap)(memset(heap,arrayRange(#a,#se,sub(length(#a),Z(1(#)))),#lit)),#allmodal(post)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[128] |
0.001s |
passed |
[1290] less_1_mult, less_1_mult {
\find(and(lt(Z(1(#)),i0),lt(Z(1(#)),i1)))
\replacewith(lt(Z(1(#)),mul(i0,i1)))
Choices: true}
|
testEquality(String, String)[1290] |
0.001s |
passed |
[1291] less_add, less_add {
\find(==>lt(i0,i1))
\varcond(\notFreeIn(j2 (variable), i1 (int term)), \notFreeIn(j2 (variable), i0 (int term)))
\replacewith([]==>[exists{j2 (variable)}(lt(add(i0,j2),add(i1,j2)))])
Choices: true}
|
testEquality(String, String)[1291] |
0s |
passed |
[1292] less_add_iff1, less_add_iff1 {
\find(lt(add(mul(i0,i1),i2),add(mul(i3,i1),i4)))
\replacewith(lt(add(mul(sub(i0,i3),i1),i2),i4))
Choices: true}
|
testEquality(String, String)[1292] |
0s |
passed |
[1293] less_add_iff2, less_add_iff2 {
\find(lt(add(mul(i0,i1),i2),add(mul(i3,i1),i4)))
\replacewith(lt(i2,add(mul(sub(i3,i0),i1),i4)))
Choices: true}
|
testEquality(String, String)[1293] |
0.001s |
passed |
[1294] less_add_one, less_add_one {
\find(lt(i0,i1))
\replacewith(lt(add(i0,Z(1(#))),add(i1,Z(1(#)))))
Choices: true}
|
testEquality(String, String)[1294] |
0.001s |
passed |
[1295] less_base, less_base {
\find(lt(i,i))
\replacewith(false)
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1295] |
0.001s |
passed |
[1296] less_equal_than_comparison_new, less_equal_than_comparison_new {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 <= #senf1;
... }\] (post))
\replacewith(if-then-else(leq(#senf0,#senf1),#allmodal ( (modal operator))\[{ ..
#lhs = true;
... }\] (post),#allmodal ( (modal operator))\[{ ..
#lhs = false;
... }\] (post)))
\heuristics(split_if, simplify_prog, obsolete)
Choices: programRules:Java}
|
testEquality(String, String)[1296] |
0.001s |
passed |
[1297] less_equal_than_comparison_simple, less_equal_than_comparison_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 <= #senf1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(leq(#senf0,#senf1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1297] |
0.001s |
passed |
[1298] less_equal_than_comparison_simple_double, less_equal_than_comparison_simple_double {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seDouble0 <= #seDouble1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(leqDouble(#seDouble0,#seDouble1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1298] |
0.001s |
passed |
[1299] less_equal_than_comparison_simple_float, less_equal_than_comparison_simple_float {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seFloat0 <= #seFloat1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(leqFloat(#seFloat0,#seFloat1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1299] |
0.001s |
passed |
[129] arrayLengthIsAShort, arrayLengthIsAShort {
\find(length(o))
\sameUpdateLevel\add [inShort(length(o))]==>[]
\heuristics(inReachableStateImplication)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[129] |
0.001s |
passed |
[12] activeUseByteCast, activeUseByteCast {
\find(#allmodal ( (modal operator))\[{ ..
#sv = (byte) #seShortIntLong;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = (byte) #seShortIntLong;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[12] |
0.002s |
passed |
[1300] less_iff_diff_less_0, less_iff_diff_less_0 {
\find(lt(i0,i1))
\replacewith(lt(sub(i0,i1),Z(0(#))))
Choices: true}
|
testEquality(String, String)[1300] |
0.001s |
passed |
[1301] less_is_alternative_1, less_is_alternative_1 {
\assumes ([lt(i,i0),lt(i0,i)]==>[])
\closegoal
Choices: true}
|
testEquality(String, String)[1301] |
0.001s |
passed |
[1302] less_is_alternative_2, less_is_alternative_2 {
\assumes ([]==>[lt(i,i0)])
\find(==>lt(i0,i))
\add [equals(i,i0)]==>[]
Choices: true}
|
testEquality(String, String)[1302] |
0s |
passed |
[1303] less_is_total, less_is_total {
\find(i)
\sameUpdateLevel\add [lt(i0,i)]==>[] ;
\add [equals(i,i0)]==>[] ;
\add [lt(i,i0)]==>[]
Choices: true}
|
testEquality(String, String)[1303] |
0s |
passed |
[1304] less_is_total_heu, less_is_total_heu {
\assumes ([]==>[lt(i,i0),equals(i,i0),lt(i0,i)])
\closegoal
Choices: true}
|
testEquality(String, String)[1304] |
0s |
passed |
[1305] less_literals, less_literals {
\find(lt(Z(iz),Z(jz)))
\replacewith(#less(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1305] |
0s |
passed |
[1306] less_neg, less_neg {
\find(lt(i,i0))
\replacewith(not(lt(i0,add(i,Z(1(#))))))
Choices: true}
|
testEquality(String, String)[1306] |
0s |
passed |
[1307] less_plus, less_plus {
\find(lt(Z(0(#)),add(i0,i1)))
\replacewith(lt(neg(i0),i1))
Choices: true}
|
testEquality(String, String)[1307] |
0s |
passed |
[1308] less_sub, less_sub {
\find(lt(i,i0))
\replacewith(lt(neg(i0),neg(i)))
Choices: true}
|
testEquality(String, String)[1308] |
0.001s |
passed |
[1309] less_than_comparison_new, less_than_comparison_new {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 < #senf1;
... }\] (post))
\replacewith(if-then-else(lt(#senf0,#senf1),#allmodal ( (modal operator))\[{ ..
#lhs = true;
... }\] (post),#allmodal ( (modal operator))\[{ ..
#lhs = false;
... }\] (post)))
\heuristics(split_if, simplify_prog, obsolete)
Choices: programRules:Java}
|
testEquality(String, String)[1309] |
0.001s |
passed |
[130] arrayLengthNotNegative, arrayLengthNotNegative {
\find(length(o))
\sameUpdateLevel\add [geq(length(o),Z(0(#)))]==>[]
\heuristics(inReachableStateImplication)
Choices: programRules:Java}
|
testEquality(String, String)[130] |
0.001s |
passed |
[1310] less_than_comparison_simple, less_than_comparison_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 < #senf1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(lt(#senf0,#senf1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1310] |
0s |
passed |
[1311] less_than_comparison_simple_double, less_than_comparison_simple_double {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seDouble0 < #seDouble1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(ltDouble(#seDouble0,#seDouble1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1311] |
0.001s |
passed |
[1312] less_than_comparison_simple_float, less_than_comparison_simple_float {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seFloat0 < #seFloat1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(ltFloat(#seFloat0,#seFloat1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1312] |
0s |
passed |
[1313] less_trans, less_trans {
\assumes ([lt(i,i0)]==>[])
\find(lt(i0,i1)==>)
\add [lt(i,i1)]==>[]
Choices: true}
|
testEquality(String, String)[1313] |
0.009s |
passed |
[1314] less_zero_is_total, less_zero_is_total {
\find(i)
\sameUpdateLevel\add [lt(Z(0(#)),i)]==>[] ;
\add [equals(i,Z(0(#)))]==>[] ;
\add [lt(i,Z(0(#)))]==>[]
Choices: true}
|
testEquality(String, String)[1314] |
0.001s |
passed |
[1315] local_cut, local_cut {
\find(phi)
\replacewith(and(or(not(psi),phi),or(psi,phi)))
Choices: true}
|
testEquality(String, String)[1315] |
0.001s |
passed |
[1316] log1Concrete, log1Concrete {
\find(log(base,Z(1(#))))
\replacewith(if-then-else(gt(base,Z(1(#))),Z(0(#)),undefinedLog(base,Z(1(#)))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1316] |
0.001s |
passed |
[1317] logDefinition, logDefinition {
\find(log(base,x))
\replacewith(if-then-else(and(geq(x,Z(1(#))),gt(base,Z(1(#)))),if-then-else(lt(x,base),Z(0(#)),add(Z(1(#)),log(base,div(x,base)))),undefinedLog(base,x)))
Choices: true}
|
testEquality(String, String)[1317] |
0.001s |
passed |
[1318] logLessThanPow, logLessThanPow {
\find(lt(log(base,x),exp))
\add [imp(and(and(and(gt(base,Z(1(#))),geq(x,Z(1(#)))),lt(x,pow(base,exp))),geq(exp,Z(1(#)))),lt(log(base,x),exp))]==>[]
Choices: true}
|
testEquality(String, String)[1318] |
0.001s |
passed |
[1319] logLessThanPowConcrete, logLessThanPowConcrete {
\find(==>lt(log(base,x),exp))
\add []==>[and(and(and(gt(base,Z(1(#))),geq(x,Z(1(#)))),lt(x,pow(base,exp))),geq(exp,Z(1(#))))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1319] |
0.001s |
passed |
[131] array_post_declaration, array_post_declaration {
\find(#allmodal ( (modal operator))\[{ ..
#arraypost
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
array-post-declaration(#arraypost)
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[131] |
0.001s |
passed |
[1320] logMono, logMono {
\find(leq(log(base,x),log(base,x_2)))
\add [imp(and(and(geq(x,Z(1(#))),geq(x_2,x)),gt(base,Z(1(#)))),leq(log(base,x),log(base,x_2)))]==>[]
Choices: true}
|
testEquality(String, String)[1320] |
0s |
passed |
[1321] logMonoConcrete, logMonoConcrete {
\find(leq(log(base,x_2),add(Z(neglit(1(#))),log(base,x)))==>)
\add []==>[and(and(geq(x,Z(1(#))),geq(x_2,x)),gt(base,Z(1(#))))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1321] |
0s |
passed |
[1322] logPositive, logPositive {
\find(log(base,x))
\add [imp(and(gt(base,Z(1(#))),geq(x,Z(1(#)))),geq(log(base,x),Z(0(#))))]==>[]
Choices: true}
|
testEquality(String, String)[1322] |
0s |
passed |
[1323] logPositiveConcrete, logPositiveConcrete {
\find(leq(log(base,x),Z(neglit(1(#))))==>)
\add []==>[and(gt(base,Z(1(#))),geq(x,Z(1(#))))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1323] |
0s |
passed |
[1324] logPowIdentity, logPowIdentity {
\find(log(base,x))
\varcond(\notFreeIn(i (variable), base (int term)), \notFreeIn(i (variable), x (int term)))
\add [imp(gt(base,Z(1(#))),all{i (variable)}(imp(geq(i,Z(0(#))),equals(log(base,pow(base,i)),i))))]==>[]
Choices: true}
|
testEquality(String, String)[1324] |
0s |
passed |
[1325] logPowIdentityConcrete, logPowIdentityConcrete {
\find(log(base,pow(base,exp)))
\replacewith(if-then-else(gt(base,Z(1(#))),if-then-else(geq(exp,Z(0(#))),exp,log(base,undefinedPow(base,exp))),undefinedLog(base,pow(base,exp))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1325] |
0s |
passed |
[1326] logProdIdentity, logProdIdentity {
\find(log(base,bprod{i (variable)}(Z(0(#)),exp,base)))
\varcond(\notFreeIn(i (variable), base (int term)), \notFreeIn(i (variable), exp (int term)))
\add [imp(and(geq(exp,Z(0(#))),gt(base,Z(1(#)))),equals(log(base,bprod{i (variable)}(Z(0(#)),exp,base)),exp))]==>[]
Choices: true}
|
testEquality(String, String)[1326] |
0.001s |
passed |
[1327] logProdIdentityConcrete, logProdIdentityConcrete {
\find(log(base,bprod{i (variable)}(Z(0(#)),exp,base)))
\varcond(\notFreeIn(i (variable), base (int term)), \notFreeIn(i (variable), exp (int term)))
\replacewith(if-then-else(gt(base,Z(1(#))),if-then-else(lt(exp,Z(0(#))),Z(0(#)),exp),undefinedLog(base,bprod{i (variable)}(Z(0(#)),exp,base))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1327] |
0.001s |
passed |
[1328] logProduct, logProduct {
\find(log(base,mul(x,base)))
\add [imp(and(geq(x,Z(1(#))),gt(base,Z(1(#)))),equals(log(base,mul(x,base)),add(log(base,x),Z(1(#)))))]==>[]
Choices: true}
|
testEquality(String, String)[1328] |
0.001s |
passed |
[1329] logSelfConcrete, logSelfConcrete {
\find(log(base,base))
\replacewith(if-then-else(gt(base,Z(1(#))),Z(1(#)),undefinedLog(base,base)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1329] |
0s |
passed |
[132] array_self_reference, array_self_reference {
\assumes ([wellFormed(heapSV)]==>[equals(array,null)])
\find(arrayStoreValid(array,G::select(heapSV,array,arr(idx))))
\sameUpdateLevel\replacewith(true)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[132] |
0.001s |
passed |
[1330] logSqueeze, logSqueeze {
\find(equals(log(base,x),exp))
\add [imp(and(and(and(and(gt(base,Z(1(#))),geq(x,Z(1(#)))),geq(x,pow(base,exp))),lt(x,pow(base,add(exp,Z(1(#)))))),geq(exp,Z(0(#)))),equals(log(base,x),exp))]==>[]
Choices: true}
|
testEquality(String, String)[1330] |
0s |
passed |
[1331] logTimesBaseConcrete, logTimesBaseConcrete {
\find(log(base,mul(x,base)))
\replacewith(if-then-else(and(geq(x,Z(1(#))),gt(base,Z(1(#)))),add(log(base,x),Z(1(#))),undefinedLog(base,mul(x,base))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1331] |
0s |
passed |
[1332] loopScopeInvBox, loopScopeInvBox {
\find(#box ( (modal operator))\[{ ..
while (#nse) #body
... }\] (post))
\varcond(\new(#permissionsBefore_LOOP (program Variable), KeYJavaType:null,Heap), \new(#savedHeapBefore_LOOP (program Variable), KeYJavaType:null,Heap), \new(#heapBefore_LOOP (program Variable), KeYJavaType:null,Heap), \new(#x (program Variable), (type, sort): (boolean,boolean)), \varcond (\storeTermIn(loopFormula (formula), #box ( (modal operator))\[{
while (#nse) #body
}\] (post))), \varcond (\storeStmtIn(#loopS… |
testEquality(String, String)[1332] |
0.002s |
passed |
[1333] loopScopeInvDia, loopScopeInvDia {
\find(#dia ( (modal operator))\[{ ..
while (#nse) #body
... }\] (post))
\varcond(\new(#permissionsBefore_LOOP (program Variable), KeYJavaType:null,Heap), \new(#savedHeapBefore_LOOP (program Variable), KeYJavaType:null,Heap), \new(#heapBefore_LOOP (program Variable), KeYJavaType:null,Heap), \new(#variant (program Variable), KeYJavaType:null,any), \new(#x (program Variable), (type, sort): (boolean,boolean)), \varcond (\storeTermIn(loopFormula (formula), #dia ( (modal operator))\[{
while… |
testEquality(String, String)[1333] |
0.002s |
passed |
[1334] loopUnwind, loopUnwind {
\find(#allmodal ( (modal operator))\[{ ..
while (#e) #s
... }\] (post))
\varcond(\newLabel (#innerLabel (program Label)), \newLabel (#outerLabel (program Label)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#unwind-loop(while (#e) #s)
... }\] (post))
\heuristics(loop_expand)
Choices: programRules:Java}
|
testEquality(String, String)[1334] |
0.011s |
passed |
[1335] lsBreak, lsBreak {
\find(#allmodal ( (modal operator))\[{ ..
loop-scope (#lhs) {
break;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = true;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1335] |
0.001s |
passed |
[1336] lsContinue, lsContinue {
\find(#allmodal ( (modal operator))\[{ ..
loop-scope (#lhs) {
continue;
#slist
}
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(FALSE),post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1336] |
0.001s |
passed |
[1337] lsLblBreak, lsLblBreak {
\find(#allmodal ( (modal operator))\[{ ..
loop-scope (#lhs) {
break;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#lhs = true;
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1337] |
0s |
passed |
[1338] lsLblContinueMatch, lsLblContinueMatch {
\find(#allmodal ( (modal operator))\[{ ..
#lb:
loop-scope (#lhs) {
continue;
#slist
}
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(FALSE),post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1338] |
0.001s |
passed |
[1339] lsLblContinueNoMatch1, lsLblContinueNoMatch1 {
\find(#allmodal ( (modal operator))\[{ ..
loop-scope (#lhs) {
continue;
#slist
}
... }\] (post))
\varcond(\varcond (\storeStmtIn(#lsStmt (program Statement), #allmodal ( (modal operator))\[{
loop-scope (#lhs) {
continue;
#slist
}
}\] (post))), \varcond (\not\isLabeled(#lsStmt (program Statement)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = true;
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1339] |
0s |
passed |
[133] array_self_reference_eq, array_self_reference_eq {
\assumes ([wellFormed(heapSV),equals(G::select(heapSV,array,arr(idx)),EQ)]==>[equals(array,null)])
\find(arrayStoreValid(array,EQ))
\sameUpdateLevel\replacewith(true)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[133] |
0.001s |
passed |
[1340] lsLblContinueNoMatch2, lsLblContinueNoMatch2 {
\find(#allmodal ( (modal operator))\[{ ..
#lb1:
loop-scope (#lhs) {
continue;
#slist
}
... }\] (post))
\varcond(\different (#lb1 (program Label), #lb (program Label)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = true;
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1340] |
0s |
passed |
[1341] lsReturnNonVoid, lsReturnNonVoid {
\find(#allmodal ( (modal operator))\[{ ..
loop-scope (#lhs) {
return #se;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = true;
return #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1341] |
0s |
passed |
[1342] lsReturnVoid, lsReturnVoid {
\find(#allmodal ( (modal operator))\[{ ..
loop-scope (#lhs) {
return;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = true;
return;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1342] |
0.001s |
passed |
[1343] lsThrow, lsThrow {
\find(#allmodal ( (modal operator))\[{ ..
loop-scope (#lhs) {
throw #se;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = true;
throw #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1343] |
0.003s |
passed |
[1344] lt_diff_1, lt_diff_1 {
\find(lt(i0,add(i0,Z(1(#)))))
\replacewith(true)
\heuristics(int_arithmetic)
Choices: true}
|
testEquality(String, String)[1344] |
0s |
passed |
[1345] lt_to_gt, lt_to_gt {
\find(lt(i,i0))
\replacewith(gt(i0,i))
Choices: true}
|
testEquality(String, String)[1345] |
0s |
passed |
[1346] lt_to_leq_1, lt_to_leq_1 {
\find(or(lt(i,j),equals(i,j)))
\replacewith(leq(i,j))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1346] |
0.001s |
passed |
[1347] lt_to_leq_2, lt_to_leq_2 {
\assumes ([]==>[lt(i,j)])
\find(==>equals(i,j))
\replacewith([]==>[leq(i,j)])
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1347] |
0.002s |
passed |
[1348] make_insert_eq, make_insert_eq {
\find(equals(sr,tr)==>)
\addrules [insert_eq {
\find(sr)
\replacewith(tr)
Choices: true}]
Choices: true}
|
testEquality(String, String)[1348] |
0.001s |
passed |
[1349] make_insert_eq_nonrigid, make_insert_eq_nonrigid {
\find(equals(s,t)==>)
\addrules [insert_eq_nonrigid {
\find(s)
\sameUpdateLevel\replacewith(t)
Choices: true}]
Choices: true}
|
testEquality(String, String)[1349] |
0s |
passed |
[134] array_store_known_dynamic_array_type, array_store_known_dynamic_array_type {
\assumes ([equals(J::exactInstance(array),TRUE)]==>[])
\find(arrayStoreValid(array,obj))
\sameUpdateLevel\varcond(\isReference[non_null]( J ), )
\replacewith(or(equals(obj,null),equals(#arrayBaseInstanceOf(J::exactInstance(array),obj),TRUE)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[134] |
0.002s |
passed |
[1350] mapEqualityRight, mapEqualityRight {
\find(==>equals(m0,m1))
\varcond(\notFreeIn(vy (variable), m1 (Map term)), \notFreeIn(vy (variable), m0 (Map term)))
\replacewith([]==>[all{vy (variable)}(and(equiv(inDomain(m0,vy),inDomain(m1,vy)),imp(inDomain(m0,vy),equals(mapGet(m0,vy),mapGet(m1,vy)))))])
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1350] |
0s |
passed |
[1351] mapRemoveUnchanged, mapRemoveUnchanged {
\find(equals(m,mapRemove(m,key)))
\replacewith(not(inDomain(m,key)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1351] |
0s |
passed |
[1352] mapRemoveUnchanged2, mapRemoveUnchanged2 {
\find(equals(mapRemove(m,key),m))
\replacewith(not(inDomain(m,key)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1352] |
0.001s |
passed |
[1353] mapSizeNotNegativeForFiniteMaps, mapSizeNotNegativeForFiniteMaps {
\find(mapSize(m))
\add [imp(isFinite(m),geq(mapSize(m),Z(0(#))))]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1353] |
0.001s |
passed |
[1354] mapUpdateUnchanged, mapUpdateUnchanged {
\find(equals(m,mapUpdate(m,key,value)))
\replacewith(and(inDomain(m,key),equals(mapGet(m,key),value)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1354] |
0.001s |
passed |
[1355] mapUpdateUnchanged2, mapUpdateUnchanged2 {
\find(equals(mapUpdate(m,key,value),m))
\replacewith(and(inDomain(m,key),equals(mapGet(m,key),value)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1355] |
0s |
passed |
[1356] maxAxiom, maxAxiom {
\find(equals(max{x (variable)}(b,t),t2)==>)
\varcond(\notFreeIn(y (variable), t2 (int term)), \notFreeIn(y (variable), t (int term)), \notFreeIn(y (variable), b (boolean term)), \notFreeIn(x (variable), t2 (int term)))
\add []==>[exists{x (variable)}(and(equals(b,TRUE),all{y (variable)}(imp(equals(subst{x (variable)}(y,b),TRUE),leq(subst{x (variable)}(y,t),t)))))] ;
\add [and(all{y (variable)}(subst{x (variable)}(y,imp(equals(b,TRUE),leq(t,t2)))),exists{y (variable)}(subst{x (variable)}(y,and(eq… |
testEquality(String, String)[1356] |
0s |
passed |
[1357] measuredByCheck, measuredByCheck {
\assumes ([measuredBy(m)]==>[])
\find(measuredByCheck(c))
\sameUpdateLevel\replacewith(prec(c,m))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1357] |
0s |
passed |
[1358] measuredByCheckEmpty, measuredByCheckEmpty {
\assumes ([measuredByEmpty]==>[])
\find(measuredByCheck(c))
\sameUpdateLevel\replacewith(true)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1358] |
0s |
passed |
[1359] memsetEmpty, memsetEmpty {
\find(memset(h,empty,x))
\replacewith(h)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1359] |
0.001s |
passed |
[135] asinIsNaN, asinIsNaN {
\find(asinDouble(arg))
\add [imp(or(or(doubleIsNaN(arg),ltDouble(arg,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))),gtDouble(arg,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),doubleIsNaN(asinDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[135] |
0.002s |
passed |
[1360] methodBodyExpand, methodBodyExpand {
\find(#allmodal ( (modal operator))\[{ ..
#mb
... }\] (post))
\replacewith(#introAtPreDefs(#allmodal ( (modal operator))\[{ ..
expand-method-body(#mb)
... }\] (post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1360] |
0.001s |
passed |
[1361] methodCall, methodCall {
\find(==>#allmodal ( (modal operator))\[{ ..
#se.#mn(#selist);
... }\] (post))
\varcond(\not \staticMethodReference(#se (program SimpleExpression), #mn (program MethodName), #selist (program SimpleExpression)), \mayExpandMethod(#se (program SimpleExpression), #mn (program MethodName), #selist (program SimpleExpression)), )
\add [equals(#se,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[#allmodal ( (modal operator))\[{ ..
method-call(#se.#mn(#selist))
... }\] (post)])
\heurist… |
testEquality(String, String)[1361] |
0.011s |
passed |
[1362] methodCallEmpty, methodCallEmpty {
\find(#allmodal ( (modal operator))\[{ ..
method-frame (#ex) {}
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1362] |
0.001s |
passed |
[1363] methodCallEmptyNoreturnBox, methodCallEmptyNoreturnBox {
\find(\[{ ..
method-frame (result->#v0, #ex) {}
... }\] (post))
\replacewith(box(post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1363] |
0.001s |
passed |
[1364] methodCallEmptyReturn, methodCallEmptyReturn {
\find(#allmodal ( (modal operator))\[{ ..
method-frame (#ex) {
return;
#slist
}
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1364] |
0s |
passed |
[1365] methodCallParamThrow, methodCallParamThrow {
\find(#allmodal ( (modal operator))\[{ ..
method-frame (result->#v0, #ex) {
throw #se;
#slist
}
... }\] (post))
\varcond(\isLocalVariable (#se (program SimpleExpression)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
throw #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1365] |
0s |
passed |
[1366] methodCallReturn, methodCallReturn {
\find(#allmodal ( (modal operator))\[{ ..
method-frame (result->#v0, #ex) {
return #se;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
method-frame (#ex) {
#v0 = #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1366] |
0.010s |
passed |
[1367] methodCallReturnIgnoreResult, methodCallReturnIgnoreResult {
\find(#allmodal ( (modal operator))\[{ ..
method-frame (#ex) {
return #se;
#slist
}
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1367] |
0s |
passed |
[1368] methodCallSuper, methodCallSuper {
\find(#allmodal ( (modal operator))\[{ ..
super.#mn(#elist);
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
method-call(super.#mn(#elist))
... }\] (post))
\heuristics(method_expand, simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1368] |
0s |
passed |
[1369] methodCallThrow, methodCallThrow {
\find(#allmodal ( (modal operator))\[{ ..
method-frame (#ex) {
throw #se;
#slist
}
... }\] (post))
\varcond(\isLocalVariable (#se (program SimpleExpression)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
throw #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1369] |
0s |
passed |
[136] asineIsZero, asineIsZero {
\find(asinDouble(arg))
\add [imp(equals(arg,DFP(0(#))),equals(asinDouble(arg),DFP(0(#))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[136] |
0.001s |
passed |
[1370] methodCallUnfoldArguments, methodCallUnfoldArguments {
\find(#allmodal ( (modal operator))\[{ ..
#nsmr
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#evaluate-arguments(#nsmr)
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1370] |
0s |
passed |
[1371] methodCallUnfoldTarget, methodCallUnfoldTarget {
\find(#allmodal ( (modal operator))\[{ ..
#nse.#mn(#elist);
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0;
#v0 = #nse;
#v0.#mn(#elist);
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1371] |
0.001s |
passed |
[1372] methodCallWithAssignment, methodCallWithAssignment {
\find(==>#allmodal ( (modal operator))\[{ ..
#lhs = #se.#mn(#selist);
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#lhs (program LeftHandSide))), \not \staticMethodReference(#se (program SimpleExpression), #mn (program MethodName), #selist (program SimpleExpression)), \mayExpandMethod(#se (program SimpleExpression), #mn (program MethodName), #selist (program SimpleExpression)), )
\add [equals(#se,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[#allm… |
testEquality(String, String)[1372] |
0.001s |
passed |
[1373] methodCallWithAssignmentSuper, methodCallWithAssignmentSuper {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = super.#mn(#elist);
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#lhs (program LeftHandSide))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#lhs) #v0;
method-call(super.#mn(#elist))
#lhs = #v0;
... }\] (post))
\heuristics(method_expand, simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1373] |
0s |
passed |
[1374] methodCallWithAssignmentUnfoldArguments, methodCallWithAssignmentUnfoldArguments {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nsmr;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#evaluate-arguments(#lhs = #nsmr)
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1374] |
0s |
passed |
[1375] methodCallWithAssignmentUnfoldTarget, methodCallWithAssignmentUnfoldTarget {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse.#mn(#elist);
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0;
#v0 = #nse;
#lhs = #v0.#mn(#elist);
... }\] (post))
\heuristics(simplify_autoname)
Choices: programRules:Java}
|
testEquality(String, String)[1375] |
0.001s |
passed |
[1376] methodCallWithAssignmentWithinClass, methodCallWithAssignmentWithinClass {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #mn(#elist);
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#lhs (program LeftHandSide))), \mayExpandMethod(null, #mn (program MethodName), #elist (program Expression)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#lhs) #v0;
method-call(#mn(#elist))
#lhs = #v0;
... }\] (post))
\heuristics(method_expand)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[1376] |
0.001s |
passed |
[1377] methodCallWithinClass, methodCallWithinClass {
\find(#allmodal ( (modal operator))\[{ ..
#mn(#elist);
... }\] (post))
\varcond(\mayExpandMethod(null, #mn (program MethodName), #elist (program Expression)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
method-call(#mn(#elist))
... }\] (post))
\heuristics(method_expand)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[1377] |
0.001s |
passed |
[1378] minAxiom, minAxiom {
\find(equals(min{x (variable)}(b,t),t2)==>)
\varcond(\notFreeIn(y (variable), t2 (int term)), \notFreeIn(y (variable), t (int term)), \notFreeIn(y (variable), b (boolean term)), \notFreeIn(x (variable), t2 (int term)))
\add []==>[exists{x (variable)}(and(equals(b,TRUE),all{y (variable)}(imp(equals(subst{x (variable)}(y,b),TRUE),geq(subst{x (variable)}(y,t),t)))))] ;
\add [and(all{y (variable)}(subst{x (variable)}(y,imp(equals(b,TRUE),geq(t,t2)))),exists{y (variable)}(subst{x (variable)}(y,and(eq… |
testEquality(String, String)[1378] |
0.001s |
passed |
[1379] minus_distribute_1, minus_distribute_1 {
\find(neg(add(i,i1)))
\replacewith(add(neg(i),neg(i1)))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1379] |
0.001s |
passed |
[137] asineRange, asineRange {
\find(asinDouble(arg))
\add [imp(and(geqDouble(arg,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),leqDouble(arg,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),and(geqDouble(asinDouble(arg),negDouble(DFP(2(5(3(5(7(6(4(2(9(6(5(0(3(5(7(9(0(6(4(#)))))))))))))))))))))),leqDouble(asinDouble(arg),DFP(2(5(3(5(7(6(4(2(9(6(5(0(3(5(7(9(0(6(4(#)))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[137] |
0.001s |
passed |
[1380] minus_distribute_2, minus_distribute_2 {
\find(neg(sub(i,i1)))
\replacewith(add(neg(i),i1))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1380] |
0.001s |
passed |
[1381] mod_axiom, mod_axiom {
\find(mod(divNum,divDenom))
\replacewith(add(divNum,mul(mul(div(divNum,divDenom),Z(neglit(1(#)))),divDenom)))
\heuristics(notHumanReadable, defOps_mod)
Choices: true}
|
testEquality(String, String)[1381] |
0s |
passed |
[1382] mod_geZero, mod_geZero {
\find(mod(divNum,divDenom))
\add [imp(not(equals(divDenom,Z(0(#)))),leq(Z(0(#)),mod(divNum,divDenom)))]==>[]
Choices: true}
|
testEquality(String, String)[1382] |
0s |
passed |
[1383] mod_homoEq, mod_homoEq {
\find(equals(mod(modNumLeft,modDenom),mod(modNumRight,modDenom)))
\replacewith(equals(mod(sub(modNumLeft,modNumRight),modDenom),Z(0(#))))
\heuristics(notHumanReadable, defOps_modHomoEq)
Choices: true}
|
testEquality(String, String)[1383] |
0.008s |
passed |
[1384] mod_lessDenom, mod_lessDenom {
\find(mod(divNum,divDenom))
\add [imp(not(equals(divDenom,Z(0(#)))),lt(mod(divNum,divDenom),if-then-else(geq(divDenom,Z(0(#))),divDenom,neg(divDenom))))]==>[]
Choices: true}
|
testEquality(String, String)[1384] |
0.001s |
passed |
[1385] moduloByteFixpoint, moduloByteFixpoint {
\assumes ([inRangeByte(i)]==>[])
\find(moduloByte(i))
\sameUpdateLevel\replacewith(i)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1385] |
0.001s |
passed |
[1386] moduloByteFixpointInline, moduloByteFixpointInline {
\find(moduloByte(i))
\sameUpdateLevel\add [equals(if-then-else(inRangeByte(i),i,moduloT),moduloT),equals(moduloByte(i),moduloT)]==>[] \replacewith(moduloT)
Choices: programRules:Java}
|
testEquality(String, String)[1386] |
0.001s |
passed |
[1387] moduloByteIsInByte, moduloByteIsInByte {
\find(inByte(moduloByte(t)))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1387] |
0s |
passed |
[1388] moduloByteIsInRangeByte, moduloByteIsInRangeByte {
\find(inRangeByte(moduloByte(i)))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1388] |
0.001s |
passed |
[1389] moduloCharFixpoint, moduloCharFixpoint {
\assumes ([inRangeChar(i)]==>[])
\find(moduloChar(i))
\sameUpdateLevel\replacewith(i)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1389] |
0.001s |
passed |
[138] assertSafe, assertSafe {
\find(==>#allmodal ( (modal operator))\[{ ..
assert #e1;
... }\] (b))
\varcond(\new(#condition (program Variable), \typeof(#e1 (program Expression))), \not \containsAssignment( #e1 ), )
\add [equals(oldHeap,heap)]==>[] \replacewith([]==>[\[{
method-frame (#ex) {
#typeof(#e1) #condition = #e1;
}
}\] (all{f (variable)}(all{o (variable)}(or(and(not(equals(o,null)),equals(boolean::select(oldHeap,o,java.lang.Object::<created>),FALSE)),equals(any::select(oldHeap,o,f),any::select(heap,o,f))… |
testEquality(String, String)[138] |
0.001s |
passed |
[1390] moduloCharFixpointInline, moduloCharFixpointInline {
\find(moduloChar(i))
\sameUpdateLevel\add [equals(if-then-else(inRangeChar(i),i,moduloT),moduloT),equals(moduloChar(i),moduloT)]==>[] \replacewith(moduloT)
Choices: programRules:Java}
|
testEquality(String, String)[1390] |
0s |
passed |
[1391] moduloCharIsInChar, moduloCharIsInChar {
\find(inChar(moduloChar(t)))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1391] |
0s |
passed |
[1392] moduloCharIsInRangeChar, moduloCharIsInRangeChar {
\find(inRangeChar(moduloChar(i)))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1392] |
0s |
passed |
[1393] moduloIntFixpoint, moduloIntFixpoint {
\assumes ([inRangeInt(i)]==>[])
\find(moduloInt(i))
\sameUpdateLevel\replacewith(i)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1393] |
0.001s |
passed |
[1394] moduloIntFixpointInline, moduloIntFixpointInline {
\find(moduloInt(i))
\sameUpdateLevel\add [equals(if-then-else(inRangeInt(i),i,moduloT),moduloT),equals(moduloInt(i),moduloT)]==>[] \replacewith(moduloT)
Choices: programRules:Java}
|
testEquality(String, String)[1394] |
0.001s |
passed |
[1395] moduloIntIsInInt, moduloIntIsInInt {
\find(inInt(moduloInt(t)))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1395] |
0s |
passed |
[1396] moduloIntIsInRangeInt, moduloIntIsInRangeInt {
\find(inRangeInt(moduloInt(i)))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1396] |
0s |
passed |
[1397] moduloLongFixpoint, moduloLongFixpoint {
\assumes ([inRangeLong(i)]==>[])
\find(moduloLong(i))
\sameUpdateLevel\replacewith(i)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1397] |
0s |
passed |
[1398] moduloLongFixpointInline, moduloLongFixpointInline {
\find(moduloLong(i))
\sameUpdateLevel\add [equals(if-then-else(inRangeLong(i),i,moduloT),moduloT),equals(moduloLong(i),moduloT)]==>[] \replacewith(moduloT)
Choices: programRules:Java}
|
testEquality(String, String)[1398] |
0.001s |
passed |
[1399] moduloLongIsInLong, moduloLongIsInLong {
\find(inLong(moduloLong(t)))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1399] |
0.001s |
passed |
[139] assertSafeWithMessage, assertSafeWithMessage {
\find(==>#allmodal ( (modal operator))\[{ ..
assert #e1 : #e2;
... }\] (b))
\varcond(\new(#message (program Variable), \typeof(#e2 (program Expression))), \new(#condition (program Variable), \typeof(#e1 (program Expression))), \not \containsAssignment( #e1 ), \not \containsAssignment( #e2 ), )
\add [equals(oldHeap,heap)]==>[] \replacewith([]==>[\[{
method-frame (#ex) {
#typeof(#e1) #condition = #e1;
#typeof(#e2) #message = #e2;
}
}\] (all{f (variable)}(all{o (variable)… |
testEquality(String, String)[139] |
0.002s |
passed |
[13] activeUseCharCast, activeUseCharCast {
\find(#allmodal ( (modal operator))\[{ ..
#sv = (char) #seByteShortIntLong;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = (char) #seByteShortIntLong;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[13] |
0.001s |
passed |
[1400] moduloLongIsInRangeLong, moduloLongIsInRangeLong {
\find(inRangeLong(moduloLong(i)))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1400] |
0.001s |
passed |
[1401] moduloShortFixpoint, moduloShortFixpoint {
\assumes ([inRangeShort(i)]==>[])
\find(moduloShort(i))
\sameUpdateLevel\replacewith(i)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1401] |
0s |
passed |
[1402] moduloShortFixpointInline, moduloShortFixpointInline {
\find(moduloShort(i))
\sameUpdateLevel\add [equals(if-then-else(inRangeShort(i),i,moduloT),moduloT),equals(moduloShort(i),moduloT)]==>[] \replacewith(moduloT)
Choices: programRules:Java}
|
testEquality(String, String)[1402] |
0s |
passed |
[1403] moduloShortIsInRangeShort, moduloShortIsInRangeShort {
\find(inRangeShort(moduloShort(i)))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1403] |
0s |
passed |
[1404] moduloShortIsInShort, moduloShortIsInShort {
\find(inShort(moduloShort(t)))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1404] |
0s |
passed |
[1405] mul_assoc, mul_assoc {
\find(mul(mul(i,i0),i1))
\replacewith(mul(i,mul(i0,i1)))
Choices: true}
|
testEquality(String, String)[1405] |
0s |
passed |
[1406] mul_comm, mul_comm {
\find(mul(i0,i1))
\replacewith(mul(i1,i0))
Choices: true}
|
testEquality(String, String)[1406] |
0s |
passed |
[1407] mul_distribute_4, mul_distribute_4 {
\find(mul(i0,add(i1,i2)))
\replacewith(add(mul(i0,i1),mul(i0,i2)))
Choices: true}
|
testEquality(String, String)[1407] |
0.001s |
passed |
[1408] mul_distribute_5, mul_distribute_5 {
\find(mul(add(i1,i2),i0))
\replacewith(add(mul(i0,i1),mul(i0,i2)))
Choices: true}
|
testEquality(String, String)[1408] |
0.001s |
passed |
[1409] mul_literals, mul_literals {
\find(mul(Z(iz),Z(jz)))
\replacewith(#mul(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1409] |
0s |
passed |
[140] assignment, assignment {
\find(#allmodal ( (modal operator))\[{ ..
#loc = #se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(#se),#allmodal(post)))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[140] |
0.001s |
passed |
[1410] mult_eq_1_iff, mult_eq_1_iff {
\find(equals(mul(i0,i1),Z(1(#))))
\replacewith(or(and(equals(i0,Z(1(#))),equals(i1,Z(1(#)))),and(equals(i0,Z(neglit(1(#)))),equals(i1,Z(neglit(1(#)))))))
Choices: true}
|
testEquality(String, String)[1410] |
0s |
passed |
[1411] mult_eq_self_iff, mult_eq_self_iff {
\find(equals(i0,mul(i0,i1)))
\replacewith(or(equals(i0,Z(0(#))),equals(i1,Z(1(#)))))
Choices: true}
|
testEquality(String, String)[1411] |
0s |
passed |
[1412] mult_leq_0_iff, mult_leq_0_iff {
\find(leq(mul(i0,i1),Z(0(#))))
\replacewith(or(and(leq(i0,Z(0(#))),leq(Z(0(#)),i1)),and(leq(Z(0(#)),i0),leq(i1,Z(0(#))))))
Choices: true}
|
testEquality(String, String)[1412] |
0.001s |
passed |
[1413] mult_less_0_iff, mult_less_0_iff {
\find(lt(mul(i0,i1),Z(0(#))))
\replacewith(or(and(lt(i0,Z(0(#))),lt(Z(0(#)),i1)),and(lt(Z(0(#)),i0),lt(i1,Z(0(#))))))
Choices: true}
|
testEquality(String, String)[1413] |
0.001s |
passed |
[1414] mult_neg, mult_neg {
\find(and(lt(i0,Z(0(#))),lt(i1,Z(0(#)))))
\replacewith(lt(Z(0(#)),mul(i0,i1)))
Choices: true}
|
testEquality(String, String)[1414] |
0s |
passed |
[1415] mult_pos, mult_pos {
\find(and(lt(Z(0(#)),i0),lt(Z(0(#)),i1)))
\replacewith(lt(Z(0(#)),mul(i0,i1)))
Choices: true}
|
testEquality(String, String)[1415] |
0s |
passed |
[1416] mult_pos_neg, mult_pos_neg {
\find(and(lt(i0,Z(0(#))),lt(Z(0(#)),i1)))
\replacewith(lt(mul(i0,i1),Z(0(#))))
Choices: true}
|
testEquality(String, String)[1416] |
0.001s |
passed |
[1417] multiply_2_inEq0, multiply_2_inEq0 {
\assumes ([leq(multFacLeft,multFacRight)]==>[])
\find(leq(multLeft,multRight)==>)
\add [geq(mul(multLeft,multFacLeft),add(add(mul(neg(multRight),multFacRight),mul(multRight,multFacLeft)),mul(multLeft,multFacRight)))]==>[]
\heuristics(inEqSimp_nonLin_multiply, inEqSimp_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1417] |
0.001s |
passed |
[1418] multiply_2_inEq1, multiply_2_inEq1 {
\assumes ([geq(multFacLeft,multFacRight)]==>[])
\find(leq(multLeft,multRight)==>)
\add [leq(mul(multLeft,multFacLeft),add(add(mul(neg(multRight),multFacRight),mul(multRight,multFacLeft)),mul(multLeft,multFacRight)))]==>[]
\heuristics(inEqSimp_nonLin_multiply, inEqSimp_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1418] |
0.001s |
passed |
[1419] multiply_2_inEq2, multiply_2_inEq2 {
\assumes ([leq(multFacLeft,multFacRight)]==>[])
\find(geq(multLeft,multRight)==>)
\add [leq(mul(multLeft,multFacLeft),add(add(mul(neg(multRight),multFacRight),mul(multRight,multFacLeft)),mul(multLeft,multFacRight)))]==>[]
\heuristics(inEqSimp_nonLin_multiply, inEqSimp_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1419] |
0s |
passed |
[141] assignmentAdditionBigint1, assignmentAdditionBigint1 {
\find(#allmodal ( (modal operator))\[{ ..
#loc = #seBigint + #seAny;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(add(#seBigint,#seAny)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[141] |
0.001s |
passed |
[1420] multiply_2_inEq3, multiply_2_inEq3 {
\assumes ([geq(multFacLeft,multFacRight)]==>[])
\find(geq(multLeft,multRight)==>)
\add [geq(mul(multLeft,multFacLeft),add(add(mul(neg(multRight),multFacRight),mul(multRight,multFacLeft)),mul(multLeft,multFacRight)))]==>[]
\heuristics(inEqSimp_nonLin_multiply, inEqSimp_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1420] |
0s |
passed |
[1421] multiply_distribute_1, multiply_distribute_1 {
\find(mul(add(i0,i1),add(j0,j1)))
\replacewith(add(add(mul(i0,j0),mul(i0,j1)),add(mul(i1,j0),mul(i1,j1))))
Choices: true}
|
testEquality(String, String)[1421] |
0s |
passed |
[1422] multiply_distribute_2, multiply_distribute_2 {
\find(mul(add(i0,i1),sub(j0,j1)))
\replacewith(add(sub(mul(i0,j0),mul(i0,j1)),sub(mul(i1,j0),mul(i1,j1))))
Choices: true}
|
testEquality(String, String)[1422] |
0.001s |
passed |
[1423] multiply_distribute_3, multiply_distribute_3 {
\find(mul(sub(i0,i1),sub(j0,j1)))
\replacewith(add(sub(mul(i0,j0),mul(i0,j1)),sub(mul(i1,j1),mul(i1,j0))))
Choices: true}
|
testEquality(String, String)[1423] |
0.001s |
passed |
[1424] multiply_eq, multiply_eq {
\find(equals(multLeft,multRight)==>)
\add [equals(mul(multLeft,multFac),mul(multRight,multFac))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1424] |
0s |
passed |
[1425] multiply_inEq0, multiply_inEq0 {
\find(leq(multLeft,multRight)==>)
\add [if-then-else(geq(multFac,Z(0(#))),leq(mul(multLeft,multFac),mul(multRight,multFac)),geq(mul(multLeft,multFac),mul(multRight,multFac)))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1425] |
0s |
passed |
[1426] multiply_inEq1, multiply_inEq1 {
\find(geq(multLeft,multRight)==>)
\add [if-then-else(geq(multFac,Z(0(#))),geq(mul(multLeft,multFac),mul(multRight,multFac)),leq(mul(multLeft,multFac),mul(multRight,multFac)))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1426] |
0s |
passed |
[1427] narrowSelectArrayType, narrowSelectArrayType {
\assumes ([wellFormed(h)]==>[equals(o,null)])
\find(beta::select(h,o,arr(idx)))
\sameUpdateLevel\varcond(\hasSort(\elemSort(o (java.lang.Object term)), alpha), \strict\sub(alpha, beta), )
\replacewith(alpha::select(h,o,arr(idx)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1427] |
0s |
passed |
[1428] narrowSelectType, narrowSelectType {
\assumes ([wellFormed(h)]==>[])
\find(beta::select(h,o,f))
\varcond(\fieldType(f (Field term), alpha), \strict\sub(alpha, beta), )
\replacewith(alpha::select(h,o,f))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1428] |
0.001s |
passed |
[1429] narrowingByteCastBigint, narrowingByteCastBigint {
\find(#allmodal ( (modal operator))\[{ ..
#loc = (byte) #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastByte(#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[1429] |
0.001s |
passed |
[142] assignmentAdditionBigint2, assignmentAdditionBigint2 {
\find(#allmodal ( (modal operator))\[{ ..
#loc = #seAny + #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(add(#seAny,#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[142] |
0.002s |
passed |
[1430] narrowingByteCastInt, narrowingByteCastInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (byte) #seInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastByte(#seInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1430] |
0.001s |
passed |
[1431] narrowingByteCastLong, narrowingByteCastLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (byte) #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastByte(#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1431] |
0.001s |
passed |
[1432] narrowingByteCastShort, narrowingByteCastShort {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (byte) #seShort;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastByte(#seShort)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1432] |
0.001s |
passed |
[1433] narrowingCastFloatToInt, narrowingCastFloatToInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (int) #seFloat;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(int::cast(#seFloat)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1433] |
0s |
passed |
[1434] narrowingCastFloatToLong, narrowingCastFloatToLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (long) #seFloat;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(int::cast(#seFloat)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1434] |
0s |
passed |
[1435] narrowingCharCastBigint, narrowingCharCastBigint {
\find(#allmodal ( (modal operator))\[{ ..
#loc = (char) #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastChar(#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[1435] |
0s |
passed |
[1436] narrowingCharCastByte, narrowingCharCastByte {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (char) #seByte;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastChar(#seByte)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1436] |
0s |
passed |
[1437] narrowingCharCastInt, narrowingCharCastInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (char) #seInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastChar(#seInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1437] |
0s |
passed |
[1438] narrowingCharCastLong, narrowingCharCastLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (char) #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastChar(#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1438] |
0s |
passed |
[1439] narrowingCharCastShort, narrowingCharCastShort {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (char) #seShort;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastChar(#seShort)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1439] |
0.001s |
passed |
[143] assignmentAdditionDouble, assignmentAdditionDouble {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 + #seDouble1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[143] |
0.002s |
passed |
[1440] narrowingIntCastBigint, narrowingIntCastBigint {
\find(#allmodal ( (modal operator))\[{ ..
#loc = (int) #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastInt(#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[1440] |
0.001s |
passed |
[1441] narrowingIntCastLong, narrowingIntCastLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (int) #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastInt(#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1441] |
0.001s |
passed |
[1442] narrowingLongCastBigint, narrowingLongCastBigint {
\find(#allmodal ( (modal operator))\[{ ..
#loc = (long) #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastLong(#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[1442] |
0.001s |
passed |
[1443] narrowingShortCastBigint, narrowingShortCastBigint {
\find(#allmodal ( (modal operator))\[{ ..
#loc = (short) #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastShort(#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[1443] |
0s |
passed |
[1444] narrowingShortCastInt, narrowingShortCastInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (short) #seInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastShort(#seInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1444] |
0s |
passed |
[1445] narrowingShortCastLong, narrowingShortCastLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (short) #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaCastShort(#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1445] |
0.001s |
passed |
[1446] neg_literal, neg_literal {
\find(neg(Z(iz)))
\replacewith(Z(neglit(iz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1446] |
0.001s |
passed |
[1447] neq_and, neq_and {
\find(and(phi,not(phi)))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1447] |
0s |
passed |
[1448] neq_and_2, neq_and_2 {
\find(and(not(phi),phi))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1448] |
0s |
passed |
[1449] neq_and_3, neq_and_3 {
\find(and(and(psi,phi),not(phi)))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1449] |
0s |
passed |
[144] assignmentAdditionDoubleStrictFP, assignmentAdditionDoubleStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 + #seDouble1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(addDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeDoubleAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[144] |
0.001s |
passed |
[1450] neq_and_4, neq_and_4 {
\find(and(and(psi,not(phi)),phi))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1450] |
0.001s |
passed |
[1451] neq_or, neq_or {
\find(or(phi,not(phi)))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1451] |
0s |
passed |
[1452] neq_or_2, neq_or_2 {
\find(or(not(phi),phi))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1452] |
0s |
passed |
[1453] neq_or_3, neq_or_3 {
\find(or(or(psi,phi),not(phi)))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1453] |
0s |
passed |
[1454] neq_or_4, neq_or_4 {
\find(or(or(psi,not(phi)),phi))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1454] |
0.001s |
passed |
[1455] newSym_eq, newSym_eq {
\find(equals(mul(newSymLeft,newSymLeftCoeff),newSymRight)==>)
\add [equals(newSymLeft,add(l,newSymDef))]==>[]
\heuristics(polySimp_newSmallSym, polySimp_newSym, polySimp_leftNonUnit)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1455] |
0.001s |
passed |
[1456] niceDouble, niceDouble {
\find(doubleIsNice(arg))
\replacewith(and(not(doubleIsNaN(arg)),not(doubleIsInfinite(arg))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1456] |
0s |
passed |
[1457] niceFloat, niceFloat {
\find(floatIsNice(arg))
\replacewith(and(not(floatIsNaN(arg)),not(floatIsInfinite(arg))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1457] |
0s |
passed |
[1458] nnf_ex2all, nnf_ex2all {
\find(==>exists{u (variable)}(phi))
\replacewith([all{u (variable)}(not(phi))]==>[])
\heuristics(notHumanReadable, moveQuantToLeft)
Choices: true}
|
testEquality(String, String)[1458] |
0s |
passed |
[1459] nnf_imp2or, nnf_imp2or {
\find(imp(phi,psi))
\replacewith(or(not(phi),psi))
\heuristics(notHumanReadable, negationNormalForm)
Choices: true}
|
testEquality(String, String)[1459] |
0.001s |
passed |
[145] assignmentAdditionFloat, assignmentAdditionFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 + #seFloat1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[145] |
0.008s |
passed |
[1460] nnf_notAll, nnf_notAll {
\find(not(all{u (variable)}(phi)))
\replacewith(exists{u (variable)}(not(phi)))
\heuristics(notHumanReadable, negationNormalForm)
Choices: true}
|
testEquality(String, String)[1460] |
0s |
passed |
[1461] nnf_notAnd, nnf_notAnd {
\find(not(and(phi,psi)))
\replacewith(or(not(phi),not(psi)))
\heuristics(notHumanReadable, negationNormalForm)
Choices: true}
|
testEquality(String, String)[1461] |
0.001s |
passed |
[1462] nnf_notEqv, nnf_notEqv {
\find(not(equiv(phi,psi)))
\replacewith(equiv(phi,not(psi)))
\heuristics(notHumanReadable, negationNormalForm)
Choices: true}
|
testEquality(String, String)[1462] |
0s |
passed |
[1463] nnf_notEx, nnf_notEx {
\find(not(exists{u (variable)}(phi)))
\replacewith(all{u (variable)}(not(phi)))
\heuristics(notHumanReadable, negationNormalForm)
Choices: true}
|
testEquality(String, String)[1463] |
0.001s |
passed |
[1464] nnf_notOr, nnf_notOr {
\find(not(or(phi,psi)))
\replacewith(and(not(phi),not(psi)))
\heuristics(notHumanReadable, negationNormalForm)
Choices: true}
|
testEquality(String, String)[1464] |
0s |
passed |
[1465] noElementOfSupersetImpliesNoElementOfSubset, noElementOfSupersetImpliesNoElementOfSubset {
\assumes ([subset(s,s2)]==>[])
\find(==>elementOf(o,f,s2))
\add []==>[elementOf(o,f,s)]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1465] |
0.001s |
passed |
[1466] nonNull, nonNull {
\find(nonNull(heapSV,o,depth))
\varcond(\notFreeIn(i (variable), depth (int term)), \notFreeIn(i (variable), heapSV (Heap term)), \notFreeIn(i (variable), o (java.lang.Object term)), \isReferenceArray(o (java.lang.Object term)), )
\replacewith(and(not(equals(o,null)),imp(gt(depth,Z(0(#))),all{i (variable)}(imp(and(leq(Z(0(#)),i),lt(i,length(o))),nonNull(heapSV,java.lang.Object::select(heapSV,o,arr(i)),sub(depth,Z(1(#)))))))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1466] |
0s |
passed |
[1467] nonNullZero, nonNullZero {
\find(nonNull(heapSV,o,Z(0(#))))
\replacewith(not(equals(o,null)))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1467] |
0s |
passed |
[1468] notInDomain, notInDomain {
\find(==>inDomain(m,x))
\add [equals(mapGet(m,x),mapUndef)]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1468] |
0s |
passed |
[1469] notLeft, notLeft {
\find(not(b)==>)
\replacewith([]==>[b])
\heuristics(alpha)
Choices: true}
|
testEquality(String, String)[1469] |
0.001s |
passed |
[146] assignmentAdditionFloatStrictFP, assignmentAdditionFloatStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 + #seFloat1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(addFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[146] |
0.001s |
passed |
[1470] notRight, notRight {
\find(==>not(b))
\replacewith([b]==>[])
\heuristics(alpha)
Choices: true}
|
testEquality(String, String)[1470] |
0s |
passed |
[1471] nullCreated, nullCreated {
\add [or(all{h (variable)}(equals(boolean::select(h,null,java.lang.Object::<created>),TRUE)),all{h (variable)}(equals(boolean::select(h,null,java.lang.Object::<created>),FALSE)))]==>[]
Choices: programRules:Java}
|
testEquality(String, String)[1471] |
0.001s |
passed |
[1472] nullIsNotNonNull, nullIsNotNonNull {
\find(nonNull(heapSV,null,depth))
\replacewith(false)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1472] |
0s |
passed |
[1473] nullString, nullString {
\find(strContent(null))
\replacewith(seqConcat(seqSingleton(C(0(1(1(#))))),seqConcat(seqSingleton(C(7(1(1(#))))),seqConcat(seqSingleton(C(8(0(1(#))))),seqSingleton(C(8(0(1(#)))))))))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1473] |
0.001s |
passed |
[1474] null_can_always_be_stored_in_a_reference_type_array, null_can_always_be_stored_in_a_reference_type_array {
\assumes ([]==>[equals(array,null)])
\find(arrayStoreValid(array,null))
\sameUpdateLevel\varcond(\isReferenceArray(array (GOS term)), )
\replacewith(true)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1474] |
0.001s |
passed |
[1475] observerDependency, observerDependency {
\find(termWithLargeHeap)
\inSequentState\varcond(\sameObserver (termWithLargeHeap (any term), termWithSmallHeap (any term)), )
\add []==>[#ObserverEquality(termWithLargeHeap,termWithSmallHeap)] ;
\replacewith(termWithSmallHeap)
Choices: programRules:Java}
|
testEquality(String, String)[1475] |
0.003s |
passed |
[1476] observerDependencyEQ, observerDependencyEQ {
\find(equals(t1,t2))
\inSequentState\varcond(\sameObserver (t1 (any term), t2 (any term)), )
\add []==>[#ObserverEquality(t1,t2)] ;
\replacewith(true)
Choices: programRules:Java}
|
testEquality(String, String)[1476] |
0.002s |
passed |
[1477] observerDependencyEquiv, observerDependencyEquiv {
\find(equiv(t1,t2))
\inSequentState\varcond(\sameObserver (t1 (formula), t2 (formula)), )
\add []==>[#ObserverEquality(t1,t2)] ;
\replacewith(true)
Choices: programRules:Java}
|
testEquality(String, String)[1477] |
0.004s |
passed |
[1478] observerDependencyFormula, observerDependencyFormula {
\find(termWithLargeHeap)
\inSequentState\varcond(\sameObserver (termWithLargeHeap (formula), termWithSmallHeap (formula)), )
\add []==>[#ObserverEquality(termWithLargeHeap,termWithSmallHeap)] ;
\replacewith(termWithSmallHeap)
Choices: programRules:Java}
|
testEquality(String, String)[1478] |
0s |
passed |
[1479] onlyCreatedObjectsAreInLocSets, onlyCreatedObjectsAreInLocSets {
\assumes ([wellFormed(h)]==>[])
\find(elementOf(o2,f2,LocSet::select(h,o,f))==>)
\add [or(equals(o2,null),equals(boolean::select(h,o2,java.lang.Object::<created>),TRUE))]==>[]
\heuristics(inReachableStateImplication)
Choices: programRules:Java}
|
testEquality(String, String)[1479] |
0.001s |
passed |
[147] assignmentAdditionInt, assignmentAdditionInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 + #seCharByteShortInt1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddInt(#seCharByteShortInt0,#seCharByteShortInt1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[147] |
0.001s |
passed |
[1480] onlyCreatedObjectsAreInLocSetsEQ, onlyCreatedObjectsAreInLocSetsEQ {
\assumes ([wellFormed(h),equals(LocSet::select(h,o,f),EQ)]==>[])
\find(elementOf(o2,f2,EQ)==>)
\add [or(equals(o2,null),equals(boolean::select(h,o2,java.lang.Object::<created>),TRUE))]==>[]
\heuristics(inReachableStateImplication)
Choices: programRules:Java}
|
testEquality(String, String)[1480] |
0.001s |
passed |
[1481] onlyCreatedObjectsAreObserved, onlyCreatedObjectsAreObserved {
\find(obs)
\sameUpdateLevel\varcond(\isObserver (obs (deltaObject term), h (Heap term)), )
\add [or(equals(obs,null),equals(boolean::select(h,obs,java.lang.Object::<created>),TRUE))]==>[]
\heuristics(inReachableStateImplication)
Choices: programRules:Java}
|
testEquality(String, String)[1481] |
0.001s |
passed |
[1482] onlyCreatedObjectsAreObservedInLocSets, onlyCreatedObjectsAreObservedInLocSets {
\find(elementOf(o,f,obs)==>)
\varcond(\isObserver (obs (LocSet term), h (Heap term)), )
\add [or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE))]==>[]
\heuristics(inReachableStateImplication)
Choices: programRules:Java}
|
testEquality(String, String)[1482] |
0s |
passed |
[1483] onlyCreatedObjectsAreObservedInLocSetsEQ, onlyCreatedObjectsAreObservedInLocSetsEQ {
\assumes ([equals(obs,EQ)]==>[])
\find(elementOf(o,f,EQ)==>)
\varcond(\isObserver (obs (LocSet term), h (Heap term)), )
\add [or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE))]==>[]
\heuristics(inReachableStateImplication)
Choices: programRules:Java}
|
testEquality(String, String)[1483] |
0s |
passed |
[1484] onlyCreatedObjectsAreReferenced, onlyCreatedObjectsAreReferenced {
\assumes ([wellFormed(h)]==>[])
\find(deltaObject::select(h,o,f))
\sameUpdateLevel\add [or(equals(deltaObject::select(h,o,f),null),equals(boolean::select(h,deltaObject::select(h,o,f),java.lang.Object::<created>),TRUE))]==>[]
\heuristics(inReachableStateImplication)
Choices: programRules:Java}
|
testEquality(String, String)[1484] |
0s |
passed |
[1485] only_created_objects_are_reachable, only_created_objects_are_reachable {
\assumes ([wellFormed(h)]==>[equals(o,null)])
\find(reach(h,s,o,o2,n)==>)
\add [or(not(equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)),equals(boolean::select(h,o2,java.lang.Object::<created>),TRUE))]==>[]
\heuristics(inReachableStateImplication)
Choices: reach:on}
|
testEquality(String, String)[1485] |
0.001s |
passed |
[1486] optAxiom, optAxiom {
\find(match(opt(rexp),string))
\replacewith(or(match(repeat(rexp,Z(0(#))),string),match(rexp,string)))
\heuristics(simplify)
Choices: Strings:on}
|
testEquality(String, String)[1486] |
0.001s |
passed |
[1487] optEmpty, optEmpty {
\find(match(opt(rexp),seqEmpty))
\replacewith(true)
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1487] |
0s |
passed |
[1488] orJIntDef, orJIntDef {
\find(orJint(left,right))
\replacewith(moduloInt(binaryOr(left,right)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1488] |
0s |
passed |
[1489] orJintInInt, orJintInInt {
\find(orJint(left,right))
\sameUpdateLevel\add [inRangeInt(orJint(left,right))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1489] |
0s |
passed |
[148] assignmentAdditionLong, assignmentAdditionLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt + #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddLong(#seCharByteShortInt,#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[148] |
0.001s |
passed |
[1490] orLeft, orLeft {
\find(or(b,c)==>)
\replacewith([c]==>[]) ;
\replacewith([b]==>[])
\heuristics(beta)
Choices: true}
|
testEquality(String, String)[1490] |
0.001s |
passed |
[1491] orRight, orRight {
\find(==>or(b,c))
\replacewith([]==>[b,c])
\heuristics(alpha)
Choices: true}
|
testEquality(String, String)[1491] |
0.001s |
passed |
[1492] parallelWithSkip1, parallelWithSkip1 {
\find(parallel-upd(skip,u))
\replacewith(u)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[1492] |
0s |
passed |
[1493] parallelWithSkip2, parallelWithSkip2 {
\find(parallel-upd(u,skip))
\replacewith(u)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[1493] |
0s |
passed |
[1494] partition_inequation, partition_inequation {
\assumes ([]==>[lt(i,i0)])
\find(lt(i,i1)==>)
\add []==>[lt(i1,i0)]
Choices: true}
|
testEquality(String, String)[1494] |
0.001s |
passed |
[1495] permissionDefaultValue, permissionDefaultValue {
\find(Permission::defaultValue)
\replacewith(initFullPermission)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1495] |
0.001s |
passed |
[1496] polyDiv_pullOut, polyDiv_pullOut {
\find(div(divNum,divDenom))
\replacewith(if-then-else(equals(divDenom,Z(0(#))),div(divNum,Z(0(#))),add(div(add(divNum,mul(mul(polyDivCoeff,Z(neglit(1(#)))),divDenom)),divDenom),polyDivCoeff)))
\heuristics(notHumanReadable, defOps_divModPullOut, polyDivision)
Choices: true}
|
testEquality(String, String)[1496] |
0s |
passed |
[1497] polyDiv_zero, polyDiv_zero {
\find(div(Z(0(#)),divDenom))
\replacewith(if-then-else(equals(divDenom,Z(0(#))),div(Z(0(#)),Z(0(#))),Z(0(#))))
\heuristics(polyDivision)
Choices: true}
|
testEquality(String, String)[1497] |
0.001s |
passed |
[1498] polyMod_ltdivDenom, polyMod_ltdivDenom {
\find(mod(divNum,divDenom))
\add [and(imp(gt(divDenom,Z(0(#))),lt(mod(divNum,divDenom),divDenom)),imp(lt(divDenom,Z(0(#))),lt(mod(divNum,divDenom),neg(divDenom))))]==>[]
Choices: true}
|
testEquality(String, String)[1498] |
0.001s |
passed |
[1499] polyMod_pullOut, polyMod_pullOut {
\find(mod(divNum,divDenom))
\replacewith(mod(add(divNum,mul(mul(polyDivCoeff,Z(neglit(1(#)))),divDenom)),divDenom))
\heuristics(notHumanReadable, defOps_divModPullOut, polyDivision)
Choices: true}
|
testEquality(String, String)[1499] |
0.001s |
passed |
[149] assignmentAdditionLong2, assignmentAdditionLong2 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong + #seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddLong(#seLong,#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[149] |
0.001s |
passed |
[14] activeUseDivision, activeUseDivision {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left / #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left / #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[14] |
0.002s |
passed |
[1500] polyMod_zero, polyMod_zero {
\find(mod(Z(0(#)),divDenom))
\replacewith(Z(0(#)))
\heuristics(concrete, polyDivision)
Choices: true}
|
testEquality(String, String)[1500] |
0s |
passed |
[1501] polySimp_addAssoc, polySimp_addAssoc {
\find(add(addAssocPoly0,add(addAssocPoly1,addAssocMono)))
\replacewith(add(add(addAssocPoly0,addAssocPoly1),addAssocMono))
\heuristics(polySimp_addAssoc, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1501] |
0s |
passed |
[1502] polySimp_addComm0, polySimp_addComm0 {
\find(add(commLeft,commRight))
\replacewith(add(commRight,commLeft))
\heuristics(polySimp_addOrder, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1502] |
0.008s |
passed |
[1503] polySimp_addComm1, polySimp_addComm1 {
\find(add(add(i0,commLeft),commRight))
\replacewith(add(add(i0,commRight),commLeft))
\heuristics(polySimp_addOrder, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1503] |
0.001s |
passed |
[1504] polySimp_addLiterals, polySimp_addLiterals {
\find(add(add(i,Z(iz)),Z(jz)))
\replacewith(add(i,#add(Z(iz),Z(jz))))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1504] |
0s |
passed |
[1505] polySimp_critPair, polySimp_critPair {
\assumes ([equals(cpLeft1,cpRight1)]==>[])
\find(equals(cpLeft2,cpRight2)==>)
\add [equals(add(mul(#divideLCRMonomials(cpLeft2,cpLeft1),add(mul(Z(neglit(1(#))),cpRight1),cpLeft1)),mul(#divideLCRMonomials(cpLeft1,cpLeft2),add(cpRight2,mul(Z(neglit(1(#))),cpLeft2)))),Z(0(#)))]==>[]
\heuristics(notHumanReadable, polySimp_critPair, polySimp_saturate)
Choices: true}
|
testEquality(String, String)[1505] |
0s |
passed |
[1506] polySimp_elimNeg, polySimp_elimNeg {
\find(neg(i))
\replacewith(mul(i,Z(neglit(1(#)))))
\heuristics(polySimp_elimSubNeg, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1506] |
0s |
passed |
[1507] polySimp_elimOne, polySimp_elimOne {
\find(mul(i,Z(1(#))))
\replacewith(i)
\heuristics(polySimp_elimOneRight, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1507] |
0.001s |
passed |
[1508] polySimp_elimOneLeft0, polySimp_elimOneLeft0 {
\find(mul(Z(1(#)),i))
\replacewith(i)
\heuristics(polySimp_elimOneLeft, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1508] |
0.001s |
passed |
[1509] polySimp_elimOneLeft1, polySimp_elimOneLeft1 {
\find(mul(mul(i0,Z(1(#))),i))
\replacewith(mul(i0,i))
\heuristics(polySimp_elimOneLeft, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1509] |
0s |
passed |
[150] assignmentAdditionLong3, assignmentAdditionLong3 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 + #seLong1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddLong(#seLong0,#seLong1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[150] |
0.001s |
passed |
[1510] polySimp_elimSub, polySimp_elimSub {
\find(sub(i,i0))
\replacewith(add(i,mul(i0,Z(neglit(1(#))))))
\heuristics(polySimp_elimSubNeg, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1510] |
0s |
passed |
[1511] polySimp_homoEq, polySimp_homoEq {
\find(equals(homoLeft,homoRight))
\replacewith(equals(add(homoRight,mul(homoLeft,Z(neglit(1(#))))),Z(0(#))))
\heuristics(notHumanReadable, polySimp_homo, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1511] |
0.001s |
passed |
[1512] polySimp_invertEq, polySimp_invertEq {
\find(equals(invertLeft,invertRight))
\replacewith(equals(mul(invertLeft,Z(neglit(1(#)))),mul(invertRight,Z(neglit(1(#))))))
\heuristics(polySimp_normalise, polySimp_directEquations)
Choices: true}
|
testEquality(String, String)[1512] |
0.001s |
passed |
[1513] polySimp_mulAssoc, polySimp_mulAssoc {
\find(mul(mulAssocMono0,mul(mulAssocMono1,mulAssocAtom)))
\replacewith(mul(mul(mulAssocMono0,mulAssocMono1),mulAssocAtom))
\heuristics(polySimp_mulAssoc, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1513] |
0.001s |
passed |
[1514] polySimp_mulComm0, polySimp_mulComm0 {
\find(mul(commLeft,commRight))
\replacewith(mul(commRight,commLeft))
\heuristics(polySimp_mulOrder, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1514] |
0.001s |
passed |
[1515] polySimp_mulComm1, polySimp_mulComm1 {
\find(mul(mul(i0,commLeft),commRight))
\replacewith(mul(mul(i0,commRight),commLeft))
\heuristics(polySimp_mulOrder, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1515] |
0s |
passed |
[1516] polySimp_mulLiterals, polySimp_mulLiterals {
\find(mul(mul(i,Z(iz)),Z(jz)))
\replacewith(mul(i,#mul(Z(iz),Z(jz))))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1516] |
0.001s |
passed |
[1517] polySimp_pullOutFactor0, polySimp_pullOutFactor0 {
\find(add(mul(pullOutCommon,pullOutLeft),mul(pullOutCommon,pullOutRight)))
\replacewith(mul(pullOutCommon,add(pullOutLeft,pullOutRight)))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1517] |
0.001s |
passed |
[1518] polySimp_pullOutFactor0b, polySimp_pullOutFactor0b {
\find(add(add(i0,mul(pullOutCommon,pullOutLeft)),mul(pullOutCommon,pullOutRight)))
\replacewith(add(i0,mul(pullOutCommon,add(pullOutLeft,pullOutRight))))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1518] |
0.001s |
passed |
[1519] polySimp_pullOutFactor1, polySimp_pullOutFactor1 {
\find(add(pullOutCommon,mul(pullOutCommon,pullOutRight)))
\replacewith(mul(pullOutCommon,add(Z(1(#)),pullOutRight)))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1519] |
0s |
passed |
[151] assignmentBitwiseAndInt, assignmentBitwiseAndInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 & #seCharByteShortInt1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseAndInt(#seCharByteShortInt0,#seCharByteShortInt1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[151] |
0.002s |
passed |
[1520] polySimp_pullOutFactor1b, polySimp_pullOutFactor1b {
\find(add(add(i0,pullOutCommon),mul(pullOutCommon,pullOutRight)))
\replacewith(add(i0,mul(pullOutCommon,add(Z(1(#)),pullOutRight))))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1520] |
0s |
passed |
[1521] polySimp_pullOutFactor2, polySimp_pullOutFactor2 {
\find(add(mul(pullOutCommon,pullOutLeft),pullOutCommon))
\replacewith(mul(pullOutCommon,add(pullOutLeft,Z(1(#)))))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1521] |
0.001s |
passed |
[1522] polySimp_pullOutFactor2b, polySimp_pullOutFactor2b {
\find(add(add(i0,mul(pullOutCommon,pullOutLeft)),pullOutCommon))
\replacewith(add(i0,mul(pullOutCommon,add(pullOutLeft,Z(1(#))))))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1522] |
0.001s |
passed |
[1523] polySimp_pullOutFactor3, polySimp_pullOutFactor3 {
\find(add(pullOutCommon,pullOutCommon))
\replacewith(mul(pullOutCommon,Z(2(#))))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1523] |
0s |
passed |
[1524] polySimp_pullOutFactor3b, polySimp_pullOutFactor3b {
\find(add(add(i0,pullOutCommon),pullOutCommon))
\replacewith(add(i0,mul(pullOutCommon,Z(2(#)))))
\heuristics(polySimp_pullOutFactor, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1524] |
0s |
passed |
[1525] polySimp_rightDist, polySimp_rightDist {
\find(mul(distCoeff,add(distSummand0,distSummand1)))
\replacewith(add(mul(distCoeff,distSummand0),mul(distSummand1,distCoeff)))
\heuristics(polySimp_dist, polySimp_expand)
Choices: true}
|
testEquality(String, String)[1525] |
0s |
passed |
[1526] polySimp_sepNegMonomial, polySimp_sepNegMonomial {
\find(equals(add(sepResidue,sepNegMono),Z(0(#))))
\replacewith(equals(mul(sepNegMono,Z(neglit(1(#)))),sepResidue))
\heuristics(polySimp_balance, polySimp_directEquations)
Choices: true}
|
testEquality(String, String)[1526] |
0.001s |
passed |
[1527] polySimp_sepPosMonomial, polySimp_sepPosMonomial {
\find(equals(add(sepResidue,sepPosMono),Z(0(#))))
\replacewith(equals(sepPosMono,mul(sepResidue,Z(neglit(1(#))))))
\heuristics(notHumanReadable, polySimp_balance, polySimp_directEquations)
Choices: true}
|
testEquality(String, String)[1527] |
0.001s |
passed |
[1528] poolIsInjective, poolIsInjective {
\find(equals(strPool(slit1),strPool(slit2)))
\replacewith(equals(slit1,slit2))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1528] |
0.004s |
passed |
[1529] poolKeyIsContentOfValue, poolKeyIsContentOfValue {
\find(strContent(strPool(slit)))
\replacewith(slit)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1529] |
0.001s |
passed |
[152] assignmentBitwiseAndLong, assignmentBitwiseAndLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt & #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseAndLong(#seCharByteShortInt,#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[152] |
0.001s |
passed |
[1530] pos_mult_eq_1_iff, pos_mult_eq_1_iff {
\find(imp(lt(Z(0(#)),i0),equals(mul(i0,i1),Z(1(#)))))
\replacewith(and(equals(i0,Z(1(#))),equals(i1,Z(1(#)))))
Choices: true}
|
testEquality(String, String)[1530] |
0.001s |
passed |
[1531] postdecrement, postdecrement {
\find(#allmodal ( (modal operator))\[{ ..
#lhs1--;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) #lhs1 - 1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1531] |
0.001s |
passed |
[1532] postdecrement_array, postdecrement_array {
\find(#allmodal ( (modal operator))\[{ ..
#e[#e0]--;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] - 1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1532] |
0.001s |
passed |
[1533] postdecrement_assignment, postdecrement_assignment {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1--;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#lhs0 (program LeftHandSide))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#lhs0) #v = #lhs1;
#lhs1 = (#typeof(#lhs1)) (#lhs1 - 1);
#lhs0 = #v;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1533] |
0.001s |
passed |
[1534] postdecrement_assignment_array, postdecrement_assignment_array {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e[#e0]--;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#lhs0 (program LeftHandSide))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#typeof(#lhs0) #v1 = #v[#v0];
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] - 1);
#lhs0 = #v1;
..… |
testEquality(String, String)[1534] |
0.001s |
passed |
[1535] postdecrement_assignment_attribute, postdecrement_assignment_attribute {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e.#attribute--;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#lhs0 (program LeftHandSide))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#lhs0) #v1 = #v.#attribute;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute -
1);
#lhs0 = #v1;
... }\] (post))
\h… |
testEquality(String, String)[1535] |
0.001s |
passed |
[1536] postdecrement_attribute, postdecrement_attribute {
\find(#allmodal ( (modal operator))\[{ ..
#e.#attribute--;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute -
1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1536] |
0s |
passed |
[1537] postincrement, postincrement {
\find(#allmodal ( (modal operator))\[{ ..
#lhs1++;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 + 1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1537] |
0s |
passed |
[1538] postincrement_array, postincrement_array {
\find(#allmodal ( (modal operator))\[{ ..
#e[#e0]++;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] + 1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1538] |
0s |
passed |
[1539] postincrement_assignment, postincrement_assignment {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #lhs1++;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#lhs0 (program LeftHandSide))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#lhs0) #v = #lhs1;
#lhs1 = (#typeof(#lhs1)) (#lhs1 + 1);
#lhs0 = #v;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1539] |
0.001s |
passed |
[153] assignmentBitwiseAndLong2, assignmentBitwiseAndLong2 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong & #seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseAndLong(#seLong,#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[153] |
0.001s |
passed |
[1540] postincrement_assignment_array, postincrement_assignment_array {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e[#e0]++;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#lhs0 (program LeftHandSide))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#typeof(#lhs0) #v1 = #v[#v0];
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] + 1);
#lhs0 = #v1;
..… |
testEquality(String, String)[1540] |
0.001s |
passed |
[1541] postincrement_assignment_attribute, postincrement_assignment_attribute {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e.#attribute++;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#lhs0 (program LeftHandSide))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#lhs0) #v1 = #v.#attribute;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute +
1);
#lhs0 = #v1;
... }\] (post))
\h… |
testEquality(String, String)[1541] |
0.001s |
passed |
[1542] postincrement_attribute, postincrement_attribute {
\find(#allmodal ( (modal operator))\[{ ..
#e.#attribute++;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute +
1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1542] |
0.001s |
passed |
[1543] pow2InIntLower, pow2InIntLower {
\find(leq(pow(Z(2(#)),exp),Z(neglit(9(4(6(3(8(4(7(4(1(2(#)))))))))))))==>)
\add []==>[geq(exp,Z(0(#)))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1543] |
0s |
passed |
[1544] pow2InIntUpper, pow2InIntUpper {
\find(geq(pow(Z(2(#)),exp),Z(8(4(6(3(8(4(7(4(1(2(#))))))))))))==>)
\add []==>[and(geq(exp,Z(0(#))),leq(exp,Z(0(3(#)))))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1544] |
0.001s |
passed |
[1545] powAdd, powAdd {
\find(pow(base,add(exp,exp_2)))
\replacewith(if-then-else(and(geq(exp,Z(0(#))),geq(exp_2,Z(0(#)))),mul(pow(base,exp),pow(base,exp_2)),pow(base,add(exp,exp_2))))
Choices: true}
|
testEquality(String, String)[1545] |
0s |
passed |
[1546] powConcrete0, powConcrete0 {
\find(pow(base,Z(0(#))))
\replacewith(Z(1(#)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1546] |
0s |
passed |
[1547] powConcrete1, powConcrete1 {
\find(pow(base,Z(1(#))))
\replacewith(base)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1547] |
0.001s |
passed |
[1548] powDef, powDef {
\find(pow(base,exp))
\varcond(\notFreeIn(i (variable), base (int term)), \notFreeIn(i (variable), exp (int term)))
\replacewith(if-then-else(geq(exp,Z(0(#))),bprod{i (variable)}(Z(0(#)),exp,base),undefinedPow(base,exp)))
Choices: true}
|
testEquality(String, String)[1548] |
0.001s |
passed |
[1549] powGeq1Concrete, powGeq1Concrete {
\find(leq(pow(base,exp),Z(0(#)))==>)
\add []==>[and(geq(exp,Z(0(#))),geq(base,Z(1(#))))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1549] |
0s |
passed |
[154] assignmentBitwiseAndLong3, assignmentBitwiseAndLong3 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 & #seLong1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseAndLong(#seLong0,#seLong1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[154] |
0s |
passed |
[1550] powIsInfinite1, powIsInfinite1 {
\find(powDouble(arg1,arg2))
\add [imp(or(and(and(or(geqDouble(arg1,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))),leqDouble(arg1,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))),doubleIsInfinite(arg2)),gtDouble(arg2,DFP(0(#)))),and(and(and(ltDouble(arg1,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))),gtDouble(arg1,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))),doubleIsInfinite(arg2)),ltDouble(arg2,… |
testEquality(String, String)[1550] |
0s |
passed |
[1551] powIsInfinite2, powIsInfinite2 {
\find(powDouble(arg1,arg2))
\add [imp(or(and(eqDouble(arg1,DFP(0(#))),ltDouble(arg2,DFP(0(#)))),and(and(doubleIsInfinite(arg1),gtDouble(arg1,DFP(0(#)))),gtDouble(arg2,DFP(0(#))))),and(doubleIsInfinite(powDouble(arg1,arg2)),gtDouble(powDouble(arg1,arg2),DFP(0(#)))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1551] |
0s |
passed |
[1552] powIsNaN1, powIsNaN1 {
\find(powDouble(arg1,arg2))
\add [imp(doubleIsNaN(arg2),doubleIsNaN(powDouble(arg1,arg2)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1552] |
0.001s |
passed |
[1553] powIsNaN2, powIsNaN2 {
\find(powDouble(arg1,arg2))
\add [imp(and(doubleIsNaN(arg1),not(equals(arg2,DFP(0(#))))),doubleIsNaN(powDouble(arg1,arg2)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1553] |
0.001s |
passed |
[1554] powIsNaN3, powIsNaN3 {
\find(powDouble(arg1,arg2))
\add [imp(and(or(geqDouble(arg1,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))),leqDouble(arg1,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))),doubleIsInfinite(arg2)),doubleIsNaN(powDouble(arg1,arg2)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1554] |
0s |
passed |
[1555] powIsNotNaN, powIsNotNaN {
\find(powDouble(arg1,arg2))
\add [imp(and(not(doubleIsNaN(arg1)),equals(arg2,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),equals(powDouble(arg1,arg2),arg1))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1555] |
0s |
passed |
[1556] powIsOne, powIsOne {
\find(powDouble(arg1,arg2))
\add [imp(equals(arg2,DFP(0(#))),equals(powDouble(arg1,arg2),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1556] |
0s |
passed |
[1557] powIsZero1, powIsZero1 {
\find(powDouble(arg1,arg2))
\add [imp(or(and(and(or(geqDouble(arg1,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))),leqDouble(arg1,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))),doubleIsInfinite(arg2)),ltDouble(arg2,DFP(0(#)))),and(and(and(ltDouble(arg1,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))),gtDouble(arg1,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))),doubleIsInfinite(arg2)),gtDouble(arg2,DFP(… |
testEquality(String, String)[1557] |
0.001s |
passed |
[1558] powIsZero2, powIsZero2 {
\find(powDouble(arg1,arg2))
\add [imp(or(and(eqDouble(arg1,DFP(0(#))),gtDouble(arg2,DFP(0(#)))),and(and(doubleIsInfinite(arg1),gtDouble(arg1,DFP(0(#)))),ltDouble(arg2,DFP(0(#))))),equals(powDouble(arg1,arg2),DFP(0(#))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1558] |
0.001s |
passed |
[1559] powLogLess, powLogLess {
\find(pow(base,log(base,exp)))
\add [imp(and(geq(exp,Z(1(#))),gt(base,Z(1(#)))),leq(pow(base,log(base,exp)),exp))]==>[]
Choices: true}
|
testEquality(String, String)[1559] |
0s |
passed |
[155] assignmentBitwiseOrInt, assignmentBitwiseOrInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 | #seCharByteShortInt1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseOrInt(#seCharByteShortInt0,#seCharByteShortInt1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[155] |
0.001s |
passed |
[1560] powLogMore2, powLogMore2 {
\find(pow(base,log(base,x)))
\add [imp(and(equals(base,Z(2(#))),geq(x,Z(1(#)))),lt(sub(x,pow(base,log(base,x))),pow(base,log(base,x))))]==>[]
Choices: true}
|
testEquality(String, String)[1560] |
0s |
passed |
[1561] powMono, powMono {
\find(leq(pow(base,exp),pow(base,exp_2)))
\add [imp(and(and(geq(exp,Z(0(#))),geq(exp_2,exp)),geq(base,Z(1(#)))),leq(pow(base,exp),pow(base,exp_2)))]==>[]
Choices: true}
|
testEquality(String, String)[1561] |
0s |
passed |
[1562] powMonoConcrete, powMonoConcrete {
\find(leq(pow(base,exp_2),add(Z(neglit(1(#))),pow(base,exp)))==>)
\add []==>[and(and(geq(exp,Z(0(#))),geq(exp_2,exp)),geq(base,Z(1(#))))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1562] |
0.001s |
passed |
[1563] powMonoConcreteRight, powMonoConcreteRight {
\find(==>leq(pow(base,exp),pow(base,exp_2)))
\add []==>[and(and(geq(exp,Z(0(#))),geq(exp_2,exp)),geq(base,Z(1(#))))]
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1563] |
0.001s |
passed |
[1564] powPositive, powPositive {
\find(pow(base,exp))
\add [imp(and(geq(exp,Z(0(#))),geq(base,Z(1(#)))),geq(pow(base,exp),Z(1(#))))]==>[]
Choices: true}
|
testEquality(String, String)[1564] |
0s |
passed |
[1565] powPositiveConcrete, powPositiveConcrete {
\find(leq(pow(base,exp),Z(neglit(1(#))))==>)
\add []==>[and(geq(exp,Z(0(#))),geq(base,Z(1(#))))]
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1565] |
0s |
passed |
[1566] powSplitFactor, powSplitFactor {
\find(pow(base,exp))
\replacewith(if-then-else(geq(exp,Z(0(#))),if-then-else(geq(exp,Z(1(#))),mul(base,pow(base,sub(exp,Z(1(#))))),Z(1(#))),undefinedPow(base,exp)))
Choices: true}
|
testEquality(String, String)[1566] |
0.001s |
passed |
[1567] pow_literals, pow_literals {
\find(pow(Z(iz),Z(jz)))
\replacewith(#pow(Z(iz),Z(jz)))
\heuristics(nonDuplicateAppCheckEq, simplify_literals)
Choices: true}
|
testEquality(String, String)[1567] |
0.001s |
passed |
[1568] precOfDouble, precOfDouble {
\find(prec(d1,d2))
\replacewith(ltDouble(d1,d2))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1568] |
0s |
passed |
[1569] precOfFloat, precOfFloat {
\find(prec(f1,f2))
\replacewith(ltFloat(f1,f2))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1569] |
0s |
passed |
[156] assignmentBitwiseOrLong, assignmentBitwiseOrLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt | #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseOrLong(#seCharByteShortInt,#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[156] |
0.001s |
passed |
[1570] precOfInt, precOfInt {
\find(prec(a,b))
\replacewith(and(leq(Z(0(#)),a),lt(a,b)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1570] |
0.001s |
passed |
[1571] precOfIntPair, precOfIntPair {
\find(prec(a,pair(b,x)))
\replacewith(and(leq(Z(0(#)),a),leq(a,b)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1571] |
0.001s |
passed |
[1572] precOfPair, precOfPair {
\find(prec(pair(a1,b1),pair(a2,b2)))
\replacewith(or(prec(a1,a2),and(equals(a1,a2),prec(b1,b2))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1572] |
0s |
passed |
[1573] precOfPairInt, precOfPairInt {
\find(prec(pair(a,x),b))
\replacewith(and(leq(Z(0(#)),a),lt(a,b)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1573] |
0s |
passed |
[1574] precOfSeq, precOfSeq {
\find(prec(s1,s2))
\varcond(\notFreeIn(jv (variable), s2 (Seq term)), \notFreeIn(jv (variable), s1 (Seq term)), \notFreeIn(iv (variable), s2 (Seq term)), \notFreeIn(iv (variable), s1 (Seq term)))
\replacewith(or(and(equals(seqLen(s1),seqLen(s2)),exists{iv (variable)}(and(and(and(leq(Z(0(#)),iv),lt(iv,seqLen(s1))),prec(any::seqGet(s1,iv),any::seqGet(s2,iv))),all{jv (variable)}(imp(and(leq(Z(0(#)),jv),lt(jv,iv)),equals(any::seqGet(s1,jv),any::seqGet(s2,jv))))))),lt(seqLen(s1),seqLen(s2))))
Choic… |
testEquality(String, String)[1574] |
0.001s |
passed |
[1575] predecrement, predecrement {
\find(#allmodal ( (modal operator))\[{ ..
--#lhs1;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 - 1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1575] |
0.001s |
passed |
[1576] predecrement_array, predecrement_array {
\find(#allmodal ( (modal operator))\[{ ..
--#e[#e0];
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] - 1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1576] |
0.002s |
passed |
[1577] predecrement_assignment, predecrement_assignment {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = --#lhs1;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 - 1);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1577] |
0.001s |
passed |
[1578] predecrement_assignment_array, predecrement_assignment_array {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = --#e[#e0];
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] - 1);
#lhs0 = #v[#v0];
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1578] |
0.001s |
passed |
[1579] predecrement_assignment_attribute, predecrement_assignment_attribute {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = --#e.#attribute;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute -
1);
#lhs = #v.#attribute;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1579] |
0s |
passed |
[157] assignmentBitwiseOrLong2, assignmentBitwiseOrLong2 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong | #seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseOrLong(#seLong,#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[157] |
0.001s |
passed |
[1580] predecrement_attribute, predecrement_attribute {
\find(#allmodal ( (modal operator))\[{ ..
--#e.#attribute;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute -
1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1580] |
0s |
passed |
[1581] preincrement, preincrement {
\find(#allmodal ( (modal operator))\[{ ..
++#lhs1;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 + 1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1581] |
0s |
passed |
[1582] preincrement_array, preincrement_array {
\find(#allmodal ( (modal operator))\[{ ..
++#e[#e0];
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] + 1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1582] |
0s |
passed |
[1583] preincrement_assignment, preincrement_assignment {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = ++#lhs1;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs1 = (#typeof(#lhs1)) (#lhs1 + 1);
#lhs0 = #lhs1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1583] |
0.001s |
passed |
[1584] preincrement_assignment_array, preincrement_assignment_array {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = ++#e[#e0];
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))), \new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#typeof(#e0) #v0 = #e0;
#v[#v0] = (#typeof(#e[#e0])) (#v[#v0] + 1);
#lhs0 = #v[#v0];
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1584] |
0.001s |
passed |
[1585] preincrement_assignment_attribute, preincrement_assignment_attribute {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = ++#e.#attribute;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute +
1);
#lhs0 = #v.#attribute;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1585] |
0.001s |
passed |
[1586] preincrement_attribute, preincrement_attribute {
\find(#allmodal ( (modal operator))\[{ ..
++#e.#attribute;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v = #e;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute +
1);
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[1586] |
0s |
passed |
[1587] prod_empty, prod_empty {
\find(prod{x (variable)}(FALSE,t))
\replacewith(Z(1(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1587] |
0s |
passed |
[1588] prod_one, prod_one {
\find(prod{x (variable)}(range,Z(1(#))))
\replacewith(Z(1(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1588] |
0s |
passed |
[1589] pullOut, pullOut {
\find(t)
\sameUpdateLevel\add [equals(t,sk)]==>[] \replacewith(sk)
\heuristics(semantics_blasting)
Choices: true}
|
testEquality(String, String)[1589] |
0.001s |
passed |
[158] assignmentBitwiseOrLong3, assignmentBitwiseOrLong3 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 | #seLong1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseOrLong(#seLong0,#seLong1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[158] |
0.001s |
passed |
[1590] pullOutSelect, pullOutSelect {
\find(beta::select(h,o,f))
\sameUpdateLevel\add [equals(beta::select(h,o,f),selectSK<<selectSK>>)]==>[] \replacewith(selectSK<<selectSK>>)
\heuristics(pull_out_select)
Choices: programRules:Java}
|
testEquality(String, String)[1590] |
0.001s |
passed |
[1591] pullOutbsum1, pullOutbsum1 {
\find(geq(bsum{uSub1 (variable)}(i0,i1,t1),t)==>)
\add [equals(bsum{uSub1 (variable)}(i0,i1,t1),sk)]==>[] \replacewith([geq(sk,t)]==>[])
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1591] |
0s |
passed |
[1592] pullOutbsum2, pullOutbsum2 {
\find(leq(bsum{uSub1 (variable)}(i0,i1,t1),t)==>)
\add [equals(bsum{uSub1 (variable)}(i0,i1,t1),sk)]==>[] \replacewith([leq(sk,t)]==>[])
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1592] |
0s |
passed |
[1593] pull_out_neg_1, pull_out_neg_1 {
\find(mul(neg(i0),i1))
\replacewith(neg(mul(i0,i1)))
Choices: true}
|
testEquality(String, String)[1593] |
0.001s |
passed |
[1594] pull_out_neg_2, pull_out_neg_2 {
\find(mul(i0,neg(i1)))
\replacewith(neg(mul(i0,i1)))
Choices: true}
|
testEquality(String, String)[1594] |
0.001s |
passed |
[1595] qeq_literals, qeq_literals {
\find(geq(Z(iz),Z(jz)))
\replacewith(#geq(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1595] |
0s |
passed |
[1596] reachAddOne, reachAddOne {
\find(reach(h,s,o,o2,add(Z(1(#)),n)))
\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term)))
\replacewith(and(and(and(geq(n,Z(neglit(1(#)))),not(equals(o,null))),not(equals(o2,null))),or(and(equals(n,Z(neglit(1(#)))),equals(o,o2)),exists{ov (variable)}(and(reach(h,s,o,ov,n),acc(h,s,ov,o2))))))
\heuristics… |
testEquality(String, String)[1596] |
0s |
passed |
[1597] reachAddOne2, reachAddOne2 {
\find(reach(h,s,o,o2,add(n,Z(1(#)))))
\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term)))
\replacewith(and(and(and(geq(n,Z(neglit(1(#)))),not(equals(o,null))),not(equals(o2,null))),or(and(equals(n,Z(neglit(1(#)))),equals(o,o2)),exists{ov (variable)}(and(reach(h,s,o,ov,n),acc(h,s,ov,o2))))))
\heuristic… |
testEquality(String, String)[1597] |
0s |
passed |
[1598] reachDefinition, reachDefinition {
\find(reach(h,s,o,o2,n))
\varcond(\notFreeIn(ov (variable), n (int term)), \notFreeIn(ov (variable), o2 (java.lang.Object term)), \notFreeIn(ov (variable), o (java.lang.Object term)), \notFreeIn(ov (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term)))
\replacewith(and(and(and(geq(n,Z(0(#))),not(equals(o,null))),not(equals(o2,null))),or(and(equals(n,Z(0(#))),equals(o,o2)),exists{ov (variable)}(and(reach(h,s,o,ov,sub(n,Z(1(#)))),acc(h,s,ov,o2))))))
Choices: reach:on}
|
testEquality(String, String)[1598] |
0.001s |
passed |
[1599] reachDependenciesAnon, reachDependenciesAnon {
\find(reach(anon(h,s2,h2),s,o,o2,n))
\sameUpdateLevel\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), h2 (Heap term)), \notFreeIn(nv (variable), s2 (LocSet term)), \notFreeIn(nv (variable), h (Heap term)), \notFreeIn(fv (variable), n (int term)), \notFreeIn(fv (variable), o2 (java.lang.Object term)), \notF… |
testEquality(String, String)[1599] |
0.001s |
passed |
[159] assignmentBitwiseXOrInt, assignmentBitwiseXOrInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 ^ #seCharByteShortInt1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseXOrInt(#seCharByteShortInt0,#seCharByteShortInt1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[159] |
0.001s |
passed |
[15] activeUseIntCast, activeUseIntCast {
\find(#allmodal ( (modal operator))\[{ ..
#sv = (int) #seLong;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = (int) #seLong;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[15] |
0.001s |
passed |
[1600] reachDependenciesAnonCoarse, reachDependenciesAnonCoarse {
\find(reach(anon(h,s2,h2),s,o,o2,n))
\sameUpdateLevel\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), h2 (Heap term)), \notFreeIn(nv (variable), s2 (LocSet term)), \notFreeIn(nv (variable), h (Heap term)), \notFreeIn(fv (variable), n (int term)), \notFreeIn(fv (variable), o2 (java.lang.Object term)),… |
testEquality(String, String)[1600] |
0.001s |
passed |
[1601] reachDependenciesStore, reachDependenciesStore {
\find(reach(store(h,o3,f,x),s,o,o2,n))
\sameUpdateLevel\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), x (any term)), \notFreeIn(nv (variable), f (Field term)), \notFreeIn(nv (variable), o3 (java.lang.Object term)), \notFreeIn(nv (variable), h (Heap term)))
\add [not(and(exists{nv (variable)}(and(lt(nv,n… |
testEquality(String, String)[1601] |
0s |
passed |
[1602] reachDependenciesStoreEQ, reachDependenciesStoreEQ {
\assumes ([equals(store(h,o3,f,x),h2)]==>[])
\find(reach(h2,s,o,o2,n))
\sameUpdateLevel\varcond(\notFreeIn(nv (variable), n (int term)), \notFreeIn(nv (variable), o2 (java.lang.Object term)), \notFreeIn(nv (variable), o (java.lang.Object term)), \notFreeIn(nv (variable), s (LocSet term)), \notFreeIn(nv (variable), x (any term)), \notFreeIn(nv (variable), f (Field term)), \notFreeIn(nv (variable), o3 (java.lang.Object term)), \notFreeIn(nv (variable), h (Heap term)))
\add [not(an… |
testEquality(String, String)[1602] |
0s |
passed |
[1603] reachDependenciesStoreSimple, reachDependenciesStoreSimple {
\find(reach(store(h,o3,f2,x),allObjects(f),o,o2,n))
\varcond(\metaDisjoint f (Field term), f2 (Field term), )
\replacewith(reach(h,allObjects(f),o,o2,n))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1603] |
0s |
passed |
[1604] reachDependenciesStoreSimpleEQ, reachDependenciesStoreSimpleEQ {
\assumes ([equals(store(h,o3,f2,x),h2)]==>[])
\find(reach(h2,allObjects(f),o,o2,n))
\varcond(\metaDisjoint f (Field term), f2 (Field term), )
\replacewith(reach(h,allObjects(f),o,o2,n))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1604] |
0s |
passed |
[1605] reachDoesNotDependOnCreatedness, reachDoesNotDependOnCreatedness {
\find(reach(create(h,o3),s,o,o2,n))
\replacewith(reach(h,s,o,o2,n))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1605] |
0.001s |
passed |
[1606] reachEndOfUniquePath, reachEndOfUniquePath {
\assumes ([reach(h,allObjects(f),o,o2,n),equals(alpha::select(h,o2,f),null),equals(alpha::select(h,o3,f),null)]==>[])
\find(reach(h,allObjects(f),o,o3,n2)==>)
\varcond(\different (n (int term), n2 (int term)), )
\add [and(equals(o2,o3),equals(n,n2))]==>[]
\heuristics(inReachableStateImplication)
Choices: reach:on}
|
testEquality(String, String)[1606] |
0.001s |
passed |
[1607] reachEndOfUniquePath2, reachEndOfUniquePath2 {
\assumes ([reach(h,allObjects(f),o,o2,n),equals(alpha::select(h,o2,f),null)]==>[])
\find(reach(h,allObjects(f),o,o3,n2)==>)
\varcond(\different (o (java.lang.Object term), o2 (java.lang.Object term)), \different (n (int term), n2 (int term)), )
\add [or(lt(n2,n),and(equals(o2,o3),equals(n,n2)))]==>[]
\heuristics(inReachableStateImplication)
Choices: reach:on}
|
testEquality(String, String)[1607] |
0s |
passed |
[1608] reachNull, reachNull {
\find(reach(h,s,o,null,n))
\replacewith(false)
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1608] |
0s |
passed |
[1609] reachNull2, reachNull2 {
\find(reach(h,s,null,o2,n))
\replacewith(false)
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1609] |
0s |
passed |
[160] assignmentBitwiseXOrLong, assignmentBitwiseXOrLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt ^ #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseXOrLong(#seCharByteShortInt,#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[160] |
0.001s |
passed |
[1610] reachOne, reachOne {
\find(reach(h,s,o,o2,Z(1(#))))
\replacewith(acc(h,s,o,o2))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1610] |
0.001s |
passed |
[1611] reachUniquePathSameSteps, reachUniquePathSameSteps {
\assumes ([reach(h,allObjects(f),o,o2,n)]==>[])
\find(reach(h,allObjects(f),o,o3,n)==>)
\varcond(\different (o2 (java.lang.Object term), o3 (java.lang.Object term)), )
\add [equals(o2,o3)]==>[]
\heuristics(inReachableStateImplication)
Choices: reach:on}
|
testEquality(String, String)[1611] |
0.001s |
passed |
[1612] reachZero, reachZero {
\find(reach(h,s,o,o2,Z(0(#))))
\replacewith(and(not(equals(o,null)),equals(o,o2)))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1612] |
0s |
passed |
[1613] reach_does_not_depend_on_fresh_locs, reach_does_not_depend_on_fresh_locs {
\assumes ([]==>[equals(o,null)])
\find(reach(anon(h,empty,h2),s,o,o2,n))
\add []==>[and(wellFormed(h),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE))] ;
\replacewith(reach(h,s,o,o2,n))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1613] |
0s |
passed |
[1614] reach_does_not_depend_on_fresh_locs_EQ, reach_does_not_depend_on_fresh_locs_EQ {
\assumes ([equals(anon(h,empty,h2),EQ)]==>[equals(o,null)])
\find(reach(EQ,s,o,o2,n))
\add []==>[and(wellFormed(h),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE))] ;
\replacewith(reach(h,s,o,o2,n))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[1614] |
0.001s |
passed |
[1615] readPermission, readPermission {
\find(readPermission(p))
\replacewith(readPermissionObject(currentThread,p))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1615] |
0.001s |
passed |
[1616] readPermissionObject, readPermissionObject {
\find(readPermissionObject(o,p))
\replacewith(true)
\heuristics(concrete)
Choices: permissions:off}
|
testEquality(String, String)[1616] |
0s |
passed |
[1617] reference_type_cast, reference_type_cast {
\find(==>#allmodal ( (modal operator))\[{ ..
#lhs = (#npit) #se;
... }\] (post))
\varcond(\hasSort(#npit (program NonPrimitiveType), G), \not\sub(\typeof(#se (program SimpleExpression)), G), )
\add []==>[or(equals(#se,null),equals(G::instance(#se),TRUE))] \replacewith([]==>[false]) ;
\replacewith([]==>[update-application(elem-update(#lhs (program LeftHandSide))(#addCast(#se,#lhs)),#allmodal(post))])
\heuristics(simplify_prog)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[1617] |
0s |
passed |
[1618] referencedObjectIsCreatedRight, referencedObjectIsCreatedRight {
\assumes ([]==>[equals(deltaObject::select(h,o,f),null)])
\find(==>equals(boolean::select(h,deltaObject::select(h,o,f),java.lang.Object::<created>),TRUE))
\replacewith([]==>[wellFormed(h)])
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1618] |
0s |
passed |
[1619] referencedObjectIsCreatedRightEQ, referencedObjectIsCreatedRightEQ {
\assumes ([equals(deltaObject::select(h,o,f),EQ)]==>[equals(EQ,null)])
\find(==>equals(boolean::select(h,EQ,java.lang.Object::<created>),TRUE))
\replacewith([]==>[wellFormed(h)])
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1619] |
0.001s |
passed |
[161] assignmentBitwiseXOrLong2, assignmentBitwiseXOrLong2 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong ^ #seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseXOrLong(#seLong,#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[161] |
0.001s |
passed |
[1620] regExAxiom, regExAxiom {
\find(match(regEx(stringAsPattern),string))
\replacewith(equals(string,stringAsPattern))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1620] |
0.001s |
passed |
[1621] regExConcatAltLeft, regExConcatAltLeft {
\find(match(regExConcat(alt(rexp1,rexp2),rexp3),string))
\replacewith(or(match(regExConcat(rexp1,rexp3),string),match(regExConcat(rexp2,rexp3),string)))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1621] |
0s |
passed |
[1622] regExConcatAltRight, regExConcatAltRight {
\find(match(regExConcat(rexp1,alt(rexp2,rexp3)),string))
\replacewith(or(match(regExConcat(rexp1,rexp2),string),match(regExConcat(rexp1,rexp3),string)))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1622] |
0s |
passed |
[1623] regExConcatAxiom, regExConcatAxiom {
\find(match(regExConcat(rexp1,rexp2),string))
\varcond(\notFreeIn(endIdx (variable), string (Seq term)), \notFreeIn(endIdx (variable), rexp2 (RegEx term)), \notFreeIn(endIdx (variable), rexp1 (RegEx term)))
\replacewith(exists{endIdx (variable)}(and(and(and(geq(endIdx,Z(0(#))),leq(endIdx,seqLen(string))),match(rexp1,seqSub(string,Z(0(#)),endIdx))),match(rexp2,seqSub(string,endIdx,seqLen(string))))))
\heuristics(simplify)
Choices: Strings:on}
|
testEquality(String, String)[1623] |
0s |
passed |
[1624] regExConcatConcreteStringLeft, regExConcatConcreteStringLeft {
\find(match(regExConcat(regEx(pattern),rexp),string))
\replacewith(and(and(leq(seqLen(pattern),seqLen(string)),match(regEx(pattern),seqSub(string,Z(0(#)),seqLen(pattern)))),match(rexp,seqSub(string,seqLen(pattern),seqLen(string)))))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1624] |
0.001s |
passed |
[1625] regExConcatConcreteStringRight, regExConcatConcreteStringRight {
\find(match(regExConcat(rexp,regEx(pattern)),string))
\replacewith(and(and(leq(seqLen(pattern),seqLen(string)),match(rexp,seqSub(string,Z(0(#)),sub(seqLen(string),seqLen(pattern))))),match(regEx(pattern),seqSub(string,sub(seqLen(string),seqLen(pattern)),seqLen(string)))))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1625] |
0.001s |
passed |
[1626] regExConcatOptLeft, regExConcatOptLeft {
\find(match(regExConcat(opt(rexp1),rexp2),string))
\replacewith(or(match(rexp2,string),match(regExConcat(rexp1,rexp2),string)))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1626] |
0s |
passed |
[1627] regExConcatOptRight, regExConcatOptRight {
\find(match(regExConcat(rexp1,opt(rexp2)),string))
\replacewith(or(match(rexp1,string),match(regExConcat(rexp1,rexp2),string)))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1627] |
0s |
passed |
[1628] regExConcatRepeatLeft, regExConcatRepeatLeft {
\find(match(regExConcat(repeat(rexp1,nTimes),rexp2),string))
\varcond(\notFreeIn(string2 (variable), nTimes (int term)), \notFreeIn(string2 (variable), rexp2 (RegEx term)), \notFreeIn(string2 (variable), rexp1 (RegEx term)), \notFreeIn(string2 (variable), string (Seq term)), \notFreeIn(string1 (variable), nTimes (int term)), \notFreeIn(string1 (variable), rexp2 (RegEx term)), \notFreeIn(string1 (variable), rexp1 (RegEx term)), \notFreeIn(string1 (variable), string (Seq term)))
\repl… |
testEquality(String, String)[1628] |
0s |
passed |
[1629] regExConcatRepeatRight, regExConcatRepeatRight {
\find(match(regExConcat(rexp1,repeat(rexp2,nTimes)),string))
\varcond(\notFreeIn(string2 (variable), nTimes (int term)), \notFreeIn(string2 (variable), rexp2 (RegEx term)), \notFreeIn(string2 (variable), rexp1 (RegEx term)), \notFreeIn(string2 (variable), string (Seq term)), \notFreeIn(string1 (variable), nTimes (int term)), \notFreeIn(string1 (variable), rexp2 (RegEx term)), \notFreeIn(string1 (variable), rexp1 (RegEx term)), \notFreeIn(string1 (variable), string (Seq term)))
\rep… |
testEquality(String, String)[1629] |
0.001s |
passed |
[162] assignmentBitwiseXOrLong3, assignmentBitwiseXOrLong3 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 ^ #seLong1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseXOrLong(#seLong0,#seLong1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[162] |
0.001s |
passed |
[1630] removeZeros, removeZeros {
\find(clRemoveZeros(l))
\replacewith(if-then-else(or(equals(l,seqEmpty),equals(int::seqGet(l,Z(0(#))),C(8(4(#))))),l,clRemoveZeros(seqSub(l,Z(1(#)),seqLen(l)))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1630] |
0.001s |
passed |
[1631] remove_parentheses_attribute_left, remove_parentheses_attribute_left {
\find(#allmodal ( (modal operator))\[{ ..
(#e.#attribute) = #e0;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#e.#attribute = #e0;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1631] |
0s |
passed |
[1632] remove_parentheses_lhs_left, remove_parentheses_lhs_left {
\find(#allmodal ( (modal operator))\[{ ..
(#lhs) = #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #e;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1632] |
0s |
passed |
[1633] remove_parentheses_right, remove_parentheses_right {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (#e);
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #e;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1633] |
0s |
passed |
[1634] repeatAxiom, repeatAxiom {
\find(match(repeat(rexp,nTimes),string))
\varcond(\notFreeIn(endIdx (variable), string (Seq term)), \notFreeIn(endIdx (variable), nTimes (int term)), \notFreeIn(endIdx (variable), rexp (RegEx term)))
\replacewith(if-then-else(lt(nTimes,Z(0(#))),false,if-then-else(equals(nTimes,Z(0(#))),equals(string,empty),exists{endIdx (variable)}(and(and(and(geq(endIdx,Z(0(#))),leq(endIdx,seqLen(string))),match(rexp,seqSub(string,Z(0(#)),endIdx))),match(repeat(rexp,sub(nTimes,Z(1(#)))),seqSub(string,endIdx,… |
testEquality(String, String)[1634] |
0.001s |
passed |
[1635] repeatMatchEmpty, repeatMatchEmpty {
\find(match(repeat(rexp,nTimes1),seqEmpty))
\replacewith(or(equals(nTimes1,Z(0(#))),and(gt(nTimes1,Z(0(#))),match(rexp,seqEmpty))))
\heuristics(simplify)
Choices: Strings:on}
|
testEquality(String, String)[1635] |
0.001s |
passed |
[1636] repeatOnce, repeatOnce {
\find(repeat(rexp,Z(1(#))))
\replacewith(rexp)
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1636] |
0s |
passed |
[1637] repeatPlusAxiom, repeatPlusAxiom {
\find(match(repeatPlus(rexp),string))
\varcond(\notFreeIn(nTimes (variable), string (Seq term)), \notFreeIn(nTimes (variable), rexp (RegEx term)))
\replacewith(exists{nTimes (variable)}(and(geq(nTimes,Z(1(#))),match(repeat(rexp,nTimes),string))))
\heuristics(simplify)
Choices: Strings:on}
|
testEquality(String, String)[1637] |
0s |
passed |
[1638] repeatStarAxiom, repeatStarAxiom {
\find(match(repeatStar(rexp),string))
\varcond(\notFreeIn(nTimes (variable), string (Seq term)), \notFreeIn(nTimes (variable), rexp (RegEx term)))
\replacewith(exists{nTimes (variable)}(and(geq(nTimes,Z(0(#))),match(repeat(rexp,nTimes),string))))
\heuristics(simplify)
Choices: Strings:on}
|
testEquality(String, String)[1638] |
0.001s |
passed |
[1639] repeatZero, repeatZero {
\find(repeat(rexp,Z(0(#))))
\replacewith(regEx(seqEmpty))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[1639] |
0.001s |
passed |
[163] assignmentDivisionBigint1, assignmentDivisionBigint1 {
\find(==>#allmodal ( (modal operator))\[{ ..
#loc = #seBigint / #seAny;
... }\] (post))
\replacewith([]==>[not(equals(#seAny,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(div(#seBigint,#seAny)),#allmodal(post))])
\heuristics(executeIntegerAssignment)
Choices: ((programRules:Java & bigint:on) & runtimeExceptions:ban)}
|
testEquality(String, String)[163] |
0.001s |
passed |
[1640] replaceConcat, replaceConcat {
\find(clReplace(seqConcat(leftStr,rightStr),searchChar,replaceChar))
\replacewith(seqConcat(clReplace(leftStr,searchChar,replaceChar),clReplace(rightStr,searchChar,replaceChar)))
\heuristics(stringsMoveReplaceInside)
Choices: Strings:on}
|
testEquality(String, String)[1640] |
0s |
passed |
[1641] replaceCons, replaceCons {
\find(clReplace(seqConcat(seqSingleton(fstChar),str),searchChar,replChar))
\replacewith(if-then-else(equals(searchChar,fstChar),seqConcat(seqSingleton(replChar),clReplace(str,searchChar,replChar)),seqConcat(seqSingleton(fstChar),clReplace(str,searchChar,replChar))))
\heuristics(defOpsReplaceInline)
Choices: Strings:on}
|
testEquality(String, String)[1641] |
0s |
passed |
[1642] replaceDef, replaceDef {
\find(clReplace(str,searchChar,replChar))
\sameUpdateLevel\varcond(\notFreeIn(pos (variable), replChar (int term)), \notFreeIn(pos (variable), searchChar (int term)), \notFreeIn(pos (variable), str (Seq term)))
\add [and(equals(clReplace(str,searchChar,replChar),newSym),equals(seqDef{pos (variable)}(Z(0(#)),seqLen(str),if-then-else(equals(int::seqGet(str,pos),searchChar),replChar,int::seqGet(str,pos))),newSym))]==>[]
\heuristics(stringsIntroduceNewSym, defOpsReplace)
Choices: Strings:on}
|
testEquality(String, String)[1642] |
0s |
passed |
[1643] replaceEmpty, replaceEmpty {
\find(clReplace(seqEmpty,searchChar,replChar))
\replacewith(seqEmpty)
\heuristics(stringsSimplify)
Choices: Strings:on}
|
testEquality(String, String)[1643] |
0.001s |
passed |
[1644] replaceSingleton, replaceSingleton {
\find(clReplace(seqSingleton(fstChar),searchChar,replChar))
\replacewith(if-then-else(equals(searchChar,fstChar),seqSingleton(replChar),seqSingleton(fstChar)))
\heuristics(stringsSimplify)
Choices: Strings:on}
|
testEquality(String, String)[1644] |
0.001s |
passed |
[1645] replaceSubstring, replaceSubstring {
\assumes ([equals(seqSub(str,startIdx,endIdx),subStr)]==>[])
\find(clReplace(subStr,searchChar,replaceChar))
\sameUpdateLevel\replacewith(if-then-else(and(and(geq(startIdx,Z(0(#))),geq(endIdx,startIdx)),leq(endIdx,seqLen(str))),seqSub(clReplace(str,searchChar,replaceChar),startIdx,endIdx),clReplace(subStr,searchChar,replaceChar)))
\heuristics(stringsMoveReplaceInside)
Choices: Strings:on}
|
testEquality(String, String)[1645] |
0s |
passed |
[1646] replace_byte_HALFRANGE, replace_byte_HALFRANGE {
\find(byte_HALFRANGE)
\replacewith(Z(8(2(1(#)))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1646] |
0s |
passed |
[1647] replace_byte_MAX, replace_byte_MAX {
\find(byte_MAX)
\replacewith(Z(7(2(1(#)))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1647] |
0.007s |
passed |
[1648] replace_byte_MIN, replace_byte_MIN {
\find(byte_MIN)
\replacewith(Z(neglit(8(2(1(#))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1648] |
0.001s |
passed |
[1649] replace_byte_RANGE, replace_byte_RANGE {
\find(byte_RANGE)
\replacewith(Z(6(5(2(#)))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1649] |
0.001s |
passed |
[164] assignmentDivisionBigint2, assignmentDivisionBigint2 {
\find(==>#allmodal ( (modal operator))\[{ ..
#loc = #seAny / #seBigint;
... }\] (post))
\replacewith([]==>[not(equals(#seBigint,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(div(#seAny,#seBigint)),#allmodal(post))])
\heuristics(executeIntegerAssignment)
Choices: ((programRules:Java & bigint:on) & runtimeExceptions:ban)}
|
testEquality(String, String)[164] |
0.001s |
passed |
[1650] replace_char_MAX, replace_char_MAX {
\find(char_MAX)
\replacewith(Z(5(3(5(5(6(#)))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1650] |
0.001s |
passed |
[1651] replace_char_MIN, replace_char_MIN {
\find(char_MIN)
\replacewith(Z(0(#)))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1651] |
0s |
passed |
[1652] replace_char_RANGE, replace_char_RANGE {
\find(char_RANGE)
\replacewith(Z(6(3(5(5(6(#)))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1652] |
0.001s |
passed |
[1653] replace_int_HALFRANGE, replace_int_HALFRANGE {
\find(int_HALFRANGE)
\replacewith(Z(8(4(6(3(8(4(7(4(1(2(#))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1653] |
0.001s |
passed |
[1654] replace_int_MAX, replace_int_MAX {
\find(int_MAX)
\replacewith(Z(7(4(6(3(8(4(7(4(1(2(#))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1654] |
0.002s |
passed |
[1655] replace_int_MIN, replace_int_MIN {
\find(int_MIN)
\replacewith(Z(neglit(8(4(6(3(8(4(7(4(1(2(#)))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1655] |
0.001s |
passed |
[1656] replace_int_RANGE, replace_int_RANGE {
\find(int_RANGE)
\replacewith(Z(6(9(2(7(6(9(4(9(2(4(#))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1656] |
0s |
passed |
[1657] replace_known_left, replace_known_left {
\assumes ([b]==>[])
\find(b)
\sameUpdateLevel\replacewith(true)
\heuristics(replace_known_left)
Choices: true}
|
testEquality(String, String)[1657] |
0.001s |
passed |
[1658] replace_known_right, replace_known_right {
\assumes ([]==>[b])
\find(b)
\sameUpdateLevel\replacewith(false)
\heuristics(replace_known_right)
Choices: true}
|
testEquality(String, String)[1658] |
0.001s |
passed |
[1659] replace_long_HALFRANGE, replace_long_HALFRANGE {
\find(long_HALFRANGE)
\replacewith(Z(8(0(8(5(7(7(4(5(8(6(3(0(2(7(3(3(2(2(9(#)))))))))))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1659] |
0.009s |
passed |
[165] assignmentDivisionDouble, assignmentDivisionDouble {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 / #seDouble1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaDivDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[165] |
0s |
passed |
[1660] replace_long_MAX, replace_long_MAX {
\find(long_MAX)
\replacewith(Z(7(0(8(5(7(7(4(5(8(6(3(0(2(7(3(3(2(2(9(#)))))))))))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1660] |
0.001s |
passed |
[1661] replace_long_MIN, replace_long_MIN {
\find(long_MIN)
\replacewith(Z(neglit(8(0(8(5(7(7(4(5(8(6(3(0(2(7(3(3(2(2(9(#))))))))))))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1661] |
0.001s |
passed |
[1662] replace_long_RANGE, replace_long_RANGE {
\find(long_RANGE)
\replacewith(Z(6(1(6(1(5(5(9(0(7(3(7(0(4(4(7(6(4(4(8(1(#))))))))))))))))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1662] |
0.001s |
passed |
[1663] replace_short_HALFRANGE, replace_short_HALFRANGE {
\find(short_HALFRANGE)
\replacewith(Z(8(6(7(2(3(#)))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1663] |
0.001s |
passed |
[1664] replace_short_MAX, replace_short_MAX {
\find(short_MAX)
\replacewith(Z(7(6(7(2(3(#)))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1664] |
0.001s |
passed |
[1665] replace_short_MIN, replace_short_MIN {
\find(short_MIN)
\replacewith(Z(neglit(8(6(7(2(3(#))))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1665] |
0s |
passed |
[1666] replace_short_RANGE, replace_short_RANGE {
\find(short_RANGE)
\replacewith(Z(6(3(5(5(6(#)))))))
\heuristics(defOps_expandRanges)
Choices: true}
|
testEquality(String, String)[1666] |
0s |
passed |
[1667] returnUnfold, returnUnfold {
\find(#allmodal ( (modal operator))\[{ ..
return #nse;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0 = #nse;
return #v0;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1667] |
0s |
passed |
[1668] rotate_and, rotate_and {
\find(and(b,and(c,d)))
\replacewith(and(c,and(b,d)))
Choices: true}
|
testEquality(String, String)[1668] |
0s |
passed |
[1669] rotate_or, rotate_or {
\find(or(b,or(c,d)))
\replacewith(or(c,or(b,d)))
Choices: true}
|
testEquality(String, String)[1669] |
0.001s |
passed |
[166] assignmentDivisionDoubleStrictFP, assignmentDivisionDoubleStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 / #seDouble1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(divDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeDoubleAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[166] |
0.001s |
passed |
[1670] rotate_params, rotate_params {
\find(add(i,add(i0,i1)))
\replacewith(add(i0,add(i,i1)))
Choices: true}
|
testEquality(String, String)[1670] |
0s |
passed |
[1671] sameTypeFalse, sameTypeFalse {
\assumes ([equals(G::exactInstance(x1),TRUE),equals(H::exactInstance(x2),TRUE)]==>[])
\find(sameType(x1,x2))
\varcond(\not\same(G, H), )
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1671] |
0s |
passed |
[1672] sameTypeTrue, sameTypeTrue {
\assumes ([equals(G::exactInstance(x1),TRUE),equals(G::exactInstance(x2),TRUE)]==>[])
\find(sameType(x1,x2))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1672] |
0s |
passed |
[1673] same_boxes_left, same_boxes_left {
\assumes ([\[{ ..
#s
... }\] (post)]==>[])
\find(\[{ ..
#s
... }\] (post1)==>)
\add [\[{ ..
#s
... }\] (and(post,post1))]==>[]
Choices: programRules:Java}
|
testEquality(String, String)[1673] |
0s |
passed |
[1674] same_boxes_right, same_boxes_right {
\assumes ([]==>[\[{ ..
#s
... }\] (post)])
\find(==>\[{ ..
#s
... }\] (post1))
\add []==>[\[{ ..
#s
... }\] (or(post,post1))]
Choices: programRules:Java}
|
testEquality(String, String)[1674] |
0.001s |
passed |
[1675] same_diamonds_left, same_diamonds_left {
\assumes ([\<{ ..
#s
... }\> (post)]==>[])
\find(\<{ ..
#s
... }\> (post1)==>)
\add [\<{ ..
#s
... }\> (and(post,post1))]==>[]
Choices: programRules:Java}
|
testEquality(String, String)[1675] |
0s |
passed |
[1676] same_diamonds_right, same_diamonds_right {
\assumes ([]==>[\<{
#s
}\> (post)])
\find(==>\<{
#s
}\> (post1))
\add []==>[\<{
#s
}\> (or(post,post1))]
Choices: programRules:Java}
|
testEquality(String, String)[1676] |
0.001s |
passed |
[1677] schiffl_lemma_2, schiffl_lemma_2 {
\find(seqPerm(s,t)==>)
\varcond(\notFreeIn(y (variable), t (Seq term)), \notFreeIn(y (variable), s (Seq term)), \notFreeIn(x (variable), t (Seq term)), \notFreeIn(x (variable), s (Seq term)), \notFreeIn(r (variable), t (Seq term)), \notFreeIn(r (variable), s (Seq term)), \notFreeIn(iv (variable), t (Seq term)), \notFreeIn(iv (variable), s (Seq term)))
\add [all{x (variable)}(all{y (variable)}(imp(and(and(and(and(and(equals(any::seqGet(s,x),any::seqGet(t,x)),equals(any::seqGet(s,y),any::se… |
testEquality(String, String)[1677] |
0.001s |
passed |
[1678] schiffl_thm_1, schiffl_thm_1 {
\find(seqPerm(s,t)==>)
\varcond(\notFreeIn(idx (variable), t (Seq term)), \notFreeIn(idx (variable), s (Seq term)), \notFreeIn(idx (variable), b (any term)), \notFreeIn(idx (variable), a (any term)), \notFreeIn(idx (variable), y (int term)), \notFreeIn(idx (variable), x (int term)))
\add [imp(and(and(and(and(and(and(seqPerm(s,t),equals(any::seqGet(s,x),any::seqGet(t,x))),equals(any::seqGet(s,y),any::seqGet(t,y))),leq(Z(0(#)),x)),lt(x,seqLen(s))),leq(Z(0(#)),y)),lt(y,seqLen(s))),seqPerm(seqD… |
testEquality(String, String)[1678] |
0.001s |
passed |
[1679] secondOfPair, secondOfPair {
\find(second(pair(t,t1)))
\replacewith(t1)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1679] |
0s |
passed |
[167] assignmentDivisionFloat, assignmentDivisionFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 / #seFloat1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaDivFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[167] |
0s |
passed |
[1680] selectCreatedOfAnon, selectCreatedOfAnon {
\find(boolean::select(anon(h,s,h2),o,java.lang.Object::<created>))
\replacewith(if-then-else(equals(boolean::select(h,o,java.lang.Object::<created>),TRUE),TRUE,boolean::select(h2,o,java.lang.Object::<created>)))
\heuristics(simplify_heap_high_costs)
Choices: programRules:Java}
|
testEquality(String, String)[1680] |
0.001s |
passed |
[1681] selectCreatedOfAnonAsFormula, selectCreatedOfAnonAsFormula {
\find(equals(boolean::select(anon(h,s,h2),o,java.lang.Object::<created>),TRUE))
\replacewith(or(equals(boolean::select(h,o,java.lang.Object::<created>),TRUE),equals(boolean::select(h2,o,java.lang.Object::<created>),TRUE)))
\heuristics(simplify_ENLARGING)
Choices: programRules:Java}
|
testEquality(String, String)[1681] |
0s |
passed |
[1682] selectCreatedOfAnonAsFormulaEQ, selectCreatedOfAnonAsFormulaEQ {
\assumes ([equals(anon(h,s,h2),EQ)]==>[])
\find(equals(boolean::select(EQ,o,java.lang.Object::<created>),TRUE))
\sameUpdateLevel\replacewith(or(equals(boolean::select(h,o,java.lang.Object::<created>),TRUE),equals(boolean::select(h2,o,java.lang.Object::<created>),TRUE)))
\heuristics(simplify_ENLARGING)
Choices: programRules:Java}
|
testEquality(String, String)[1682] |
0.001s |
passed |
[1683] selectCreatedOfAnonEQ, selectCreatedOfAnonEQ {
\assumes ([equals(anon(h,s,h2),EQ)]==>[])
\find(boolean::select(EQ,o,java.lang.Object::<created>))
\sameUpdateLevel\replacewith(if-then-else(equals(boolean::select(h,o,java.lang.Object::<created>),TRUE),TRUE,boolean::select(h2,o,java.lang.Object::<created>)))
\heuristics(simplify_heap_high_costs)
Choices: programRules:Java}
|
testEquality(String, String)[1683] |
0s |
passed |
[1684] selectOfAnon, selectOfAnon {
\find(beta::select(anon(h,s,h2),o,f))
\replacewith(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),elementOf(o,f,freshLocs(h))),beta::select(h2,o,f),beta::select(h,o,f)))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[1684] |
0.001s |
passed |
[1685] selectOfAnonEQ, selectOfAnonEQ {
\assumes ([equals(anon(h,s,h2),EQ)]==>[])
\find(beta::select(EQ,o,f))
\sameUpdateLevel\replacewith(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),elementOf(o,f,freshLocs(h))),beta::select(h2,o,f),beta::select(h,o,f)))
\heuristics(simplify_heap_high_costs)
Choices: programRules:Java}
|
testEquality(String, String)[1685] |
0s |
passed |
[1686] selectOfCreate, selectOfCreate {
\find(beta::select(create(h,o),o2,f))
\replacewith(if-then-else(and(and(equals(o,o2),not(equals(o,null))),equals(f,java.lang.Object::<created>)),beta::cast(TRUE),beta::select(h,o2,f)))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[1686] |
0.001s |
passed |
[1687] selectOfCreateEQ, selectOfCreateEQ {
\assumes ([equals(create(h,o),EQ)]==>[])
\find(beta::select(EQ,o2,f))
\sameUpdateLevel\replacewith(if-then-else(and(and(equals(o,o2),not(equals(o,null))),equals(f,java.lang.Object::<created>)),beta::cast(TRUE),beta::select(h,o2,f)))
\heuristics(simplify_heap_high_costs)
Choices: programRules:Java}
|
testEquality(String, String)[1687] |
0s |
passed |
[1688] selectOfMemset, selectOfMemset {
\find(beta::select(memset(h,s,x),o,f))
\replacewith(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),beta::cast(x),beta::select(h,o,f)))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[1688] |
0.001s |
passed |
[1689] selectOfMemsetEQ, selectOfMemsetEQ {
\assumes ([equals(memset(h,s,x),EQ)]==>[])
\find(beta::select(EQ,o,f))
\sameUpdateLevel\replacewith(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),beta::cast(x),beta::select(h,o,f)))
\heuristics(simplify_heap_high_costs)
Choices: programRules:Java}
|
testEquality(String, String)[1689] |
0s |
passed |
[168] assignmentDivisionFloatStrictFP, assignmentDivisionFloatStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 / #seFloat1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(divFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[168] |
0.001s |
passed |
[1690] selectOfStore, selectOfStore {
\find(beta::select(store(h,o,f,x),o2,f2))
\replacewith(if-then-else(and(and(equals(o,o2),equals(f,f2)),not(equals(f,java.lang.Object::<created>))),beta::cast(x),beta::select(h,o2,f2)))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[1690] |
0s |
passed |
[1691] selectOfStoreEQ, selectOfStoreEQ {
\assumes ([equals(store(h,o,f,x),EQ)]==>[])
\find(beta::select(EQ,o2,f2))
\sameUpdateLevel\replacewith(if-then-else(and(and(equals(o,o2),equals(f,f2)),not(equals(f,java.lang.Object::<created>))),beta::cast(x),beta::select(h,o2,f2)))
\heuristics(simplify_heap_high_costs)
Choices: programRules:Java}
|
testEquality(String, String)[1691] |
0s |
passed |
[1692] seqConcatUnfoldLeft, seqConcatUnfoldLeft {
\find(#allmodal ( (modal operator))\[{ ..
#v = \singleton(#nseLeft, #eRight);
... }\] (post))
\varcond(\new(#vLeftNew (program Variable), \typeof(#nseLeft (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseLeft) #vLeftNew = #nseLeft;
#v = \singleton(#vLeftNew, #eRight);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1692] |
0s |
passed |
[1693] seqConcatUnfoldRight, seqConcatUnfoldRight {
\find(#allmodal ( (modal operator))\[{ ..
#v = \singleton(#seLeft, #nseRight);
... }\] (post))
\varcond(\new(#vRightNew (program Variable), \typeof(#nseRight (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseRight) #vRightNew = #nseRight;
#v = \singleton(#seLeft, #vRightNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1693] |
0.001s |
passed |
[1694] seqConcatWithSeqEmpty1, seqConcatWithSeqEmpty1 {
\find(seqConcat(seq,seqEmpty))
\replacewith(seq)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1694] |
0.001s |
passed |
[1695] seqConcatWithSeqEmpty2, seqConcatWithSeqEmpty2 {
\find(seqConcat(seqEmpty,seq))
\replacewith(seq)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1695] |
0s |
passed |
[1696] seqDefOfSeq, seqDefOfSeq {
\find(seqDef{u (variable)}(Z(0(#)),x,any::seqGet(s,u)))
\varcond(\notFreeIn(v (variable), s (Seq term)), \notFreeIn(v (variable), x (int term)), \notFreeIn(u (variable), s (Seq term)), \notFreeIn(u (variable), x (int term)))
\replacewith(if-then-else(equals(seqLen(s),x),s,if-then-else(gt(seqLen(s),x),seqSub(s,Z(0(#)),x),seqConcat(s,seqDef{v (variable)}(seqLen(s),x,seqGetOutside)))))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[1696] |
0.001s |
passed |
[1697] seqDef_empty, seqDef_empty {
\find(seqDef{uSub (variable)}(from,idx,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), idx (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(seqEmpty) ;
\add []==>[leq(idx,from)]
Choices: sequences:on}
|
testEquality(String, String)[1697] |
0s |
passed |
[1698] seqDef_induction_lower, seqDef_induction_lower {
\find(seqDef{uSub (variable)}(from,to,t))
\varcond(\notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(seqConcat(if-then-else(lt(from,to),seqSingleton(subst{uSub (variable)}(from,t)),seqEmpty),seqDef{uSub (variable)}(add(from,Z(1(#))),to,t)))
Choices: sequences:on}
|
testEquality(String, String)[1698] |
0.001s |
passed |
[1699] seqDef_induction_lower_concrete, seqDef_induction_lower_concrete {
\find(seqDef{uSub (variable)}(add(Z(neglit(1(#))),from),to,t))
\varcond(\notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(seqConcat(if-then-else(lt(add(Z(neglit(1(#))),from),to),seqSingleton(subst{uSub (variable)}(add(Z(neglit(1(#))),from),t)),seqEmpty),seqDef{uSub (variable)}(from,to,t)))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1699] |
0s |
passed |
[169] assignmentDivisionInt, assignmentDivisionInt {
\find(==>#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 / #seCharByteShortInt1;
... }\] (post))
\replacewith([]==>[not(equals(#seCharByteShortInt1,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(javaDivInt(#seCharByteShortInt0,#seCharByteShortInt1)),#normalassign(post))])
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[169] |
0.001s |
passed |
[16] activeUseModulo, activeUseModulo {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left % #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left % #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[16] |
0.001s |
passed |
[1700] seqDef_induction_upper, seqDef_induction_upper {
\find(seqDef{uSub (variable)}(from,to,t))
\varcond(\notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(seqConcat(seqDef{uSub (variable)}(from,sub(to,Z(1(#))),t),if-then-else(lt(from,to),seqSingleton(subst{uSub (variable)}(sub(to,Z(1(#))),t)),seqEmpty)))
Choices: sequences:on}
|
testEquality(String, String)[1700] |
0s |
passed |
[1701] seqDef_induction_upper_concrete, seqDef_induction_upper_concrete {
\find(seqDef{uSub (variable)}(from,add(Z(1(#)),to),t))
\varcond(\notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(seqConcat(seqDef{uSub (variable)}(from,to,t),if-then-else(leq(from,to),seqSingleton(subst{uSub (variable)}(to,t)),seqEmpty)))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[1701] |
0s |
passed |
[1702] seqDef_lower_equals_upper, seqDef_lower_equals_upper {
\find(seqDef{uSub (variable)}(idx,idx,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), idx (int term)))
\replacewith(seqEmpty)
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1702] |
0s |
passed |
[1703] seqDef_one_summand, seqDef_one_summand {
\find(seqDef{uSub (variable)}(from,idx,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), idx (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(if-then-else(equals(add(from,Z(1(#))),idx),seqSingleton(subst{uSub (variable)}(from,t)),seqDef{uSub (variable)}(from,idx,t)))
Choices: sequences:on}
|
testEquality(String, String)[1703] |
0s |
passed |
[1704] seqDef_split, seqDef_split {
\find(seqDef{uSub (variable)}(from,to,t))
\varcond(\notFreeIn(uSub1 (variable), t (any term)), \notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), idx (int term)), \notFreeIn(uSub (variable), from (int term)), \notFreeIn(uSub1 (variable), to (int term)), \notFreeIn(uSub1 (variable), idx (int term)), \notFreeIn(uSub1 (variable), from (int term)))
\replacewith(if-then-else(and(leq(from,idx),lt(idx,to)),seqConcat(seqDef{uSub (variable)}(from,idx,t),seqDef{uSub1 (variable)}(i… |
testEquality(String, String)[1704] |
0s |
passed |
[1705] seqDef_split_in_three, seqDef_split_in_three {
\find(seqDef{uSub (variable)}(from,to,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub1 (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)), \notFreeIn(uSub1 (variable), idx (int term)), \notFreeIn(uSub1 (variable), t (any term)), \notFreeIn(uSub (variable), idx (int term)))
\replacewith(seqConcat(seqDef{uSub (variable)}(from,idx,t),seqConcat(seqSingleton(subst{uSub (variable)}(idx,t)),seqDef{uSub1 (variable)}(add(idx,Z(1(#))),to,subst{uSub (variable)}(uSub1,t))))) … |
testEquality(String, String)[1705] |
0.001s |
passed |
[1706] seqGetAlphaCast, seqGetAlphaCast {
\find(alpha::seqGet(seq,at))
\add [equals(alpha::cast(any::seqGet(seq,at)),alpha::seqGet(seq,at))]==>[]
\heuristics(inReachableStateImplication)
Choices: sequences:on}
|
testEquality(String, String)[1706] |
0s |
passed |
[1707] seqGetUnfoldLeft, seqGetUnfoldLeft {
\find(#allmodal ( (modal operator))\[{ ..
#v = #nseLeft[#eRight];
... }\] (post))
\varcond(\new(#vLeftNew (program Variable), \typeof(#nseLeft (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseLeft) #vLeftNew = #nseLeft;
#v = #vLeftNew[#eRight];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1707] |
0.001s |
passed |
[1708] seqGetUnfoldRight, seqGetUnfoldRight {
\find(#allmodal ( (modal operator))\[{ ..
#v = #seLeft[#nseRight];
... }\] (post))
\varcond(\new(#vRightNew (program Variable), \typeof(#nseRight (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseRight) #vRightNew = #nseRight;
#v = #seLeft[#vRightNew];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1708] |
0s |
passed |
[1709] seqIndexOf, seqIndexOf {
\find(seqIndexOf(s,t))
\varcond(\notFreeIn(m (variable), t (any term)), \notFreeIn(m (variable), s (Seq term)), \notFreeIn(n (variable), t (any term)), \notFreeIn(n (variable), s (Seq term)))
\add [imp(exists{n (variable)}(and(and(leq(Z(0(#)),n),lt(n,seqLen(s))),equals(any::seqGet(s,n),t))),and(and(and(leq(Z(0(#)),seqIndexOf(s,t)),lt(seqIndexOf(s,t),seqLen(s))),equals(any::seqGet(s,seqIndexOf(s,t)),t)),all{m (variable)}(imp(and(leq(Z(0(#)),m),lt(m,seqIndexOf(s,t))),not(equals(any::seqGet(s,m),… |
testEquality(String, String)[1709] |
0.001s |
passed |
[170] assignmentDivisionLong, assignmentDivisionLong {
\find(==>#normalassign ( (modal operator))\[{ ..
#loc = #se / #seLong;
... }\] (post))
\replacewith([]==>[not(equals(#seLong,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(javaDivLong(#se,#seLong)),#normalassign(post))])
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[170] |
0.001s |
passed |
[1710] seqIndexOfUnfoldLeft, seqIndexOfUnfoldLeft {
\find(#allmodal ( (modal operator))\[{ ..
#v = \indexOf(#nseLeft, #eRight);
... }\] (post))
\varcond(\new(#vLeftNew (program Variable), \typeof(#nseLeft (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseLeft) #vLeftNew = #nseLeft;
#v = \indexOf(#vLeftNew, #eRight);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1710] |
0s |
passed |
[1711] seqIndexOfUnfoldRight, seqIndexOfUnfoldRight {
\find(#allmodal ( (modal operator))\[{ ..
#v = \indexOf(#seLeft, #nseRight);
... }\] (post))
\varcond(\new(#vRightNew (program Variable), \typeof(#nseRight (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseRight) #vRightNew = #nseRight;
#v = \indexOf(#seLeft, #vRightNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1711] |
0s |
passed |
[1712] seqLengthUnfold, seqLengthUnfold {
\find(#allmodal ( (modal operator))\[{ ..
#v = #nse.length;
... }\] (post))
\varcond(\new(#vNew (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #vNew = #nse;
#v = #vNew.length;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1712] |
0.001s |
passed |
[1713] seqOutsideValue, seqOutsideValue {
\find(seqGetOutside)
\add [all{s (variable)}(all{iv (variable)}(imp(or(lt(iv,Z(0(#))),leq(seqLen(s),iv)),equals(any::seqGet(s,iv),seqGetOutside))))]==>[]
Choices: sequences:on}
|
testEquality(String, String)[1713] |
0.001s |
passed |
[1714] seqReverseOfSeqEmpty, seqReverseOfSeqEmpty {
\find(seqReverse(seqEmpty))
\replacewith(seqEmpty)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1714] |
0s |
passed |
[1715] seqReverseUnfold, seqReverseUnfold {
\find(#allmodal ( (modal operator))\[{ ..
#v = \seq_reverse(#nse);
... }\] (post))
\varcond(\new(#vNew (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #vNew = #nse;
#v = \seq_reverse(#vNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1715] |
0.001s |
passed |
[1716] seqSelfDefinition, seqSelfDefinition {
\find(seq)
\add [all{s (variable)}(equals(s,seqDef{u (variable)}(Z(0(#)),seqLen(s),any::seqGet(s,u))))]==>[]
Choices: sequences:on}
|
testEquality(String, String)[1716] |
0s |
passed |
[1717] seqSelfDefinitionEQ2, seqSelfDefinitionEQ2 {
\assumes ([equals(seqLen(s),x)]==>[])
\find(seqDef{u (variable)}(Z(0(#)),x,any::seqGet(s,u)))
\sameUpdateLevel\varcond(\notFreeIn(u (variable), s (Seq term)), \notFreeIn(u (variable), x (int term)))
\replacewith(s)
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[1717] |
0.001s |
passed |
[1718] seqSingletonUnfold, seqSingletonUnfold {
\find(#allmodal ( (modal operator))\[{ ..
#v = \seq_singleton(#nse);
... }\] (post))
\varcond(\new(#vNew (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #vNew = #nse;
#v = \seq_singleton(#vNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1718] |
0s |
passed |
[1719] seqSubUnfoldLeft, seqSubUnfoldLeft {
\find(#allmodal ( (modal operator))\[{ ..
#v = \seq_sub(#nseLeft, #eMiddle, #eRight);
... }\] (post))
\varcond(\new(#vLeftNew (program Variable), \typeof(#nseLeft (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseLeft) #vLeftNew = #nseLeft;
#v = \seq_sub(#vLeftNew, #eMiddle, #eRight);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1719] |
0.001s |
passed |
[171] assignmentDivisionLong2, assignmentDivisionLong2 {
\find(==>#normalassign ( (modal operator))\[{ ..
#loc = #seLong / #seCharByteShortInt;
... }\] (post))
\replacewith([]==>[not(equals(#seCharByteShortInt,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(javaDivLong(#seLong,#seCharByteShortInt)),#normalassign(post))])
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[171] |
0.001s |
passed |
[1720] seqSubUnfoldMiddle, seqSubUnfoldMiddle {
\find(#allmodal ( (modal operator))\[{ ..
#v = \seq_sub(#seLeft, #nseMiddle, #eRight);
... }\] (post))
\varcond(\new(#vMiddleNew (program Variable), \typeof(#nseMiddle (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseMiddle) #vMiddleNew = #nseMiddle;
#v = \seq_sub(#seLeft, #vMiddleNew, #eRight);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1720] |
0s |
passed |
[1721] seqSubUnfoldRight, seqSubUnfoldRight {
\find(#allmodal ( (modal operator))\[{ ..
#v = \seq_sub(#seLeft, #seMiddle, #nseRight);
... }\] (post))
\varcond(\new(#vRightNew (program Variable), \typeof(#nseRight (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseRight) #vRightNew = #nseRight;
#v = \seq_sub(#seLeft, #seMiddle, #vRightNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1721] |
0s |
passed |
[1722] sequentialToParallel1, sequentialToParallel1 {
\find(update-application(u,update-application(u2,t)))
\replacewith(update-application(parallel-upd(u,update-application(u,u2)),t))
\heuristics(update_join)
Choices: true}
|
testEquality(String, String)[1722] |
0s |
passed |
[1723] sequentialToParallel2, sequentialToParallel2 {
\find(update-application(u,update-application(u2,phi)))
\replacewith(update-application(parallel-upd(u,update-application(u,u2)),phi))
\heuristics(update_join)
Choices: true}
|
testEquality(String, String)[1723] |
0s |
passed |
[1724] sequentialToParallel3, sequentialToParallel3 {
\find(update-application(u,update-application(u2,u3)))
\replacewith(update-application(parallel-upd(u,update-application(u,u2)),u3))
\heuristics(update_join)
Choices: true}
|
testEquality(String, String)[1724] |
0.001s |
passed |
[1725] setIntersectUnfoldLeft, setIntersectUnfoldLeft {
\find(#allmodal ( (modal operator))\[{ ..
#v = \intersect(#nseLeft, #eRight);
... }\] (post))
\varcond(\new(#vLeftNew (program Variable), \typeof(#nseLeft (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseLeft) #vLeftNew = #nseLeft;
#v = \intersect(#vLeftNew, #eRight);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1725] |
0s |
passed |
[1726] setIntersectUnfoldRight, setIntersectUnfoldRight {
\find(#allmodal ( (modal operator))\[{ ..
#v = \intersect(#seLeft, #nseRight);
... }\] (post))
\varcond(\new(#vRightNew (program Variable), \typeof(#nseRight (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseRight) #vRightNew = #nseRight;
#v = \intersect(#seLeft, #vRightNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1726] |
0.001s |
passed |
[1727] setJavaCardTransient, setJavaCardTransient {
\find(==>#allmodal ( (modal operator))\[{ ..
#jcsystemType.#setTransient(#se, #se1)@#jcsystemType;
... }\] (post))
\replacewith([]==>[not(equals(#se,null))]) ;
\replacewith([]==>[update-application(elem-update(heap)(store(heap,#se,java.lang.Object::<transient>,#se1)),#allmodal(post))])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[1727] |
0s |
passed |
[1728] setMinusItself, setMinusItself {
\find(setMinus(s,s))
\replacewith(empty)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1728] |
0.001s |
passed |
[1729] setMinusOfUnion, setMinusOfUnion {
\find(setMinus(union(s,s2),s3))
\replacewith(union(setMinus(s,s3),setMinus(s2,s3)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1729] |
0s |
passed |
[172] assignmentModDouble, assignmentModDouble {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 % #seDouble1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaModDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[172] |
0.001s |
passed |
[1730] setMinusOfUnionEQ, setMinusOfUnionEQ {
\assumes ([equals(union(s,s2),EQ)]==>[])
\find(setMinus(EQ,s3))
\sameUpdateLevel\replacewith(union(setMinus(s,s3),setMinus(s2,s3)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1730] |
0.001s |
passed |
[1731] setMinusSingleton, setMinusSingleton {
\assumes ([]==>[elementOf(o,f,s)])
\find(setMinus(s,singleton(o,f)))
\replacewith(s)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1731] |
0.001s |
passed |
[1732] setMinusUnfoldLeft, setMinusUnfoldLeft {
\find(#allmodal ( (modal operator))\[{ ..
#v = \set_minus(#nseLeft, #eRight);
... }\] (post))
\varcond(\new(#vLeftNew (program Variable), \typeof(#nseLeft (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseLeft) #vLeftNew = #nseLeft;
#v = \set_minus(#vLeftNew, #eRight);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1732] |
0s |
passed |
[1733] setMinusUnfoldRight, setMinusUnfoldRight {
\find(#allmodal ( (modal operator))\[{ ..
#v = \set_minus(#seLeft, #nseRight);
... }\] (post))
\varcond(\new(#vRightNew (program Variable), \typeof(#nseRight (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseRight) #vRightNew = #nseRight;
#v = \set_minus(#seLeft, #vRightNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1733] |
0s |
passed |
[1734] setMinusWithAllLocs, setMinusWithAllLocs {
\find(setMinus(s,allLocs))
\replacewith(empty)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1734] |
0.001s |
passed |
[1735] setMinusWithEmpty1, setMinusWithEmpty1 {
\find(setMinus(s,empty))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1735] |
0s |
passed |
[1736] setMinusWithEmpty2, setMinusWithEmpty2 {
\find(setMinus(empty,s))
\replacewith(empty)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1736] |
0.001s |
passed |
[1737] setUnionUnfoldLeft, setUnionUnfoldLeft {
\find(#allmodal ( (modal operator))\[{ ..
#v = \set_union(#nseLeft, #eRight);
... }\] (post))
\varcond(\new(#vLeftNew (program Variable), \typeof(#nseLeft (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseLeft) #vLeftNew = #nseLeft;
#v = \set_union(#vLeftNew, #eRight);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1737] |
0s |
passed |
[1738] setUnionUnfoldRight, setUnionUnfoldRight {
\find(#allmodal ( (modal operator))\[{ ..
#v = \set_union(#seLeft, #nseRight);
... }\] (post))
\varcond(\new(#vRightNew (program Variable), \typeof(#nseRight (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseRight) #vRightNew = #nseRight;
#v = \set_union(#seLeft, #vRightNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1738] |
0.001s |
passed |
[1739] shiftLeftDef, shiftLeftDef {
\find(shiftleft(left,right))
\replacewith(if-then-else(lt(right,Z(0(#))),shiftrightPositiveShift(left,neg(right)),shiftleftPositiveShift(left,right)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1739] |
0s |
passed |
[173] assignmentModFloat, assignmentModFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 % #seFloat1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaModFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[173] |
0.001s |
passed |
[1740] shiftLeftPositiveShiftDef, shiftLeftPositiveShiftDef {
\find(shiftleftPositiveShift(left,right))
\replacewith(mul(left,pow(Z(2(#)),right)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1740] |
0.001s |
passed |
[1741] shiftRightDef, shiftRightDef {
\find(shiftright(left,right))
\replacewith(if-then-else(lt(right,Z(0(#))),shiftleftPositiveShift(left,neg(right)),shiftrightPositiveShift(left,right)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1741] |
0s |
passed |
[1742] shiftRightPositiveShiftDef, shiftRightPositiveShiftDef {
\find(shiftrightPositiveShift(left,right))
\replacewith(div(left,pow(Z(2(#)),right)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1742] |
0.001s |
passed |
[1743] shift_paren_and, shift_paren_and {
\find(and(assoc0,and(assoc1,assoc2)))
\replacewith(and(and(assoc0,assoc1),assoc2))
\heuristics(cnf_andAssoc, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1743] |
0s |
passed |
[1744] shift_paren_or, shift_paren_or {
\find(or(assoc0,or(assoc1,assoc2)))
\replacewith(or(or(assoc0,assoc1),assoc2))
\heuristics(cnf_orAssoc, conjNormalForm)
Choices: true}
|
testEquality(String, String)[1744] |
0.001s |
passed |
[1745] shiftleft_literals, shiftleft_literals {
\find(shiftleft(Z(iz),Z(jz)))
\replacewith(#ShiftLeft(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1745] |
0s |
passed |
[1746] shiftright_literals, shiftright_literals {
\find(shiftright(Z(iz),Z(jz)))
\replacewith(#ShiftRight(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1746] |
0.001s |
passed |
[1747] sign_case_distinction, sign_case_distinction {
\add [geq(signCasesLeft,Z(1(#)))]==>[] ;
\add [equals(signCasesLeft,Z(0(#)))]==>[] ;
\add [leq(signCasesLeft,Z(neglit(1(#))))]==>[]
\heuristics(inEqSimp_signCases)
Choices: true}
|
testEquality(String, String)[1747] |
0s |
passed |
[1748] simplifyIfThenElseUpdate1, simplifyIfThenElseUpdate1 {
\find(if-then-else(phi,update-application(u1,t),update-application(u2,t)))
\varcond(\simplifyIfThenElseUpdate(phi, u1, u2, t, result), )
\replacewith(result)
Choices: true}
|
testEquality(String, String)[1748] |
0.001s |
passed |
[1749] simplifyIfThenElseUpdate2, simplifyIfThenElseUpdate2 {
\find(if-then-else(phi,t,update-application(u2,t)))
\varcond(\simplifyIfThenElseUpdate(phi, u1, u2, t, result), )
\replacewith(result)
Choices: true}
|
testEquality(String, String)[1749] |
0s |
passed |
[174] assignmentModulo, assignmentModulo {
\find(==>#normalassign ( (modal operator))\[{ ..
#loc = #se0 % #se1;
... }\] (post))
\replacewith([]==>[not(equals(#se1,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(javaMod(#se0,#se1)),#normalassign(post))])
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[174] |
0.001s |
passed |
[1750] simplifyIfThenElseUpdate3, simplifyIfThenElseUpdate3 {
\find(if-then-else(phi,update-application(u1,t),t))
\varcond(\simplifyIfThenElseUpdate(phi, u1, u2, t, result), )
\replacewith(result)
Choices: true}
|
testEquality(String, String)[1750] |
0s |
passed |
[1751] simplifyIfThenElseUpdate4, simplifyIfThenElseUpdate4 {
\find(if-then-else(phi,t,t))
\varcond(\simplifyIfThenElseUpdate(phi, u1, u2, t, result), )
\replacewith(result)
Choices: true}
|
testEquality(String, String)[1751] |
0s |
passed |
[1752] simplifySelectOfAnon, simplifySelectOfAnon {
\find(equals(beta::select(anon(h,s,h2),o,f),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(anon(h,s,h2),o,f))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),elementOf(o,f,freshLocs(h))),beta::select(h2,o,f),beta::select(h,o,f)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1752] |
0s |
passed |
[1753] simplifySelectOfAnonEQ, simplifySelectOfAnonEQ {
\assumes ([equals(anon(h,s,h2),EQ)]==>[])
\find(equals(beta::select(EQ,o,f),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(EQ,o,f))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(or(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),elementOf(o,f,freshLocs(h))),beta::select(h2,o,f),beta::select(h,o,f)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1753] |
0s |
passed |
[1754] simplifySelectOfCreate, simplifySelectOfCreate {
\find(equals(beta::select(create(h,o),o2,f),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(create(h,o),o2,f))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(and(and(equals(o,o2),not(equals(o,null))),equals(f,java.lang.Object::<created>)),beta::cast(TRUE),beta::select(h,o2,f)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1754] |
0.001s |
passed |
[1755] simplifySelectOfCreateEQ, simplifySelectOfCreateEQ {
\assumes ([equals(create(h,o),EQ)]==>[])
\find(equals(beta::select(EQ,o2,f),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(EQ,o2,f))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(and(and(equals(o,o2),not(equals(o,null))),equals(f,java.lang.Object::<created>)),beta::cast(TRUE),beta::select(h,o2,f)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1755] |
0s |
passed |
[1756] simplifySelectOfMemset, simplifySelectOfMemset {
\find(equals(beta::select(memset(h,s,x),o,f),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(memset(h,s,x),o,f))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),x,beta::select(h,o,f)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1756] |
0.001s |
passed |
[1757] simplifySelectOfMemsetEQ, simplifySelectOfMemsetEQ {
\assumes ([equals(memset(h,s,x),EQ)]==>[])
\find(equals(beta::select(EQ,o,f),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(EQ,o,f))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(and(elementOf(o,f,s),not(equals(f,java.lang.Object::<created>))),x,beta::select(h,o,f)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1757] |
0s |
passed |
[1758] simplifySelectOfStore, simplifySelectOfStore {
\find(equals(beta::select(store(h,o,f,x),o2,f2),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(store(h,o,f,x),o2,f2))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(and(and(equals(o,o2),equals(f,f2)),not(equals(f,java.lang.Object::<created>))),beta::cast(x),beta::select(h,o2,f2)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1758] |
0.001s |
passed |
[1759] simplifySelectOfStoreEQ, simplifySelectOfStoreEQ {
\assumes ([equals(store(h,o,f,x),EQ)]==>[])
\find(equals(beta::select(EQ,o2,f2),sk)==>)
\addrules [replaceKnownSelect {
\find(beta::select(EQ,o2,f2))
\inSequentState\replacewith(sk)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([equals(if-then-else(and(and(equals(o,o2),equals(f,f2)),not(equals(f,java.lang.Object::<created>))),beta::cast(x),beta::select(h,o2,f2)),sk)]==>[])
\heuristics(simplify_select)
Choices: programRules:Java}
|
testEquality(String, String)[1759] |
0s |
passed |
[175] assignmentModuloBigint1, assignmentModuloBigint1 {
\find(==>#allmodal ( (modal operator))\[{ ..
#loc = #seBigint % #seAny;
... }\] (post))
\replacewith([]==>[not(equals(#seAny,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(mod(#seBigint,#seAny)),#allmodal(post))])
\heuristics(executeIntegerAssignment)
Choices: ((programRules:Java & bigint:on) & runtimeExceptions:ban)}
|
testEquality(String, String)[175] |
0.001s |
passed |
[1760] simplifyUpdate1, simplifyUpdate1 {
\find(update-application(u,t))
\varcond(\dropEffectlessElementaries(u (update), t (any term), result (any term)), )
\replacewith(result)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[1760] |
0.001s |
passed |
[1761] simplifyUpdate2, simplifyUpdate2 {
\find(update-application(u,phi))
\varcond(\dropEffectlessElementaries(u (update), phi (formula), result (formula)), )
\replacewith(result)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[1761] |
0.001s |
passed |
[1762] simplifyUpdate3, simplifyUpdate3 {
\find(update-application(u,u2))
\varcond(\dropEffectlessElementaries(u (update), u2 (update), result (update)), )
\replacewith(result)
\heuristics(update_elim)
Choices: true}
|
testEquality(String, String)[1762] |
0s |
passed |
[1763] sinIsNaN, sinIsNaN {
\find(sinDouble(arg))
\add [imp(or(doubleIsNaN(arg),doubleIsInfinite(arg)),doubleIsNaN(sinDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1763] |
0.001s |
passed |
[1764] sinIsNotNaN, sinIsNotNaN {
\find(sinDouble(arg))
\add [imp(and(not(doubleIsNaN(arg)),not(doubleIsInfinite(arg))),not(doubleIsNaN(sinDouble(arg))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1764] |
0s |
passed |
[1765] sinRange2, sinRange2 {
\find(sinDouble(arg))
\add [imp(and(not(doubleIsNaN(arg)),not(doubleIsInfinite(arg))),and(geqDouble(sinDouble(arg),negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),leqDouble(sinDouble(arg),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1765] |
0.001s |
passed |
[1766] sinRange3, sinRange3 {
\find(sinDouble(arg))
\add [imp(and(not(doubleIsNaN(arg)),not(doubleIsInfinite(arg))),and(geqDouble(mulDouble(sinDouble(arg),sinDouble(arg)),DFP(0(#))),leqDouble(mulDouble(sinDouble(arg),sinDouble(arg)),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1766] |
0s |
passed |
[1767] sineIsNaNAlt, sineIsNaNAlt {
\find(doubleIsNaN(sinDouble(arg)))
\replacewith(or(doubleIsNaN(arg),doubleIsInfinite(arg)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1767] |
0.001s |
passed |
[1768] sineIsZero, sineIsZero {
\find(sinDouble(arg))
\add [imp(equals(arg,DFP(0(#))),equals(sinDouble(arg),DFP(0(#))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1768] |
0s |
passed |
[1769] sineRange, sineRange {
\find(sinDouble(arg))
\add [or(and(geqDouble(sinDouble(arg),negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),leqDouble(sinDouble(arg),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),doubleIsNaN(sinDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1769] |
0s |
passed |
[176] assignmentModuloBigint2, assignmentModuloBigint2 {
\find(==>#allmodal ( (modal operator))\[{ ..
#loc = #seAny % #seBigint;
... }\] (post))
\replacewith([]==>[not(equals(#seBigint,Z(0(#))))]) ;
\replacewith([]==>[update-application(elem-update(#loc (program Variable))(mod(#seAny,#seBigint)),#allmodal(post))])
\heuristics(executeIntegerAssignment)
Choices: ((programRules:Java & bigint:on) & runtimeExceptions:ban)}
|
testEquality(String, String)[176] |
0.001s |
passed |
[1770] sineRangeAlt, sineRangeAlt {
\find(==>doubleIsNaN(sinDouble(arg)))
\add [and(geqDouble(sinDouble(arg),negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),leqDouble(sinDouble(arg),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1770] |
0s |
passed |
[1771] singletonAssignment, singletonAssignment {
\find(#allmodal ( (modal operator))\[{ ..
#v = \singleton(#seObj.#a);
... }\] (post))
\replacewith(update-application(elem-update(#v (program Variable))(singleton(#seObj,#memberPVToField(#a))),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1771] |
0s |
passed |
[1772] singletonEqualsEmpty, singletonEqualsEmpty {
\find(equals(singleton(o,f),empty))
\replacewith(false)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1772] |
0.001s |
passed |
[1773] singletonUnfold, singletonUnfold {
\find(#allmodal ( (modal operator))\[{ ..
#v = \singleton(#nseObj.#a);
... }\] (post))
\varcond(\new(#vObjNew (program Variable), \typeof(#nseObj (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseObj) #vObjNew = #nseObj;
#v = \singleton(#vObjNew.#a);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1773] |
0s |
passed |
[1774] sizeOfMapEmpty, sizeOfMapEmpty {
\find(mapSize(mapEmpty))
\sameUpdateLevel\replacewith(Z(0(#)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1774] |
0.001s |
passed |
[1775] sizeOfMapRemove, sizeOfMapRemove {
\find(mapSize(mapRemove(m,key)))
\add [imp(isFinite(m),equals(mapSize(mapRemove(m,key)),if-then-else(inDomain(m,key),sub(mapSize(m),Z(1(#))),mapSize(m))))]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1775] |
0s |
passed |
[1776] sizeOfMapSingleton, sizeOfMapSingleton {
\find(mapSize(mapSingleton(key,value)))
\sameUpdateLevel\replacewith(Z(1(#)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1776] |
0.001s |
passed |
[1777] sizeOfMapUpdate, sizeOfMapUpdate {
\find(mapSize(mapUpdate(m,key,value)))
\add [imp(isFinite(m),equals(mapSize(mapUpdate(m,key,value)),if-then-else(inDomain(m,key),mapSize(m),add(mapSize(m),Z(1(#))))))]==>[]
\heuristics(inReachableStateImplication)
Choices: true}
|
testEquality(String, String)[1777] |
0s |
passed |
[1778] sizeOfSeq2Map, sizeOfSeq2Map {
\find(mapSize(seq2map(s)))
\sameUpdateLevel\replacewith(seqLen(s))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1778] |
0.009s |
passed |
[1779] sortsDisjoint1, sortsDisjoint1 {
\find(equals(x,y))
\varcond(\not\sub(Null, G), \disjointModuloNull(G, H), )
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1779] |
0.001s |
passed |
[177] assignmentMultiplicationBigint1, assignmentMultiplicationBigint1 {
\find(#allmodal ( (modal operator))\[{ ..
#loc = #seBigint * #seAny;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(mul(#seBigint,#seAny)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[177] |
0.001s |
passed |
[1780] sortsDisjoint2, sortsDisjoint2 {
\find(equals(x,y))
\varcond(\not\sub(Null, H), \disjointModuloNull(G, H), )
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1780] |
0.001s |
passed |
[1781] sortsDisjointModuloNull, sortsDisjointModuloNull {
\find(equals(x,y))
\varcond(\strict\sub(Null, G), \strict\sub(Null, H), \disjointModuloNull(G, H), )
\replacewith(and(equals(x,null),equals(y,null)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1781] |
0.012s |
passed |
[1782] special_constructor_call, special_constructor_call {
\find(#allmodal ( (modal operator))\[{ ..
#scr
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
special-constructor-call(#scr)
... }\] (post))
\heuristics(method_expand)
Choices: programRules:Java}
|
testEquality(String, String)[1782] |
0.001s |
passed |
[1783] splitEquation, splitEquation {
\find(equals(splitEqLeft,splitEqRight))
\replacewith(and(geq(splitEqLeft,splitEqRight),leq(splitEqLeft,splitEqRight)))
Choices: true}
|
testEquality(String, String)[1783] |
0.001s |
passed |
[1784] splitEquationSucc, splitEquationSucc {
\find(==>equals(splitEqLeft,splitEqRight))
\replacewith([]==>[leq(splitEqLeft,splitEqRight)]) ;
\replacewith([]==>[geq(splitEqLeft,splitEqRight)])
\heuristics(notHumanReadable, inEqSimp_split_eq, inEqSimp_nonLin)
Choices: true}
|
testEquality(String, String)[1784] |
0s |
passed |
[1785] split_or_strong, split_or_strong {
\find(or(b,c)==>)
\replacewith([c]==>[b]) ;
\replacewith([b]==>[])
Choices: true}
|
testEquality(String, String)[1785] |
0.001s |
passed |
[1786] sqrtIsInfinite, sqrtIsInfinite {
\find(sqrtDouble(arg))
\add [imp(and(doubleIsInfinite(arg),gtDouble(arg,DFP(0(#)))),and(doubleIsInfinite(sqrtDouble(arg)),gtDouble(sqrtDouble(arg),DFP(0(#)))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1786] |
0.001s |
passed |
[1787] sqrtIsNaN, sqrtIsNaN {
\find(sqrtDouble(arg))
\add [imp(or(doubleIsNaN(arg),ltDouble(arg,DFP(0(#)))),doubleIsNaN(sqrtDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1787] |
0.001s |
passed |
[1788] sqrtIsNotNaN, sqrtIsNotNaN {
\find(sqrtDouble(arg))
\add [imp(and(not(doubleIsNaN(arg)),geqDouble(arg,DFP(0(#)))),not(doubleIsNaN(sqrtDouble(arg))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1788] |
0s |
passed |
[1789] sqrtIsSmaller, sqrtIsSmaller {
\find(sqrtDouble(arg))
\add [imp(and(not(doubleIsInfinite(arg)),gtDouble(arg,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),ltDouble(sqrtDouble(arg),arg))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1789] |
0.001s |
passed |
[178] assignmentMultiplicationBigint2, assignmentMultiplicationBigint2 {
\find(#allmodal ( (modal operator))\[{ ..
#loc = #seAny * #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(mul(#seAny,#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[178] |
0.001s |
passed |
[1790] sqrtIsZero, sqrtIsZero {
\find(sqrtDouble(arg))
\add [imp(equals(arg,DFP(0(#))),equals(sqrtDouble(arg),DFP(0(#))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1790] |
0s |
passed |
[1791] square_nonneg, square_nonneg {
\find(leq(Z(0(#)),mul(i0,i0)))
\replacewith(true)
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1791] |
0.001s |
passed |
[1792] startsWith, startsWith {
\find(clStartsWith(sourceStr,searchStr))
\replacewith(if-then-else(gt(seqLen(searchStr),seqLen(sourceStr)),false,equals(seqSub(sourceStr,Z(0(#)),seqLen(searchStr)),searchStr)))
\heuristics(defOpsStartsEndsWith)
Choices: Strings:on}
|
testEquality(String, String)[1792] |
0s |
passed |
[1793] staticMethodCall, staticMethodCall {
\find(#allmodal ( (modal operator))\[{ ..
#se.#mn(#elist);
... }\] (post))
\varcond(\staticMethodReference(#se (program SimpleExpression), #mn (program MethodName), #elist (program Expression)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
method-call(#se.#mn(#elist))
... }\] (post))
\heuristics(method_expand)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[1793] |
0s |
passed |
[1794] staticMethodCallStaticViaTypereference, staticMethodCallStaticViaTypereference {
\find(#allmodal ( (modal operator))\[{ ..
#t.#mn(#elist);
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
method-call(#t.#mn(#elist))
... }\] (post))
\heuristics(method_expand)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[1794] |
0.001s |
passed |
[1795] staticMethodCallStaticWithAssignmentViaTypereference, staticMethodCallStaticWithAssignmentViaTypereference {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #t.#mn(#elist);
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#lhs (program LeftHandSide))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#lhs) #v0;
method-call(#t.#mn(#elist))
#lhs = #v0;
... }\] (post))
\heuristics(method_expand)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[1795] |
0s |
passed |
[1796] staticMethodCallWithAssignment, staticMethodCallWithAssignment {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #se.#mn(#elist);
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#lhs (program LeftHandSide))), \staticMethodReference(#se (program SimpleExpression), #mn (program MethodName), #elist (program Expression)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#lhs) #v0;
method-call(#se.#mn(#elist))
#lhs = #v0;
... }\] (post))
\heuristics(method_expand)
Choices: (programRules:Java & initialisation:… |
testEquality(String, String)[1796] |
0s |
passed |
[1797] stringAssignment, stringAssignment {
\find(#normalassign ( (modal operator))\[{ ..
#v = #slit;
... }\] (post))
\sameUpdateLevel\add [not(equals(strPool(#slit),null)),equals(boolean::select(heap,strPool(#slit),java.lang.Object::<created>),TRUE)]==>[] \replacewith(update-application(elem-update(#v (program Variable))(strPool(#slit)),#normalassign(post)))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: true}
|
testEquality(String, String)[1797] |
0s |
passed |
[1798] stringConcat, stringConcat {
\find(#normalassign ( (modal operator))\[{ ..
#v = #sstr1 + #sstr2;
... }\] (post))
\sameUpdateLevel\add [equals(strContent(sk),seqConcat(strContent(#sstr1),strContent(#sstr2)))]==>[equals(sk,null)] \replacewith(update-application(elem-update(#v (program Variable))(sk),update-application(elem-update(heap)(create(heap,sk)),#normalassign(post))))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: true}
|
testEquality(String, String)[1798] |
0s |
passed |
[1799] stringConcatBooleanLeft, stringConcatBooleanLeft {
\find(#normalassign ( (modal operator))\[{ ..
#v = #seLeft + #sstrRight;
... }\] (post))
\sameUpdateLevel\add [equals(strContent(sk),seqConcat(if-then-else(equals(#seLeft,TRUE),seqConcat(seqSingleton(C(6(1(1(#))))),seqConcat(seqSingleton(C(4(1(1(#))))),seqConcat(seqSingleton(C(7(1(1(#))))),seqSingleton(C(1(0(1(#)))))))),seqConcat(seqSingleton(C(2(0(1(#))))),seqConcat(seqSingleton(C(7(9(#)))),seqConcat(seqSingleton(C(8(0(1(#))))),seqConcat(seqSingleton(C(5(1(1(#))))),seqSingleton… |
testEquality(String, String)[1799] |
0.001s |
passed |
[179] assignmentMultiplicationDouble, assignmentMultiplicationDouble {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 * #seDouble1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaMulDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[179] |
0.001s |
passed |
[17] activeUseMultiplication, activeUseMultiplication {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left * #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left * #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[17] |
0.001s |
passed |
[1800] stringConcatBooleanRight, stringConcatBooleanRight {
\find(#normalassign ( (modal operator))\[{ ..
#v = #sstrLeft + #seRight;
... }\] (post))
\sameUpdateLevel\add [equals(strContent(sk),seqConcat(strContent(#sstrLeft),if-then-else(equals(#seRight,TRUE),seqConcat(seqSingleton(C(6(1(1(#))))),seqConcat(seqSingleton(C(4(1(1(#))))),seqConcat(seqSingleton(C(7(1(1(#))))),seqSingleton(C(1(0(1(#)))))))),seqConcat(seqSingleton(C(2(0(1(#))))),seqConcat(seqSingleton(C(7(9(#)))),seqConcat(seqSingleton(C(8(0(1(#))))),seqConcat(seqSingleton(C(5… |
testEquality(String, String)[1800] |
0s |
passed |
[1801] stringConcatCharExpLeft, stringConcatCharExpLeft {
\find(#normalassign ( (modal operator))\[{ ..
#v = #seLeft + #sstrRight;
... }\] (post))
\sameUpdateLevel\add [equals(strContent(sk),seqConcat(seqSingleton(#seLeft),strContent(#sstrRight)))]==>[equals(sk,null)] \replacewith(update-application(elem-update(#v (program Variable))(sk),update-application(elem-update(heap)(create(heap,sk)),#normalassign(post))))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: true}
|
testEquality(String, String)[1801] |
0.001s |
passed |
[1802] stringConcatCharExpRight, stringConcatCharExpRight {
\find(#normalassign ( (modal operator))\[{ ..
#v = #sstrLeft + #seRight;
... }\] (post))
\sameUpdateLevel\add [equals(strContent(sk),seqConcat(strContent(#sstrLeft),seqSingleton(#seRight)))]==>[equals(sk,null)] \replacewith(update-application(elem-update(#v (program Variable))(sk),update-application(elem-update(heap)(create(heap,sk)),#normalassign(post))))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: true}
|
testEquality(String, String)[1802] |
0s |
passed |
[1803] stringConcatIntExpLeft, stringConcatIntExpLeft {
\find(#normalassign ( (modal operator))\[{ ..
#v = #seLeft + #sstrRight;
... }\] (post))
\sameUpdateLevel\add [equals(strContent(sk),seqConcat(clTranslateInt(#seLeft),strContent(#sstrRight)))]==>[equals(sk,null)] \replacewith(update-application(elem-update(#v (program Variable))(sk),update-application(elem-update(heap)(create(heap,sk)),#normalassign(post))))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: true}
|
testEquality(String, String)[1803] |
0s |
passed |
[1804] stringConcatIntExpRight, stringConcatIntExpRight {
\find(#normalassign ( (modal operator))\[{ ..
#v = #sstrLeft + #seRight;
... }\] (post))
\sameUpdateLevel\add [equals(strContent(sk),seqConcat(strContent(#sstrLeft),clTranslateInt(#seRight)))]==>[equals(sk,null)] \replacewith(update-application(elem-update(#v (program Variable))(sk),update-application(elem-update(heap)(create(heap,sk)),#normalassign(post))))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: true}
|
testEquality(String, String)[1804] |
0.003s |
passed |
[1805] stringConcatObjectLeft, stringConcatObjectLeft {
\find(#normalassign ( (modal operator))\[{ ..
#v = #seLeft + #sstrRight;
... }\] (post))
\sameUpdateLevel\add [equals(#seLeft,null),equals(strContent(sk),seqConcat(strContent(null),strContent(#sstrRight)))]==>[equals(sk,null)] \replacewith(update-application(elem-update(#v (program Variable))(sk),update-application(elem-update(heap)(create(heap,sk)),#normalassign(post)))) ;
\add []==>[equals(#seLeft,null)] \replacewith(#normalassign ( (modal operator))\[{ ..
#v = #seLeft.toStri… |
testEquality(String, String)[1805] |
0s |
passed |
[1806] stringConcatObjectRight, stringConcatObjectRight {
\find(#normalassign ( (modal operator))\[{ ..
#v = #sstrLeft + #seRight;
... }\] (post))
\sameUpdateLevel\add [equals(#seRight,null),equals(strContent(sk),seqConcat(strContent(#sstrLeft),strContent(null)))]==>[equals(sk,null)] \replacewith(update-application(elem-update(#v (program Variable))(sk),update-application(elem-update(heap)(create(heap,sk)),#normalassign(post)))) ;
\add []==>[equals(#seRight,null)] \replacewith(#normalassign ( (modal operator))\[{ ..
#v = #sstrLeft + … |
testEquality(String, String)[1806] |
0s |
passed |
[1807] sub, sub {
\find(sub(i,i0))
\replacewith(add(i,neg(i0)))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1807] |
0.001s |
passed |
[1808] subSeqComplete, subSeqComplete {
\find(seqSub(seq,Z(0(#)),seqLen(seq)))
\replacewith(seq)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1808] |
0s |
passed |
[1809] subSeqCompleteSeqDef, subSeqCompleteSeqDef {
\find(seqSub(seqDef{i (variable)}(Z(0(#)),u,a),Z(0(#)),u))
\replacewith(seqDef{i (variable)}(Z(0(#)),u,a))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1809] |
0s |
passed |
[180] assignmentMultiplicationDoubleStrictFP, assignmentMultiplicationDoubleStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 * #seDouble1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(mulDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeDoubleAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[180] |
0.001s |
passed |
[1810] subSeqCompleteSeqDefEQ, subSeqCompleteSeqDefEQ {
\assumes ([equals(seqDef{i (variable)}(Z(0(#)),u,a),EQ)]==>[])
\find(seqSub(EQ,Z(0(#)),u))
\replacewith(seqDef{i (variable)}(Z(0(#)),u,a))
\heuristics(concrete, no_self_application)
Choices: sequences:on}
|
testEquality(String, String)[1810] |
0s |
passed |
[1811] subSeqConcat, subSeqConcat {
\find(seqSub(seqConcat(s1,s2),l,u))
\replacewith(seqConcat(seqSub(s1,l,if-then-else(lt(seqLen(s1),u),seqLen(s1),u)),seqSub(s2,if-then-else(lt(l,seqLen(s1)),Z(0(#)),sub(l,seqLen(s1))),sub(u,seqLen(s1)))))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[1811] |
0s |
passed |
[1812] subSeqConcatEQ, subSeqConcatEQ {
\assumes ([equals(seqConcat(s1,s2),EQ)]==>[])
\find(seqSub(EQ,l,u))
\replacewith(seqConcat(seqSub(s1,l,if-then-else(lt(seqLen(s1),u),seqLen(s1),u)),seqSub(s2,if-then-else(lt(l,seqLen(s1)),Z(0(#)),sub(l,seqLen(s1))),sub(u,seqLen(s1)))))
\heuristics(simplify_enlarging, no_self_application)
Choices: sequences:on}
|
testEquality(String, String)[1812] |
0s |
passed |
[1813] subSeqEmpty, subSeqEmpty {
\find(seqSub(seq,i,i))
\replacewith(seqEmpty)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1813] |
0s |
passed |
[1814] subSeqHeadSeqDef, subSeqHeadSeqDef {
\find(seqSub(seqConcat(seqDef{i (variable)}(Z(0(#)),u,a),seq),Z(0(#)),u))
\replacewith(seqDef{i (variable)}(Z(0(#)),u,a))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1814] |
0.001s |
passed |
[1815] subSeqHeadSeqDefEQ, subSeqHeadSeqDefEQ {
\assumes ([equals(seqDef{i (variable)}(Z(0(#)),u,a),EQ)]==>[])
\find(seqSub(seqConcat(EQ,seq),Z(0(#)),u))
\replacewith(seqDef{i (variable)}(Z(0(#)),u,a))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1815] |
0s |
passed |
[1816] subSeqSingleton, subSeqSingleton {
\find(seqSub(seqSingleton(x),Z(0(#)),Z(1(#))))
\replacewith(seqSingleton(x))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1816] |
0.001s |
passed |
[1817] subSeqSingleton2, subSeqSingleton2 {
\find(seqSub(seqSingleton(x),l,u))
\replacewith(seqConcat(seqSub(seqEmpty,if-then-else(lt(l,Z(0(#))),l,Z(0(#))),if-then-else(lt(u,Z(0(#))),u,Z(0(#)))),seqConcat(if-then-else(and(leq(l,Z(0(#))),geq(u,Z(1(#)))),seqSingleton(x),seqEmpty),seqSub(seqEmpty,if-then-else(gt(l,Z(0(#))),l,Z(1(#))),if-then-else(gt(u,Z(0(#))),u,Z(1(#)))))))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[1817] |
0.001s |
passed |
[1818] subSeqSingleton2EQ, subSeqSingleton2EQ {
\assumes ([equals(seqSingleton(x),EQ)]==>[])
\find(seqSub(EQ,l,u))
\replacewith(seqConcat(seqSub(seqEmpty,if-then-else(lt(l,Z(0(#))),l,Z(0(#))),if-then-else(lt(u,Z(0(#))),u,Z(0(#)))),seqConcat(if-then-else(and(leq(l,Z(0(#))),geq(u,Z(1(#)))),seqSingleton(x),seqEmpty),seqSub(seqEmpty,if-then-else(gt(l,Z(0(#))),l,Z(1(#))),if-then-else(gt(u,Z(0(#))),u,Z(1(#)))))))
\heuristics(simplify_enlarging, no_self_application)
Choices: sequences:on}
|
testEquality(String, String)[1818] |
0s |
passed |
[1819] subSeqSingletonEQ, subSeqSingletonEQ {
\assumes ([equals(seqSingleton(x),EQ)]==>[])
\find(seqSub(EQ,Z(0(#)),Z(1(#))))
\replacewith(seqSingleton(x))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1819] |
0.001s |
passed |
[181] assignmentMultiplicationFloat, assignmentMultiplicationFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 * #seFloat1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaMulFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[181] |
0.001s |
passed |
[1820] subSeqTailEQL, subSeqTailEQL {
\assumes ([equals(seqLen(seq),EQ)]==>[])
\find(seqSub(seqConcat(seqSingleton(x),seq),Z(1(#)),add(Z(1(#)),EQ)))
\sameUpdateLevel\replacewith(seq)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1820] |
0s |
passed |
[1821] subSeqTailEQR, subSeqTailEQR {
\assumes ([equals(seqLen(seq),EQ)]==>[])
\find(seqSub(seqConcat(seqSingleton(x),seq),Z(1(#)),add(EQ,Z(1(#)))))
\sameUpdateLevel\replacewith(seq)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1821] |
0.001s |
passed |
[1822] subSeqTailL, subSeqTailL {
\find(seqSub(seqConcat(seqSingleton(x),seq),Z(1(#)),add(Z(1(#)),seqLen(seq))))
\replacewith(seq)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1822] |
0s |
passed |
[1823] subSeqTailR, subSeqTailR {
\find(seqSub(seqConcat(seqSingleton(x),seq),Z(1(#)),add(seqLen(seq),Z(1(#)))))
\replacewith(seq)
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[1823] |
0.001s |
passed |
[1824] sub_equations_left, sub_equations_left {
\assumes ([equals(i,i0)]==>[])
\find(equals(j,j0)==>)
\add [equals(sub(j,i),sub(j0,i0))]==>[]
Choices: true}
|
testEquality(String, String)[1824] |
0s |
passed |
[1825] sub_equations_right, sub_equations_right {
\assumes ([equals(i,i0)]==>[])
\find(==>equals(j,j0))
\add []==>[equals(sub(j,i),sub(j0,i0))]
Choices: true}
|
testEquality(String, String)[1825] |
0.001s |
passed |
[1826] sub_literals, sub_literals {
\find(sub(Z(iz),Z(jz)))
\replacewith(#sub(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1826] |
0s |
passed |
[1827] sub_sub_elim, sub_sub_elim {
\find(neg(neg(i)))
\replacewith(i)
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1827] |
0.001s |
passed |
[1828] sub_zero_1, sub_zero_1 {
\find(Z(neglit(0(#))))
\replacewith(Z(0(#)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1828] |
0s |
passed |
[1829] sub_zero_2, sub_zero_2 {
\find(sub(i,Z(0(#))))
\replacewith(i)
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1829] |
0.001s |
passed |
[182] assignmentMultiplicationFloatStrictFP, assignmentMultiplicationFloatStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 * #seFloat1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(mulFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[182] |
0.001s |
passed |
[1830] subsetOfEmpty, subsetOfEmpty {
\find(subset(s,empty))
\replacewith(equals(s,empty))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1830] |
0s |
passed |
[1831] subsetOfIntersectWithItSelf1, subsetOfIntersectWithItSelf1 {
\find(subset(s,intersect(s,s2)))
\replacewith(subset(s,s2))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1831] |
0.001s |
passed |
[1832] subsetOfIntersectWithItSelf2, subsetOfIntersectWithItSelf2 {
\find(subset(s,intersect(s2,s)))
\replacewith(subset(s,s2))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1832] |
0s |
passed |
[1833] subsetOfIntersectWithItSelfEQ1, subsetOfIntersectWithItSelfEQ1 {
\assumes ([equals(intersect(s,s2),EQ)]==>[])
\find(subset(s,EQ))
\sameUpdateLevel\replacewith(subset(s,s2))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1833] |
0s |
passed |
[1834] subsetOfIntersectWithItSelfEQ2, subsetOfIntersectWithItSelfEQ2 {
\assumes ([equals(intersect(s2,s),EQ)]==>[])
\find(subset(s,EQ))
\sameUpdateLevel\replacewith(subset(s,s2))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1834] |
0s |
passed |
[1835] subsetOfItself, subsetOfItself {
\find(subset(s,s))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1835] |
0.007s |
passed |
[1836] subsetOfUnionWithItSelf1, subsetOfUnionWithItSelf1 {
\find(subset(s,union(s,s2)))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1836] |
0s |
passed |
[1837] subsetOfUnionWithItSelf2, subsetOfUnionWithItSelf2 {
\find(subset(s,union(s2,s)))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1837] |
0s |
passed |
[1838] subsetOfUnionWithItSelfEQ1, subsetOfUnionWithItSelfEQ1 {
\assumes ([equals(union(s,s2),EQ)]==>[])
\find(subset(s,EQ))
\sameUpdateLevel\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1838] |
0.001s |
passed |
[1839] subsetOfUnionWithItSelfEQ2, subsetOfUnionWithItSelfEQ2 {
\assumes ([equals(union(s2,s),EQ)]==>[])
\find(subset(s,EQ))
\sameUpdateLevel\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1839] |
0s |
passed |
[183] assignmentMultiplicationInt, assignmentMultiplicationInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 * #seCharByteShortInt1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaMulInt(#seCharByteShortInt0,#seCharByteShortInt1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[183] |
0.001s |
passed |
[1840] subsetSingletonLeft, subsetSingletonLeft {
\find(subset(singleton(o,f),s))
\replacewith(elementOf(o,f,s))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1840] |
0.001s |
passed |
[1841] subsetSingletonLeftEQ, subsetSingletonLeftEQ {
\assumes ([equals(singleton(o,f),EQ)]==>[])
\find(subset(EQ,s))
\sameUpdateLevel\replacewith(elementOf(o,f,s))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1841] |
0s |
passed |
[1842] subsetSingletonRight, subsetSingletonRight {
\find(subset(s,singleton(o,f)))
\replacewith(or(equals(s,empty),equals(s,singleton(o,f))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1842] |
0s |
passed |
[1843] subsetSingletonRightEQ, subsetSingletonRightEQ {
\assumes ([equals(singleton(o,f),EQ)]==>[])
\find(subset(s,EQ))
\sameUpdateLevel\replacewith(or(equals(s,empty),equals(s,singleton(o,f))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1843] |
0.001s |
passed |
[1844] subsetToElementOf, subsetToElementOf {
\find(subset(s,s2))
\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term)))
\replacewith(all{ov (variable)}(all{fv (variable)}(imp(elementOf(ov,fv,s),elementOf(ov,fv,s2)))))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[1844] |
0s |
passed |
[1845] subsetToElementOfRight, subsetToElementOfRight {
\find(==>subset(s,s2))
\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term)))
\replacewith([]==>[all{ov (variable)}(all{fv (variable)}(imp(elementOf(ov,fv,s),elementOf(ov,fv,s2))))])
\heuristics(setEqualityBlastingRight)
Choices: programRules:Java}
|
testEquality(String, String)[1845] |
0.001s |
passed |
[1846] subsetUnionLeft, subsetUnionLeft {
\find(subset(union(s,s2),s3))
\replacewith(and(subset(s,s3),subset(s2,s3)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1846] |
0s |
passed |
[1847] subsetUnionLeftEQ, subsetUnionLeftEQ {
\assumes ([equals(union(s,s2),EQ)]==>[])
\find(subset(EQ,s3))
\sameUpdateLevel\replacewith(and(subset(s,s3),subset(s2,s3)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1847] |
0.001s |
passed |
[1848] subsetWithAllLocs, subsetWithAllLocs {
\find(subset(s,allLocs))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1848] |
0s |
passed |
[1849] subsetWithAllLocs2, subsetWithAllLocs2 {
\find(subset(allLocs,s))
\replacewith(equals(s,allLocs))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1849] |
0.001s |
passed |
[184] assignmentMultiplicationLong, assignmentMultiplicationLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt * #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaMulLong(#seCharByteShortInt,#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[184] |
0.001s |
passed |
[1850] subsetWithEmpty, subsetWithEmpty {
\find(subset(empty,s))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1850] |
0s |
passed |
[1851] subsetWithSetMinusLeft, subsetWithSetMinusLeft {
\find(subset(setMinus(s,s2),s3))
\replacewith(subset(s,union(s2,s3)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1851] |
0.001s |
passed |
[1852] subsetWithSetMinusLeftEQ, subsetWithSetMinusLeftEQ {
\assumes ([equals(setMinus(s,s2),EQ)]==>[])
\find(subset(EQ,s3))
\sameUpdateLevel\replacewith(subset(s,union(s2,s3)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1852] |
0s |
passed |
[1853] subst_to_eq, subst_to_eq {
\find(subst{u (variable)}(t,target))
\sameUpdateLevel\add [equals(sk,t)]==>[] \replacewith(subst{u (variable)}(sk,target))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1853] |
0.001s |
passed |
[1854] subst_to_eq_for, subst_to_eq_for {
\find(subst{u (variable)}(t,phi))
\sameUpdateLevel\add [equals(sk,t)]==>[] \replacewith(subst{u (variable)}(sk,phi))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[1854] |
0s |
passed |
[1855] substringSubstring, substringSubstring {
\find(seqSub(seqSub(str,innerStartIdx,innerEndIdx),outerStartIdx,outerEndIdx))
\sameUpdateLevel\add [imp(and(and(and(and(and(geq(innerStartIdx,Z(0(#))),geq(innerEndIdx,innerStartIdx)),leq(innerEndIdx,seqLen(str))),geq(outerStartIdx,Z(0(#)))),geq(outerEndIdx,outerStartIdx)),leq(outerEndIdx,sub(innerEndIdx,innerStartIdx))),and(equals(seqSub(seqSub(str,innerStartIdx,innerEndIdx),outerStartIdx,outerEndIdx),newSym),equals(seqSub(str,add(outerStartIdx,innerStartIdx),add(innerStartIdx,outerEn… |
testEquality(String, String)[1855] |
0.001s |
passed |
[1856] substringSubstring2, substringSubstring2 {
\assumes ([equals(seqSub(str,innerStartIdx,innerEndIdx),innerSub)]==>[])
\find(seqSub(innerSub,outerStartIdx,outerEndIdx))
\sameUpdateLevel\add [imp(and(and(and(and(and(geq(innerStartIdx,Z(0(#))),geq(innerEndIdx,innerStartIdx)),leq(innerEndIdx,seqLen(str))),geq(outerStartIdx,Z(0(#)))),geq(outerEndIdx,outerStartIdx)),leq(outerEndIdx,sub(innerEndIdx,innerStartIdx))),and(equals(seqSub(innerSub,outerStartIdx,outerEndIdx),newSym),equals(seqSub(str,add(outerStartIdx,innerStartIdx),add(inne… |
testEquality(String, String)[1856] |
0s |
passed |
[1857] sum_empty, sum_empty {
\find(sum{x (variable)}(FALSE,t))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1857] |
0.003s |
passed |
[1858] sum_zero, sum_zero {
\find(sum{x (variable)}(range,Z(0(#))))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[1858] |
0s |
passed |
[1859] swapQuantifiersAll, swapQuantifiersAll {
\find(all{u (variable)}(all{v (variable)}(phi)))
\replacewith(all{v (variable)}(all{u (variable)}(phi)))
\heuristics(swapQuantifiers)
Choices: true}
|
testEquality(String, String)[1859] |
0.001s |
passed |
[185] assignmentMultiplicationLong2, assignmentMultiplicationLong2 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong * #seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaMulLong(#seLong,#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[185] |
0.001s |
passed |
[1860] swapQuantifiersEx, swapQuantifiersEx {
\find(exists{u (variable)}(exists{v (variable)}(phi)))
\replacewith(exists{v (variable)}(exists{u (variable)}(phi)))
\heuristics(swapQuantifiers)
Choices: true}
|
testEquality(String, String)[1860] |
0s |
passed |
[1861] switch, switch {
\find(#allmodal ( (modal operator))\[{ ..
#sw
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
switch-to-if(#sw)
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1861] |
0.001s |
passed |
[1862] switch_brackets, switch_brackets {
\find(add(add(i,i0),i1))
\replacewith(add(i,add(i0,i1)))
Choices: true}
|
testEquality(String, String)[1862] |
0s |
passed |
[1863] switch_params, switch_params {
\find(add(i0,i1))
\replacewith(add(i1,i0))
Choices: true}
|
testEquality(String, String)[1863] |
0.001s |
passed |
[1864] synchronizedBlockEmpty, synchronizedBlockEmpty {
\find(==>#allmodal ( (modal operator))\[{ ..
synchronized(#se) {}
... }\] (post))
\varcond(\isLocalVariable (#se (program SimpleExpression)), )
\replacewith([]==>[not(equals(#se,null))]) ;
\replacewith([]==>[#allmodal(post)])
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[1864] |
0s |
passed |
[1865] synchronizedBlockEmpty2, synchronizedBlockEmpty2 {
\find(#allmodal ( (modal operator))\[{ ..
synchronized(#cr) {}
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1865] |
0.001s |
passed |
[1866] synchronizedBlockEvalSync, synchronizedBlockEvalSync {
\find(#allmodal ( (modal operator))\[{ ..
synchronized(#nsencr) {
#slist
}
... }\] (post))
\varcond(\new(#loc (program Variable), \typeof(#nsencr (program NonSimpleExpressionNoClassReference))), \isLocalVariable (#nsencr (program NonSimpleExpressionNoClassReference)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nsencr) #loc = #nsencr;
synchronized(#loc) {
#slist
}
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: program… |
testEquality(String, String)[1866] |
0s |
passed |
[1867] tanIsNaN, tanIsNaN {
\find(tanDouble(arg))
\add [imp(or(doubleIsNaN(arg),doubleIsInfinite(arg)),doubleIsNaN(tanDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1867] |
0.003s |
passed |
[1868] tanIsZero, tanIsZero {
\find(tanDouble(arg))
\add [imp(equals(arg,DFP(0(#))),equals(tanDouble(arg),DFP(0(#))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[1868] |
0.001s |
passed |
[1869] theorem_of_archimedes, theorem_of_archimedes {
\assumes ([gt(i0,sub(i1,Z(1(#))))]==>[])
\find(lt(i0,i1)==>)
\replacewith([false]==>[])
Choices: true}
|
testEquality(String, String)[1869] |
0.001s |
passed |
[186] assignmentMultiplicationLong3, assignmentMultiplicationLong3 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 * #seLong1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaMulLong(#seLong0,#seLong1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[186] |
0.001s |
passed |
[1870] throwBox, throwBox {
\find(#box ( (modal operator))\[{
throw #se;
#slist
}\] (post))
\replacewith(true)
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1870] |
0.001s |
passed |
[1871] throwDiamond, throwDiamond {
\find(#diamond ( (modal operator))\[{
throw #se;
#slist
}\] (post))
\replacewith(false)
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1871] |
0.001s |
passed |
[1872] throwLabel, throwLabel {
\find(#allmodal ( (modal operator))\[{ ..
#lb:
throw #se;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
throw #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1872] |
0.001s |
passed |
[1873] throwLabelBlock, throwLabelBlock {
\find(#allmodal ( (modal operator))\[{ ..
#lb:
{
throw #se;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
throw #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1873] |
0.001s |
passed |
[1874] throwNull, throwNull {
\find(#allmodal ( (modal operator))\[{ ..
throw null;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
throw new java.lang.NullPointerException();
... }\] (post))
Choices: programRules:Java}
|
testEquality(String, String)[1874] |
0.001s |
passed |
[1875] throwUnfold, throwUnfold {
\find(#allmodal ( (modal operator))\[{ ..
throw #nse;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0 = #nse;
throw #v0;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1875] |
0.001s |
passed |
[1876] throwUnfoldMore, throwUnfoldMore {
\find(#allmodal ( (modal operator))\[{ ..
throw #se;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#se (program SimpleExpression))), \isLocalVariable (#se (program SimpleExpression)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#se) #v0 = #se;
throw #v0;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1876] |
0.001s |
passed |
[1877] times_minus_one_1, times_minus_one_1 {
\find(mul(i,Z(neglit(1(#)))))
\replacewith(neg(i))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1877] |
0.005s |
passed |
[1878] times_minus_one_2, times_minus_one_2 {
\find(mul(Z(neglit(1(#))),i))
\replacewith(neg(i))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1878] |
0s |
passed |
[1879] times_one_1, times_one_1 {
\find(mul(i,Z(1(#))))
\replacewith(i)
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1879] |
0s |
passed |
[187] assignmentShiftLeftInt, assignmentShiftLeftInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 << #se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaShiftLeftInt(#seCharByteShortInt0,#se)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[187] |
0.001s |
passed |
[1880] times_one_2, times_one_2 {
\find(mul(Z(1(#)),i))
\replacewith(i)
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[1880] |
0s |
passed |
[1881] times_zero_1, times_zero_1 {
\find(mul(i,Z(0(#))))
\replacewith(Z(0(#)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1881] |
0s |
passed |
[1882] times_zero_2, times_zero_2 {
\find(mul(Z(0(#)),i))
\replacewith(Z(0(#)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[1882] |
0s |
passed |
[1883] translate#, translate# {
\find(clTranslateInt(Z(#)))
\replacewith(seqEmpty)
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1883] |
0s |
passed |
[1884] translate0, translate0 {
\find(clTranslateInt(Z(0(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(8(4(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1884] |
0.002s |
passed |
[1885] translate1, translate1 {
\find(clTranslateInt(Z(1(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(9(4(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1885] |
0.001s |
passed |
[1886] translate2, translate2 {
\find(clTranslateInt(Z(2(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(0(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1886] |
0.001s |
passed |
[1887] translate3, translate3 {
\find(clTranslateInt(Z(3(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(1(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1887] |
0.001s |
passed |
[1888] translate4, translate4 {
\find(clTranslateInt(Z(4(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(2(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1888] |
0s |
passed |
[1889] translate5, translate5 {
\find(clTranslateInt(Z(5(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(3(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1889] |
0s |
passed |
[188] assignmentShiftLeftLong, assignmentShiftLeftLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 << #se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaShiftLeftLong(#seLong0,#se)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[188] |
0s |
passed |
[1890] translate6, translate6 {
\find(clTranslateInt(Z(6(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(4(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1890] |
0s |
passed |
[1891] translate7, translate7 {
\find(clTranslateInt(Z(7(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(5(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1891] |
0s |
passed |
[1892] translate8, translate8 {
\find(clTranslateInt(Z(8(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(6(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1892] |
0s |
passed |
[1893] translate9, translate9 {
\find(clTranslateInt(Z(9(iz))))
\replacewith(seqConcat(clTranslateInt(Z(iz)),seqSingleton(C(7(5(#))))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1893] |
0s |
passed |
[1894] translateCheckedAddInt, translateCheckedAddInt {
\find(checkedAddInt(left,right))
\replacewith(add(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1894] |
0s |
passed |
[1895] translateCheckedAddLong, translateCheckedAddLong {
\find(checkedAddLong(left,right))
\replacewith(add(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1895] |
0.008s |
passed |
[1896] translateCheckedBitwiseAndInt, translateCheckedBitwiseAndInt {
\find(checkedBitwiseAndInt(left,right))
\replacewith(binaryAnd(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1896] |
0.001s |
passed |
[1897] translateCheckedBitwiseAndLong, translateCheckedBitwiseAndLong {
\find(checkedBitwiseAndLong(left,right))
\replacewith(binaryAnd(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1897] |
0.001s |
passed |
[1898] translateCheckedBitwiseNegation, translateCheckedBitwiseNegation {
\find(checkedBitwiseNegation(left))
\replacewith(sub(neg(left),Z(1(#))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1898] |
0.001s |
passed |
[1899] translateCheckedBitwiseOrInt, translateCheckedBitwiseOrInt {
\find(checkedBitwiseOrInt(left,right))
\replacewith(binaryOr(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1899] |
0.001s |
passed |
[189] assignmentShiftRightInt, assignmentShiftRightInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 >> #se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaShiftRightInt(#seCharByteShortInt0,#se)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[189] |
0.001s |
passed |
[18] activeUseShiftLeft, activeUseShiftLeft {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left << #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left << #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[18] |
0.001s |
passed |
[1900] translateCheckedBitwiseOrLong, translateCheckedBitwiseOrLong {
\find(checkedBitwiseOrLong(left,right))
\replacewith(binaryOr(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1900] |
0.001s |
passed |
[1901] translateCheckedBitwiseXOrInt, translateCheckedBitwiseXOrInt {
\find(checkedBitwiseXOrInt(left,right))
\replacewith(binaryXOr(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1901] |
0.001s |
passed |
[1902] translateCheckedBitwiseXOrLong, translateCheckedBitwiseXOrLong {
\find(checkedBitwiseXOrLong(left,right))
\replacewith(binaryXOr(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1902] |
0.001s |
passed |
[1903] translateCheckedDivInt, translateCheckedDivInt {
\find(checkedDivInt(left,right))
\replacewith(jdiv(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1903] |
0.001s |
passed |
[1904] translateCheckedDivLong, translateCheckedDivLong {
\find(checkedDivLong(left,right))
\replacewith(jdiv(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1904] |
0.001s |
passed |
[1905] translateCheckedMulInt, translateCheckedMulInt {
\find(checkedMulInt(left,right))
\replacewith(mul(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1905] |
0.001s |
passed |
[1906] translateCheckedMulLong, translateCheckedMulLong {
\find(checkedMulLong(left,right))
\replacewith(mul(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1906] |
0.001s |
passed |
[1907] translateCheckedShiftLeftInt, translateCheckedShiftLeftInt {
\find(checkedShiftLeftInt(left,right))
\replacewith(shiftleft(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1907] |
0.001s |
passed |
[1908] translateCheckedShiftLeftLong, translateCheckedShiftLeftLong {
\find(checkedShiftLeftLong(left,right))
\replacewith(shiftleft(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1908] |
0.001s |
passed |
[1909] translateCheckedShiftRightInt, translateCheckedShiftRightInt {
\find(checkedShiftRightInt(left,right))
\replacewith(shiftright(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1909] |
0.001s |
passed |
[190] assignmentShiftRightLong, assignmentShiftRightLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 >> #se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaShiftRightLong(#seLong0,#se)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[190] |
0.001s |
passed |
[1910] translateCheckedShiftRightLong, translateCheckedShiftRightLong {
\find(checkedShiftRightLong(left,right))
\replacewith(shiftright(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1910] |
0.001s |
passed |
[1911] translateCheckedSubInt, translateCheckedSubInt {
\find(checkedSubInt(left,right))
\replacewith(sub(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1911] |
0.001s |
passed |
[1912] translateCheckedSubLong, translateCheckedSubLong {
\find(checkedSubLong(left,right))
\replacewith(sub(left,right))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1912] |
0.001s |
passed |
[1913] translateCheckedUnaryMinusInt, translateCheckedUnaryMinusInt {
\find(checkedUnaryMinusInt(left))
\replacewith(neg(left))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1913] |
0s |
passed |
[1914] translateCheckedUnaryMinusLong, translateCheckedUnaryMinusLong {
\find(checkedUnaryMinusLong(left))
\replacewith(neg(left))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1914] |
0s |
passed |
[1915] translateJavaAddInt, translateJavaAddInt {
\find(javaAddInt(left,right))
\replacewith(add(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1915] |
0s |
passed |
[1916] translateJavaAddLong, translateJavaAddLong {
\find(javaAddLong(left,right))
\replacewith(add(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1916] |
0s |
passed |
[1917] translateJavaCastByte, translateJavaCastByte {
\find(javaCastByte(left))
\replacewith(left)
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1917] |
0s |
passed |
[1918] translateJavaCastChar, translateJavaCastChar {
\find(javaCastChar(left))
\replacewith(left)
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1918] |
0s |
passed |
[1919] translateJavaCastInt, translateJavaCastInt {
\find(javaCastInt(left))
\replacewith(left)
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1919] |
0s |
passed |
[191] assignmentSubtractionBigint1, assignmentSubtractionBigint1 {
\find(#allmodal ( (modal operator))\[{ ..
#loc = #seBigint - #seAny;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(sub(#seBigint,#seAny)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[191] |
0.001s |
passed |
[1920] translateJavaCastLong, translateJavaCastLong {
\find(javaCastLong(left))
\replacewith(left)
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1920] |
0.001s |
passed |
[1921] translateJavaCastShort, translateJavaCastShort {
\find(javaCastShort(left))
\replacewith(left)
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1921] |
0.002s |
passed |
[1922] translateJavaDivInt, translateJavaDivInt {
\find(javaDivInt(left,right))
\replacewith(jdiv(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1922] |
0.001s |
passed |
[1923] translateJavaDivLong, translateJavaDivLong {
\find(javaDivLong(left,right))
\replacewith(jdiv(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1923] |
0.001s |
passed |
[1924] translateJavaMod, translateJavaMod {
\find(javaMod(left,right))
\replacewith(jmod(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1924] |
0.001s |
passed |
[1925] translateJavaMulInt, translateJavaMulInt {
\find(javaMulInt(left,right))
\replacewith(mul(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1925] |
0.001s |
passed |
[1926] translateJavaMulLong, translateJavaMulLong {
\find(javaMulLong(left,right))
\replacewith(mul(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1926] |
0.001s |
passed |
[1927] translateJavaSubInt, translateJavaSubInt {
\find(javaSubInt(left,right))
\replacewith(sub(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1927] |
0.001s |
passed |
[1928] translateJavaSubLong, translateJavaSubLong {
\find(javaSubLong(left,right))
\replacewith(sub(left,right))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1928] |
0.001s |
passed |
[1929] translateJavaUnaryMinusInt, translateJavaUnaryMinusInt {
\find(javaUnaryMinusInt(left))
\replacewith(neg(left))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1929] |
0s |
passed |
[192] assignmentSubtractionBigint2, assignmentSubtractionBigint2 {
\find(#allmodal ( (modal operator))\[{ ..
#loc = #seAny - #seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(sub(#seAny,#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[192] |
0.001s |
passed |
[1930] translateJavaUnaryMinusLong, translateJavaUnaryMinusLong {
\find(javaUnaryMinusLong(left))
\replacewith(neg(left))
\heuristics(simplify, javaIntegerSemantics)
Choices: (programRules:Java & intRules:arithmeticSemanticsIgnoringOF)}
|
testEquality(String, String)[1930] |
0s |
passed |
[1931] translateNegLit, translateNegLit {
\find(clTranslateInt(Z(neglit(iz))))
\replacewith(seqConcat(seqSingleton(C(5(4(#)))),clTranslateInt(Z(iz))))
\heuristics(integerToString)
Choices: Strings:on}
|
testEquality(String, String)[1931] |
0s |
passed |
[1932] true_left, true_left {
\find(true==>)
\replacewith([]==>[])
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[1932] |
0.001s |
passed |
[1933] true_to_not_false, true_to_not_false {
\find(equals(bo,TRUE))
\replacewith(not(equals(bo,FALSE)))
Choices: true}
|
testEquality(String, String)[1933] |
0.001s |
passed |
[1934] tryBreak, tryBreak {
\find(#allmodal ( (modal operator))\[{ ..
try {
break;
#slist
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
break;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1934] |
0.001s |
passed |
[1935] tryBreakLabel, tryBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
try {
break;
#slist
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
break;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1935] |
0.001s |
passed |
[1936] tryCatchFinallyThrow, tryCatchFinallyThrow {
\find(#allmodal ( (modal operator))\[{ ..
try {
throw #se;
#slist
} catch (#t #v0) {
#slist1
}#cs finally {
#slist2
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#se == null) {
try {
throw new java.lang.NullPointerException();
} catch (#t #v0) {
#slist1
}#cs finally {
#slist2
}
} else if (#se instanceof #t) {
try {
#t #v0;
#v0 = (#t) #se;
#slist1
} finally {
#slist2
… |
testEquality(String, String)[1936] |
0.001s |
passed |
[1937] tryCatchThrow, tryCatchThrow {
\find(#allmodal ( (modal operator))\[{ ..
try {
throw #se;
#slist
} catch (#t #v0) {
#slist1
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#se == null) {
try {
throw new java.lang.NullPointerException();
} catch (#t #v0) {
#slist1
}
} else if (#se instanceof #t) {
#t #v0;
#v0 = (#t) #se;
#slist1
} else {
throw #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1937] |
0.001s |
passed |
[1938] tryEmpty, tryEmpty {
\find(#allmodal ( (modal operator))\[{ ..
try {}#cs
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1938] |
0s |
passed |
[1939] tryFinallyBreak, tryFinallyBreak {
\find(#allmodal ( (modal operator))\[{ ..
try {
break;
#slist
}#cs finally {
#slist2
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist2
}
break;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1939] |
0.001s |
passed |
[193] assignmentSubtractionDouble, assignmentSubtractionDouble {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 - #seDouble1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaSubDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[193] |
0.003s |
passed |
[1940] tryFinallyBreakLabel, tryFinallyBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
try {
break;
#slist
}#cs finally {
#slist2
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist2
}
break;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1940] |
0s |
passed |
[1941] tryFinallyEmpty, tryFinallyEmpty {
\find(#allmodal ( (modal operator))\[{ ..
try {}#cs finally {
#slist2
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist2
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1941] |
0.001s |
passed |
[1942] tryFinallyReturn, tryFinallyReturn {
\find(#allmodal ( (modal operator))\[{ ..
try {
return #se;
#slist
}#cs finally {
#slist2
}
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#se (program SimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#se) #v0 = #se;
{
#slist2
}
return #v0;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1942] |
0s |
passed |
[1943] tryFinallyReturnNoValue, tryFinallyReturnNoValue {
\find(#allmodal ( (modal operator))\[{ ..
try {
return;
#slist
}#cs finally {
#slist2
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist2
}
return;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1943] |
0.001s |
passed |
[1944] tryFinallyThrow, tryFinallyThrow {
\find(#allmodal ( (modal operator))\[{ ..
try {
throw #se;
#slist
} finally {
#slist2
}
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#se (program SimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#se == null) {
{
#slist2
}
throw new java.lang.NullPointerException();
} else {
#typeof(#se) #v0 = #se;
{
#slist2
}
throw #v0;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRul… |
testEquality(String, String)[1944] |
0.001s |
passed |
[1945] tryMultipleCatchThrow, tryMultipleCatchThrow {
\find(#allmodal ( (modal operator))\[{ ..
try {
throw #se;
#slist
} catch (#t #v0) {
#slist1
} catch (#t2 #v1) {
#slist3
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#se == null) {
try {
throw new java.lang.NullPointerException();
} catch (#t #v0) {
#slist1
} catch (#t2 #v1) {
#slist3
}#cs
} else if (#se instanceof #t) {
#t #v0;
#v0 = (#t) #se;
#slist1
} else {
try {
th… |
testEquality(String, String)[1945] |
0.001s |
passed |
[1946] tryReturn, tryReturn {
\find(#allmodal ( (modal operator))\[{ ..
try {
return #se;
#slist
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
return #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1946] |
0.008s |
passed |
[1947] tryReturnNoValue, tryReturnNoValue {
\find(#allmodal ( (modal operator))\[{ ..
try {
return;
#slist
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
return;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1947] |
0s |
passed |
[1948] try_continue_1, try_continue_1 {
\find(#allmodal ( (modal operator))\[{ ..
try {
continue;
#slist
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1948] |
0s |
passed |
[1949] try_continue_2, try_continue_2 {
\find(#allmodal ( (modal operator))\[{ ..
try {
continue;
#slist
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1949] |
0s |
passed |
[194] assignmentSubtractionDoubleStrictFP, assignmentSubtractionDoubleStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seDouble0 - #seDouble1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(subDouble(#seDouble0,#seDouble1)),#normalassign(post)))
\heuristics(executeDoubleAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[194] |
0.002s |
passed |
[1950] try_finally_continue_1, try_finally_continue_1 {
\find(#allmodal ( (modal operator))\[{ ..
try {
continue;
#slist
}#cs finally {
#slist2
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist2
}
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1950] |
0s |
passed |
[1951] try_finally_continue_2, try_finally_continue_2 {
\find(#allmodal ( (modal operator))\[{ ..
try {
continue;
#slist
}#cs finally {
#slist2
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist2
}
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1951] |
0s |
passed |
[1952] typeEq, typeEq {
\find(equals(s,t1)==>)
\add [equals(H::instance(s),TRUE),equals(G::instance(t1),TRUE)]==>[]
Choices: true}
|
testEquality(String, String)[1952] |
0s |
passed |
[1953] typeEqDerived, typeEqDerived {
\assumes ([equals(s,t1)]==>[])
\find(H::instance(s))
\sameUpdateLevel\replacewith(TRUE)
\heuristics(concrete, simplify)
Choices: true}
|
testEquality(String, String)[1953] |
0s |
passed |
[1954] typeEqDerived2, typeEqDerived2 {
\assumes ([equals(s,t1)]==>[])
\find(G::instance(t1))
\sameUpdateLevel\replacewith(TRUE)
\heuristics(concrete, simplify)
Choices: true}
|
testEquality(String, String)[1954] |
0s |
passed |
[1955] typeStatic, typeStatic {
\find(s)
\sameUpdateLevel\add [equals(G::instance(s),TRUE)]==>[]
Choices: true}
|
testEquality(String, String)[1955] |
0s |
passed |
[1956] unaryMinusBigint, unaryMinusBigint {
\find(#allmodal ( (modal operator))\[{ ..
#loc = -#seBigint;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(neg(#seBigint)),#allmodal(post)))
\heuristics(executeIntegerAssignment)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[1956] |
0.001s |
passed |
[1957] unaryMinusDouble, unaryMinusDouble {
\find(#normalassign ( (modal operator))\[{ ..
#loc = -#seDouble;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaUnaryMinusDouble(#seDouble)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1957] |
0.001s |
passed |
[1958] unaryMinusFloat, unaryMinusFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = -#seFloat;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaUnaryMinusFloat(#seFloat)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1958] |
0s |
passed |
[1959] unaryMinusInt, unaryMinusInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = -#seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaUnaryMinusInt(#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1959] |
0s |
passed |
[195] assignmentSubtractionFloat, assignmentSubtractionFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 - #seFloat1;
... }\] (post))
\varcond(\not\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(javaSubFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[195] |
0.001s |
passed |
[1960] unaryMinusLong, unaryMinusLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = -#seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaUnaryMinusLong(#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1960] |
0s |
passed |
[1961] unionEqualsEmpty, unionEqualsEmpty {
\find(equals(union(s,s2),empty))
\replacewith(and(equals(s,empty),equals(s2,empty)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1961] |
0.001s |
passed |
[1962] unionEqualsEmptyEQ, unionEqualsEmptyEQ {
\assumes ([equals(union(s,s2),EQ)]==>[])
\find(equals(EQ,empty))
\sameUpdateLevel\replacewith(and(equals(s,empty),equals(s2,empty)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1962] |
0s |
passed |
[1963] unionIntersectItself, unionIntersectItself {
\find(union(intersect(s1,s2),s1))
\replacewith(s1)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1963] |
0.001s |
passed |
[1964] unionIntersectItself_2, unionIntersectItself_2 {
\find(union(intersect(s2,s1),s1))
\replacewith(s1)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1964] |
0.001s |
passed |
[1965] unionIntersectItself_3, unionIntersectItself_3 {
\find(union(union(s,intersect(s1,s2)),s1))
\replacewith(union(s,s1))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1965] |
0.001s |
passed |
[1966] unionIntersectItself_4, unionIntersectItself_4 {
\find(union(union(s,intersect(s2,s1)),s1))
\replacewith(union(s,s1))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1966] |
0.001s |
passed |
[1967] unionIntersectItself_5, unionIntersectItself_5 {
\find(union(union(intersect(s1,s2),s),s1))
\replacewith(union(s,s1))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1967] |
0.001s |
passed |
[1968] unionIntersectItself_6, unionIntersectItself_6 {
\find(union(union(intersect(s2,s1),s),s1))
\replacewith(union(s,s1))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1968] |
0s |
passed |
[1969] unionWithAllLocs, unionWithAllLocs {
\find(union(allLocs,s))
\replacewith(allLocs)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1969] |
0s |
passed |
[196] assignmentSubtractionFloatStrictFP, assignmentSubtractionFloatStrictFP {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat0 - #seFloat1;
... }\] (post))
\varcond(\isStrictFp, )
\replacewith(update-application(elem-update(#loc (program Variable))(subFloat(#seFloat0,#seFloat1)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[196] |
0.001s |
passed |
[1970] unionWithAllLocsRight, unionWithAllLocsRight {
\find(union(s,allLocs))
\replacewith(allLocs)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1970] |
0s |
passed |
[1971] unionWithEmpty, unionWithEmpty {
\find(union(empty,s))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1971] |
0s |
passed |
[1972] unionWithEmptyRight, unionWithEmptyRight {
\find(union(s,empty))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1972] |
0s |
passed |
[1973] unionWithItself, unionWithItself {
\find(union(s,s))
\replacewith(s)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1973] |
0s |
passed |
[1974] unionWithSingletonEqualsUnionWithSingleton, unionWithSingletonEqualsUnionWithSingleton {
\find(equals(union(s1,singleton(o,f)),union(s2,singleton(o,f))))
\replacewith(equals(setMinus(s1,singleton(o,f)),setMinus(s2,singleton(o,f))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1974] |
0s |
passed |
[1975] unionWithSingletonEqualsUnionWithSingleton_2, unionWithSingletonEqualsUnionWithSingleton_2 {
\find(equals(union(singleton(o,f),s1),union(singleton(o,f),s2)))
\replacewith(equals(setMinus(s1,singleton(o,f)),setMinus(s2,singleton(o,f))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[1975] |
0.001s |
passed |
[1976] unsignedShiftRightJintDef, unsignedShiftRightJintDef {
\find(unsignedshiftrightJint(left,right))
\replacewith(if-then-else(geq(left,Z(0(#))),shiftrightJint(left,right),addJint(shiftrightJint(left,right),shiftleftJint(Z(2(#)),sub(Z(1(3(#))),mod(right,Z(2(3(#)))))))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[1976] |
0s |
passed |
[1977] unusedLabel, unusedLabel {
\find(#allmodal ( (modal operator))\[{ ..
#lb:
#s
... }\] (post))
\varcond(\not\freeLabelIn (#lb,#s), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#s
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1977] |
0.001s |
passed |
[1978] unwindLoopScope, unwindLoopScope {
\find(#allmodal ( (modal operator))\[{ ..
while (#nse) #body
... }\] (post))
\varcond(\new(#x (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #x;
loop-scope (#x) {
if (#nse) {
#body
continue;
} else {
break;
}
}
... }\] (and(imp(equals(#x<<loopScopeIndex>>,TRUE),post),imp(equals(#x<<loopScopeIndex>>,FALSE),#allmodal ( (modal operator))\[{ ..
#reattachLoopInvariant(while (#nse) #body)
...… |
testEquality(String, String)[1978] |
0.001s |
passed |
[1979] variableDeclaration, variableDeclaration {
\find(#allmodal ( (modal operator))\[{ ..
#t #v0;
... }\] (post))
\addprogvars {#v0 (program Variable)} \replacewith(#allmodal(post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1979] |
0.001s |
passed |
[197] assignmentSubtractionInt, assignmentSubtractionInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 - #seCharByteShortInt1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaSubInt(#seCharByteShortInt0,#seCharByteShortInt1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[197] |
0.001s |
passed |
[1980] variableDeclarationAssign, variableDeclarationAssign {
\find(#allmodal ( (modal operator))\[{ ..
#t #v0 = #vi;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#t #v0;
#v0 = #vi;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1980] |
0.007s |
passed |
[1981] variableDeclarationFinal, variableDeclarationFinal {
\find(#allmodal ( (modal operator))\[{ ..
final #t #v0;
... }\] (post))
\addprogvars {#v0 (program Variable)} \replacewith(#allmodal(post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1981] |
0.001s |
passed |
[1982] variableDeclarationFinalAssign, variableDeclarationFinalAssign {
\find(#allmodal ( (modal operator))\[{ ..
final #t #v0 = #vi;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
final #t #v0;
#v0 = #vi;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1982] |
0.001s |
passed |
[1983] variableDeclarationGhost, variableDeclarationGhost {
\find(#allmodal ( (modal operator))\[{ ..
ghost #t #v0;
... }\] (post))
\addprogvars {#v0 (program Variable)} \replacewith(#allmodal(post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1983] |
0.001s |
passed |
[1984] variableDeclarationGhostAssign, variableDeclarationGhostAssign {
\find(#allmodal ( (modal operator))\[{ ..
ghost #t #v0 = #vi;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
ghost #t #v0;
#v0 = #vi;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1984] |
0.001s |
passed |
[1985] variableDeclarationMult, variableDeclarationMult {
\find(#allmodal ( (modal operator))\[{ ..
#multvardecl
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
multiple-var-decl(#multvardecl)
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[1985] |
0.001s |
passed |
[1986] wellFormedAnon, wellFormedAnon {
\find(wellFormed(anon(h,s,h2)))
\succedentPolarity\replacewith(and(wellFormed(h),wellFormed(h2)))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1986] |
0.001s |
passed |
[1987] wellFormedAnonEQ, wellFormedAnonEQ {
\assumes ([equals(anon(h,s,h2),EQ)]==>[])
\find(wellFormed(EQ))
\sameUpdateLevel\succedentPolarity\replacewith(and(wellFormed(h),wellFormed(h2)))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1987] |
0.001s |
passed |
[1988] wellFormedCreate, wellFormedCreate {
\find(wellFormed(create(h,o)))
\succedentPolarity\replacewith(wellFormed(h))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1988] |
0.003s |
passed |
[1989] wellFormedMemsetArrayObject, wellFormedMemsetArrayObject {
\find(wellFormed(memset(h,arrayRange(ar,lo,up),x)))
\succedentPolarity\varcond(\hasSort(\elemSort(ar (java.lang.Object term)), alpha), )
\replacewith(and(wellFormed(h),or(equals(x,null),and(equals(boolean::select(h,x,java.lang.Object::<created>),TRUE),arrayStoreValid(ar,x)))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1989] |
0.001s |
passed |
[198] assignmentSubtractionLong, assignmentSubtractionLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt - #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaSubLong(#seCharByteShortInt,#seLong)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[198] |
0.001s |
passed |
[1990] wellFormedMemsetArrayPrimitive, wellFormedMemsetArrayPrimitive {
\find(wellFormed(memset(h,arrayRange(ar,lo,up),x)))
\succedentPolarity\varcond(\hasSort(\elemSort(ar (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha), )
\replacewith(wellFormed(h))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1990] |
0s |
passed |
[1991] wellFormedStoreArray, wellFormedStoreArray {
\find(wellFormed(store(h,o,arr(idx),x)))
\succedentPolarity\varcond(\hasSort(\elemSort(o (java.lang.Object term)), alpha), )
\replacewith(and(wellFormed(h),or(equals(x,null),and(equals(boolean::select(h,x,java.lang.Object::<created>),TRUE),arrayStoreValid(o,x)))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1991] |
0s |
passed |
[1992] wellFormedStoreLocSet, wellFormedStoreLocSet {
\find(wellFormed(store(h,o,f,x)))
\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \sub(LocSet, alpha), )
\replacewith(and(wellFormed(h),createdInHeap(x,h)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1992] |
0.008s |
passed |
[1993] wellFormedStoreLocSetEQ, wellFormedStoreLocSetEQ {
\assumes ([equals(store(h,o,f,x),EQ)]==>[])
\find(wellFormed(EQ))
\sameUpdateLevel\succedentPolarity\replacewith(and(wellFormed(h),createdInHeap(x,h)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1993] |
0s |
passed |
[1994] wellFormedStoreObject, wellFormedStoreObject {
\find(wellFormed(store(h,o,f,x)))
\succedentPolarity\varcond(\fieldType(f (Field term), alpha), )
\replacewith(and(wellFormed(h),or(equals(x,null),and(equals(boolean::select(h,x,java.lang.Object::<created>),TRUE),equals(alpha::instance(x),TRUE)))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1994] |
0s |
passed |
[1995] wellFormedStoreObjectEQ, wellFormedStoreObjectEQ {
\assumes ([equals(store(h,o,f,x),EQ)]==>[])
\find(wellFormed(EQ))
\sameUpdateLevel\succedentPolarity\varcond(\fieldType(f (Field term), alpha), )
\replacewith(and(wellFormed(h),or(equals(x,null),and(equals(boolean::select(h,x,java.lang.Object::<created>),TRUE),equals(alpha::instance(x),TRUE)))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[1995] |
0.001s |
passed |
[1996] wellFormedStorePrimitive, wellFormedStorePrimitive {
\find(wellFormed(store(h,o,f,x)))
\succedentPolarity\varcond(\fieldType(f (Field term), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha), )
\replacewith(wellFormed(h))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1996] |
0.001s |
passed |
[1997] wellFormedStorePrimitiveArray, wellFormedStorePrimitiveArray {
\find(wellFormed(store(h,o,arr(idx),x)))
\succedentPolarity\varcond(\hasSort(\elemSort(o (java.lang.Object term)), alpha), \not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), \sub(beta, alpha), )
\replacewith(wellFormed(h))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1997] |
0.001s |
passed |
[1998] wellFormedStorePrimitiveEQ, wellFormedStorePrimitiveEQ {
\assumes ([equals(store(h,o,f,x),EQ)]==>[])
\find(wellFormed(EQ))
\sameUpdateLevel\succedentPolarity\varcond(\not\sub(beta, java.lang.Object), \not\sub(beta, LocSet), )
\replacewith(wellFormed(h))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[1998] |
0s |
passed |
[1999] wideningCastIntToFloat, wideningCastIntToFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (float) #seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(float::cast(#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[1999] |
0s |
passed |
[199] assignmentSubtractionLong2, assignmentSubtractionLong2 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong - #seCharByteShortInt;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaSubLong(#seLong,#seCharByteShortInt)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[199] |
0.001s |
passed |
[19] activeUseShiftRight, activeUseShiftRight {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left >> #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left >> #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[19] |
0.001s |
passed |
[1] abortJavaCardTransactionAPI, abortJavaCardTransactionAPI {
\find(==>#allmodal ( (modal operator))\[{ ..
#jcsystemType.#abortTransaction()@#jcsystemType;
... }\] (post))
\replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#abortJavaCardTransaction;
... }\] (post)])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[1] |
0.010s |
passed |
[2000] wideningCastLongToFloat, wideningCastLongToFloat {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (float) #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(float::cast(#seLong)),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[2000] |
0s |
passed |
[2001] widening_identity_cast_1, widening_identity_cast_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (byte) #seByte;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seByte;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2001] |
0s |
passed |
[2002] widening_identity_cast_10, widening_identity_cast_10 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (long) #seByteShortInt;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seByteShortInt;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2002] |
0.001s |
passed |
[2003] widening_identity_cast_11, widening_identity_cast_11 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (long) #seLong;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seLong;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2003] |
0s |
passed |
[2004] widening_identity_cast_12, widening_identity_cast_12 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (int) #seChar;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seChar;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2004] |
0.006s |
passed |
[2005] widening_identity_cast_13, widening_identity_cast_13 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (long) #seChar;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seChar;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2005] |
0s |
passed |
[2006] widening_identity_cast_2, widening_identity_cast_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (short) #seByte;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seByte;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2006] |
0s |
passed |
[2007] widening_identity_cast_3, widening_identity_cast_3 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (char) #seChar;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seChar;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2007] |
0s |
passed |
[2008] widening_identity_cast_4, widening_identity_cast_4 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (short) #seShort;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seShort;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2008] |
0s |
passed |
[2009] widening_identity_cast_5, widening_identity_cast_5 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (int) #seByteShortInt;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seByteShortInt;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[2009] |
0s |
passed |
[200] assignmentSubtractionLong3, assignmentSubtractionLong3 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 - #seLong1;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaSubLong(#seLong0,#seLong1)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[200] |
0.001s |
passed |
[2010] widening_identity_cast_bigint, widening_identity_cast_bigint {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (\bigint) #seAny;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #seAny;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & bigint:on)}
|
testEquality(String, String)[2010] |
0s |
passed |
[2011] writePermission, writePermission {
\find(writePermission(p))
\replacewith(writePermissionObject(currentThread,p))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[2011] |
0s |
passed |
[2012] writePermissionObject, writePermissionObject {
\find(writePermissionObject(o,p))
\replacewith(true)
\heuristics(concrete)
Choices: permissions:off}
|
testEquality(String, String)[2012] |
0.008s |
passed |
[2013] xorJIntDef, xorJIntDef {
\find(xorJint(left,right))
\replacewith(moduloInt(binaryXOr(left,right)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[2013] |
0s |
passed |
[2014] zadd_left_cancel0, zadd_left_cancel0 {
\find(equals(i0,add(i0,i1)))
\replacewith(equals(i1,Z(0(#))))
Choices: true}
|
testEquality(String, String)[2014] |
0s |
passed |
[2015] zero_leq_mult_iff, zero_leq_mult_iff {
\find(leq(Z(0(#)),mul(i0,i1)))
\replacewith(or(and(leq(Z(0(#)),i0),leq(Z(0(#)),i1)),and(leq(i0,Z(0(#))),leq(i1,Z(0(#))))))
Choices: true}
|
testEquality(String, String)[2015] |
0s |
passed |
[2016] zero_less_mult_iff, zero_less_mult_iff {
\find(lt(Z(0(#)),mul(i0,i1)))
\replacewith(or(and(lt(Z(0(#)),i0),lt(Z(0(#)),i1)),and(lt(i0,Z(0(#))),lt(i1,Z(0(#))))))
Choices: true}
|
testEquality(String, String)[2016] |
0s |
passed |
[201] assignmentUnsignedShiftRightInt, assignmentUnsignedShiftRightInt {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seCharByteShortInt0 >>> #se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaUnsignedShiftRightInt(#seCharByteShortInt0,#se)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[201] |
0.001s |
passed |
[202] assignmentUnsignedShiftRightLong, assignmentUnsignedShiftRightLong {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seLong0 >>> #se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaUnsignedShiftRightLong(#seLong0,#se)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[202] |
0.001s |
passed |
[203] assignment_array2, assignment_array2 {
\find(==>#allmodal ( (modal operator))\[{ ..
#v = #v0[#se];
... }\] (post))
\varcond(\hasSort(\elemSort(#v0 (program Variable)), G), )
\add [and(not(equals(#v0,null)),or(leq(length(#v0),#se),lt(#se,Z(0(#)))))]==>[] \replacewith([]==>[false]) ;
\add [equals(#v0,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[update-application(elem-update(#v (program Variable))(G::select(heap,#v0,arr(#se))),#allmodal(post))])
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (progr… |
testEquality(String, String)[203] |
0.001s |
passed |
[204] assignment_read_attribute, assignment_read_attribute {
\find(==>#allmodal ( (modal operator))\[{ ..
#v0 = #v.#a;
... }\] (post))
\varcond( \not \static(#a (program Variable)), \not \isArrayLength(#a (program Variable)), \hasSort(#a (program Variable), G), \not\isThisReference (#v (program Variable)), )
\add [equals(#v,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[update-application(elem-update(#v0 (program Variable))(G::select(heap,#v,#memberPVToField(#a))),#allmodal(post))])
\heuristics(simplify_prog_subset, simpl… |
testEquality(String, String)[204] |
0.002s |
passed |
[205] assignment_read_attribute_this, assignment_read_attribute_this {
\find(==>#allmodal ( (modal operator))\[{ ..
#v0 = #v.#a;
... }\] (post))
\varcond( \not \static(#a (program Variable)), \not \isArrayLength(#a (program Variable)), \hasSort(#a (program Variable), G), \isThisReference (#v (program Variable)), )
\replacewith([]==>[update-application(elem-update(#v0 (program Variable))(G::select(heap,#v,#memberPVToField(#a))),#allmodal(post))])
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & runtimeException… |
testEquality(String, String)[205] |
0.001s |
passed |
[206] assignment_read_length, assignment_read_length {
\find(==>#allmodal ( (modal operator))\[{ ..
#v0 = #v.#length;
... }\] (post))
\varcond(\not\isThisReference (#v (program Variable)), )
\add [equals(#v,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[update-application(elem-update(#v0 (program Variable))(length(#v)),#allmodal(post))])
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[206] |
0.001s |
passed |
[207] assignment_read_length_this, assignment_read_length_this {
\find(#allmodal ( (modal operator))\[{ ..
#v0 = #v.#length;
... }\] (post))
\sameUpdateLevel\varcond(\isThisReference (#v (program Variable)), )
\replacewith(update-application(elem-update(#v0 (program Variable))(length(#v)),#allmodal(post)))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[207] |
0s |
passed |
[208] assignment_read_static_attribute, assignment_read_static_attribute {
\find(#allmodal ( (modal operator))\[{ ..
#v0 = @(#sv);
... }\] (post))
\sameUpdateLevel\varcond(\hasSort(#sv (program StaticVariable), G), )
\replacewith(update-application(elem-update(#v0 (program Variable))(G::select(heap,null,#memberPVToField(#sv))),#allmodal(post)))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[208] |
0.001s |
passed |
[209] assignment_read_static_attribute_with_variable_prefix, assignment_read_static_attribute_with_variable_prefix {
\find(#allmodal ( (modal operator))\[{ ..
#loc = @(#v.#sv);
... }\] (post))
\varcond(\hasSort(#sv (program StaticVariable), G), )
\replacewith(update-application(elem-update(#loc (program Variable))(G::select(heap,#v,#memberPVToField(#sv))),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[209] |
0.001s |
passed |
[20] activeUseShortCast, activeUseShortCast {
\find(#allmodal ( (modal operator))\[{ ..
#sv = (short) #seIntLong;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = (short) #seIntLong;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[20] |
0.001s |
passed |
[210] assignment_to_primitive_array_component, assignment_to_primitive_array_component {
\find(==>#normal ( (modal operator))\[{ ..
#v[#se] = #se0;
... }\] (post))
\varcond( \not \isReferenceArray(#v (program Variable)), )
\add [and(not(equals(#v,null)),or(leq(length(#v),#se),lt(#se,Z(0(#)))))]==>[] \replacewith([]==>[false]) ;
\add [equals(#v,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[update-application(elem-update(heap)(store(heap,#v,arr(#se),#se0)),#normal(post))])
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (progra… |
testEquality(String, String)[210] |
0.001s |
passed |
[211] assignment_to_primitive_array_component_transaction, assignment_to_primitive_array_component_transaction {
\find(==>#transaction ( (modal operator))\[{ ..
#v[#se] = #se0;
... }\] (post))
\varcond( \not \isReferenceArray(#v (program Variable)), )
\add [and(not(equals(#v,null)),or(leq(length(#v),#se),lt(#se,Z(0(#)))))]==>[] \replacewith([]==>[false]) ;
\add [equals(#v,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[update-application(elem-update(heap)(store(heap,#v,arr(#se),#se0)),update-application(elem-update(savedHeap)(if-then-else(equals(int:… |
testEquality(String, String)[211] |
0.001s |
passed |
[212] assignment_to_reference_array_component, assignment_to_reference_array_component {
\find(==>#normal ( (modal operator))\[{ ..
#v[#se] = #se0;
... }\] (post))
\varcond(\isReferenceArray(#v (program Variable)), )
\add [and(and(and(not(equals(#v,null)),lt(#se,length(#v))),geq(#se,Z(0(#)))),not(arrayStoreValid(#v,#se0)))]==>[] \replacewith([]==>[false]) ;
\add [and(not(equals(#v,null)),or(leq(length(#v),#se),lt(#se,Z(0(#)))))]==>[] \replacewith([]==>[false]) ;
\add [equals(#v,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[update-applic… |
testEquality(String, String)[212] |
0.001s |
passed |
[213] assignment_to_reference_array_component_transaction, assignment_to_reference_array_component_transaction {
\find(==>#transaction ( (modal operator))\[{ ..
#v[#se] = #se0;
... }\] (post))
\varcond(\isReferenceArray(#v (program Variable)), )
\add [and(and(and(not(equals(#v,null)),lt(#se,length(#v))),geq(#se,Z(0(#)))),not(arrayStoreValid(#v,#se0)))]==>[] \replacewith([]==>[false]) ;
\add [and(not(equals(#v,null)),or(leq(length(#v),#se),lt(#se,Z(0(#)))))]==>[] \replacewith([]==>[false]) ;
\add [equals(#v,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]… |
testEquality(String, String)[213] |
0.002s |
passed |
[214] assignment_write_array_this_access_normalassign, assignment_write_array_this_access_normalassign {
\find(#allmodal ( (modal operator))\[{ ..
this[#se] = #se0;
... }\] (post))
\replacewith(imp(and(lt(#se,length(#v)),lt(Z(neglit(1(#))),#se)),update-application(elem-update(heap)(store(heap,#v,arr(#se),#se0)),#allmodal(post))))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & permissions:off)}
|
testEquality(String, String)[214] |
0.001s |
passed |
[215] assignment_write_attribute, assignment_write_attribute {
\find(==>#allmodal ( (modal operator))\[{ ..
#v.#a = #se;
... }\] (post))
\varcond( \not \static(#a (program Variable)), \not\isThisReference (#v (program Variable)), )
\add [equals(#v,null)]==>[] \replacewith([]==>[false]) ;
\replacewith([]==>[update-application(elem-update(heap)(store(heap,#v,#memberPVToField(#a),#se)),#allmodal(post))])
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[215] |
0s |
passed |
[216] assignment_write_attribute_this, assignment_write_attribute_this {
\find(==>#allmodal ( (modal operator))\[{ ..
#v.#a = #se;
... }\] (post))
\varcond( \not \static(#a (program Variable)), \isThisReference (#v (program Variable)), )
\replacewith([]==>[update-application(elem-update(heap)(store(heap,#v,#memberPVToField(#a),#se)),#allmodal(post))])
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & runtimeExceptions:ban)}
|
testEquality(String, String)[216] |
0.001s |
passed |
[217] assignment_write_static_attribute, assignment_write_static_attribute {
\find(#allmodal ( (modal operator))\[{ ..
@(#sv) = #se;
... }\] (post))
\replacewith(update-application(elem-update(heap)(store(heap,null,#memberPVToField(#sv),#se)),#allmodal(post)))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[217] |
0.001s |
passed |
[218] assignment_write_static_attribute_with_variable_prefix, assignment_write_static_attribute_with_variable_prefix {
\find(#allmodal ( (modal operator))\[{ ..
@(#v.#sv) = #se;
... }\] (post))
\replacewith(update-application(elem-update(heap)(store(heap,#v,#memberPVToField(#sv),#se)),#allmodal(post)))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[218] |
0.001s |
passed |
[219] associativeLawIntersect, associativeLawIntersect {
\find(intersect(s1,intersect(s2,s3)))
\replacewith(intersect(intersect(s1,s2),s3))
\heuristics(conjNormalForm)
Choices: programRules:Java}
|
testEquality(String, String)[219] |
0s |
passed |
[21] activeUseStaticFieldReadAccess, activeUseStaticFieldReadAccess {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #sv;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = @(#sv);
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[21] |
0.001s |
passed |
[220] associativeLawUnion, associativeLawUnion {
\find(union(s1,union(s2,s3)))
\replacewith(union(union(s1,s2),s3))
\heuristics(conjNormalForm)
Choices: programRules:Java}
|
testEquality(String, String)[220] |
0.001s |
passed |
[221] atan2IsNaN, atan2IsNaN {
\find(atan2Double(arg1,arg2))
\add [imp(or(doubleIsNaN(arg1),doubleIsNaN(arg2)),doubleIsNaN(atan2Double(arg1,arg2)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[221] |
0.001s |
passed |
[222] atan2Range, atan2Range {
\find(atan2Double(arg1,arg2))
\add [imp(and(not(doubleIsNaN(arg1)),not(doubleIsNaN(arg2))),and(geqDouble(atan2Double(arg1,arg2),negDouble(DFP(8(4(8(5(4(0(2(5(5(6(5(6(6(5(2(4(1(6(4(#)))))))))))))))))))))),leqDouble(atan2Double(arg1,arg2),DFP(8(4(8(5(4(0(2(5(5(6(5(6(6(5(2(4(1(6(4(#)))))))))))))))))))))))]==>[]
Choices: true}
|
testEquality(String, String)[222] |
0.001s |
passed |
[223] atanIsNaN, atanIsNaN {
\find(atanDouble(arg))
\add [imp(doubleIsNaN(arg),doubleIsNaN(atanDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[223] |
0s |
passed |
[224] atanIsZero, atanIsZero {
\find(atanDouble(arg))
\add [imp(equals(arg,DFP(0(#))),equals(atanDouble(arg),DFP(0(#))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[224] |
0.001s |
passed |
[225] atanRange, atanRange {
\find(atanDouble(arg))
\add [imp(not(doubleIsNaN(arg)),and(geqDouble(atanDouble(arg),negDouble(DFP(2(5(3(5(7(6(4(2(9(6(5(0(3(5(7(9(0(6(4(#)))))))))))))))))))))),leqDouble(atanDouble(arg),DFP(2(5(3(5(7(6(4(2(9(6(5(0(3(5(7(9(0(6(4(#)))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[225] |
0.001s |
passed |
[226] autoInductGEQ_Lemma_1, autoInductGEQ_Lemma_1 {
\find(==>and(all{uSub (variable)}(imp(leq(t,uSub),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(leq(t,uSub),b))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,b),true)])
\heuristics(induction_var, auto_induction_lemma)
Choices: integerSimplificationRul… |
testEquality(String, String)[226] |
0.003s |
passed |
[227] autoInductGEQ_Lemma_2, autoInductGEQ_Lemma_2 {
\find(==>and(all{uSub (variable)}(or(gt(t,uSub),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(leq(t,uSub),b))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,b),true)])
\heuristics(induction_var, auto_induction_lemma)
Choices: integerSimplificationRules… |
testEquality(String, String)[227] |
0.002s |
passed |
[228] autoInductGEQ_Lemma_3, autoInductGEQ_Lemma_3 {
\find(==>and(all{uSub (variable)}(or(lt(uSub,t),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(leq(t,uSub),b))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,b),true)])
\heuristics(induction_var, auto_induction_lemma)
Choices: integerSimplificationRules… |
testEquality(String, String)[228] |
0.001s |
passed |
[229] autoInductGEQ_Lemma_5, autoInductGEQ_Lemma_5 {
\find(==>and(all{uSub (variable)}(or(or(gt(t,uSub),psi),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(leq(t,uSub),or(psi,b)))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,or(psi,b)),true)])
\heuristics(induction_var, auto_induction_le… |
testEquality(String, String)[229] |
0.001s |
passed |
[22] activeUseStaticFieldReadAccess2, activeUseStaticFieldReadAccess2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #v.#sv;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = @(#sv);
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[22] |
0.001s |
passed |
[230] autoInductGEQ_Lemma_6, autoInductGEQ_Lemma_6 {
\find(==>and(all{uSub (variable)}(or(or(lt(uSub,t),psi),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(leq(t,uSub),or(psi,b)))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,or(psi,b)),true)])
\heuristics(induction_var, auto_induction_le… |
testEquality(String, String)[230] |
0.001s |
passed |
[231] autoInductGT_Lemma_1, autoInductGT_Lemma_1 {
\find(==>and(all{uSub (variable)}(imp(lt(t,uSub),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(lt(t,uSub),b))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),b),true)])
\heuristics(induction_var, auto_induction_lemma)
Choices: integerSimplif… |
testEquality(String, String)[231] |
0.001s |
passed |
[232] autoInductGT_Lemma_2, autoInductGT_Lemma_2 {
\find(==>and(all{uSub (variable)}(or(geq(t,uSub),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(lt(t,uSub),b))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),b),true)])
\heuristics(induction_var, auto_induction_lemma)
Choices: integerSimplif… |
testEquality(String, String)[232] |
0.001s |
passed |
[233] autoInductGT_Lemma_3, autoInductGT_Lemma_3 {
\find(==>and(all{uSub (variable)}(or(leq(uSub,t),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(lt(t,uSub),b))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),b),true)])
\heuristics(induction_var, auto_induction_lemma)
Choices: integerSimplif… |
testEquality(String, String)[233] |
0.001s |
passed |
[234] autoInductGT_Lemma_5, autoInductGT_Lemma_5 {
\find(==>and(all{uSub (variable)}(or(or(geq(t,uSub),psi),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(lt(t,uSub),or(psi,b)))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),or(psi,b)),true)])
\heuristics(auto_induction_lemma… |
testEquality(String, String)[234] |
0.001s |
passed |
[235] autoInductGT_Lemma_6, autoInductGT_Lemma_6 {
\find(==>and(all{uSub (variable)}(or(or(leq(uSub,t),psi),b)),phi))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([all{uSub (variable)}(imp(lt(t,uSub),or(psi,b)))]==>[phi]) ;
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),or(psi,b)),true)])
\heuristics(induction_var, auto_… |
testEquality(String, String)[235] |
0.001s |
passed |
[236] autoInduct_Lemma, autoInduct_Lemma {
\find(==>and(all{uSub (variable)}(b),phi))
\replacewith([all{uSub (variable)}(b)]==>[phi]) ;
\replacewith([]==>[imp(and(leq(sk,Z(0(#))),subst{uSub (variable)}(sk,b)),subst{uSub (variable)}(sub(sk,Z(1(#))),b))]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(sk,b)),subst{uSub (variable)}(add(sk,Z(1(#))),b))]) ;
\replacewith([]==>[subst{uSub (variable)}(Z(0(#)),b)])
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[236] |
0.001s |
passed |
[237] auto_int_induction_geqZero, auto_int_induction_geqZero {
\find(==>all{uSub (variable)}(b))
\replacewith([]==>[imp(and(leq(sk,Z(0(#))),subst{uSub (variable)}(sk,b)),subst{uSub (variable)}(sub(sk,Z(1(#))),b))]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(sk,b)),subst{uSub (variable)}(add(sk,Z(1(#))),b))]) ;
\replacewith([]==>[subst{uSub (variable)}(Z(0(#)),b)])
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[237] |
0.001s |
passed |
[238] auto_int_induction_geqZeroLeft, auto_int_induction_geqZeroLeft {
\find(exists{uSub (variable)}(b)==>)
\replacewith([]==>[imp(and(leq(sk,Z(0(#))),subst{uSub (variable)}(sk,not(b))),subst{uSub (variable)}(sub(sk,Z(1(#))),not(b)))]) ;
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(sk,not(b))),subst{uSub (variable)}(add(sk,Z(1(#))),not(b)))]) ;
\replacewith([]==>[subst{uSub (variable)}(Z(0(#)),not(b))])
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[238] |
0.003s |
passed |
[239] auto_int_induction_geq_1, auto_int_induction_geq_1 {
\find(==>all{uSub (variable)}(imp(leq(t,uSub),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,b),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[239] |
0.001s |
passed |
[23] activeUseStaticFieldWriteAccess, activeUseStaticFieldWriteAccess {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[23] |
0.001s |
passed |
[240] auto_int_induction_geq_2, auto_int_induction_geq_2 {
\find(==>all{uSub (variable)}(or(gt(t,uSub),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,b),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[240] |
0.001s |
passed |
[241] auto_int_induction_geq_3, auto_int_induction_geq_3 {
\find(==>all{uSub (variable)}(or(lt(uSub,t),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,b),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[241] |
0s |
passed |
[242] auto_int_induction_geq_5, auto_int_induction_geq_5 {
\find(==>all{uSub (variable)}(or(or(gt(t,uSub),psi),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,or(psi,b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[242] |
0.001s |
passed |
[243] auto_int_induction_geq_6, auto_int_induction_geq_6 {
\find(==>all{uSub (variable)}(or(or(lt(uSub,t),psi),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,or(psi,b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[243] |
0s |
passed |
[244] auto_int_induction_geq_Left1, auto_int_induction_geq_Left1 {
\find(exists{uSub (variable)}(and(leq(t,uSub),b))==>)
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),not(b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),not(b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,not(b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[244] |
0.001s |
passed |
[245] auto_int_induction_geq_Left2, auto_int_induction_geq_Left2 {
\find(exists{uSub (variable)}(and(geq(uSub,t),b))==>)
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(0(#))),subst{uSub (variable)}(add(t,sk),not(b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),not(b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(t,not(b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[245] |
0.001s |
passed |
[246] auto_int_induction_gt_1, auto_int_induction_gt_1 {
\find(==>all{uSub (variable)}(imp(lt(t,uSub),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),b),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[246] |
0.008s |
passed |
[247] auto_int_induction_gt_2, auto_int_induction_gt_2 {
\find(==>all{uSub (variable)}(or(geq(t,uSub),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),b),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[247] |
0.001s |
passed |
[248] auto_int_induction_gt_3, auto_int_induction_gt_3 {
\find(==>all{uSub (variable)}(or(leq(uSub,t),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),b)),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),b),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),b),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[248] |
0.001s |
passed |
[249] auto_int_induction_gt_5, auto_int_induction_gt_5 {
\find(==>all{uSub (variable)}(or(or(geq(t,uSub),psi),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),or(psi,b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[249] |
0.001s |
passed |
[24] activeUseStaticFieldWriteAccess2, activeUseStaticFieldWriteAccess2 {
\find(#allmodal ( (modal operator))\[{ ..
#v.#sv = #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[24] |
0.001s |
passed |
[250] auto_int_induction_gt_6, auto_int_induction_gt_6 {
\find(==>all{uSub (variable)}(or(or(leq(uSub,t),psi),b)))
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),or(psi,b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),or(psi,b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),or(psi,b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[250] |
0.001s |
passed |
[251] auto_int_induction_gt_Left1, auto_int_induction_gt_Left1 {
\find(exists{uSub (variable)}(and(lt(t,uSub),b))==>)
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),not(b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),not(b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),not(b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[251] |
0.001s |
passed |
[252] auto_int_induction_gt_Left2, auto_int_induction_gt_Left2 {
\find(exists{uSub (variable)}(and(gt(uSub,t),b))==>)
\varcond(\notFreeIn(uSub (variable), t (int term)))
\replacewith([]==>[imp(and(geq(sk,Z(1(#))),subst{uSub (variable)}(add(t,sk),not(b))),#ExpandQueries(subst{uSub (variable)}(add(t,add(sk,Z(1(#)))),not(b)),true))]) ;
\replacewith([]==>[#ExpandQueries(subst{uSub (variable)}(add(t,Z(1(#))),not(b)),true)])
\heuristics(induction_var, auto_induction)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[252] |
0.001s |
passed |
[253] beginJavaCardTransactionAPI, beginJavaCardTransactionAPI {
\find(==>#allmodal ( (modal operator))\[{ ..
#jcsystemType.#beginTransaction()@#jcsystemType;
... }\] (post))
\replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#beginJavaCardTransaction;
... }\] (post)])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[253] |
0.001s |
passed |
[254] beginJavaCardTransactionBox, beginJavaCardTransactionBox {
\find(==>\[{ ..
#beginJavaCardTransaction;
... }\] (post))
\replacewith([]==>[update-application(elem-update(savedHeap)(heap),box_transaction(post))])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[254] |
0.001s |
passed |
[255] beginJavaCardTransactionDiamond, beginJavaCardTransactionDiamond {
\find(==>\<{ ..
#beginJavaCardTransaction;
... }\> (post))
\replacewith([]==>[update-application(elem-update(savedHeap)(heap),diamond_transaction(post))])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[255] |
0.007s |
passed |
[256] binaryAndOne, binaryAndOne {
\find(binaryAnd(left,Z(1(#))))
\replacewith(if-then-else(equals(mod(left,Z(2(#))),Z(0(#))),Z(0(#)),Z(1(#))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[256] |
0.001s |
passed |
[257] binaryAndSymm, binaryAndSymm {
\find(binaryAnd(left,right))
\replacewith(binaryAnd(right,left))
Choices: true}
|
testEquality(String, String)[257] |
0.002s |
passed |
[258] binaryAndZeroLeft, binaryAndZeroLeft {
\find(binaryAnd(Z(0(#)),right))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[258] |
0.001s |
passed |
[259] binaryAndZeroRight, binaryAndZeroRight {
\find(binaryAnd(left,Z(0(#))))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[259] |
0.001s |
passed |
[25] activeUseStaticFieldWriteAccess3, activeUseStaticFieldWriteAccess3 {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #arr[#idx];
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #arr[#idx];
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[25] |
0.001s |
passed |
[260] binaryAnd_literals, binaryAnd_literals {
\find(binaryAnd(Z(iz),Z(jz)))
\replacewith(#BinaryAnd(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[260] |
0.001s |
passed |
[261] binaryOrGte, binaryOrGte {
\find(binaryOr(left,right))
\sameUpdateLevel\add [imp(and(geq(left,Z(0(#))),geq(right,Z(0(#)))),and(and(geq(binaryOr(left,right),left),geq(binaryOr(left,right),right)),leq(binaryOr(left,right),mul(Z(2(#)),if-then-else(gt(left,right),left,right)))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[261] |
0.001s |
passed |
[262] binaryOrInInt, binaryOrInInt {
\find(binaryOr(left,right))
\sameUpdateLevel\add [imp(and(inRangeInt(left),inRangeInt(right)),inRangeInt(binaryOr(left,right)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[262] |
0.001s |
passed |
[263] binaryOrNeutralLeft, binaryOrNeutralLeft {
\find(binaryOr(Z(0(#)),right))
\replacewith(right)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[263] |
0.001s |
passed |
[264] binaryOrNeutralRight, binaryOrNeutralRight {
\find(binaryOr(left,Z(0(#))))
\replacewith(left)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[264] |
0.001s |
passed |
[265] binaryOrSign, binaryOrSign {
\find(binaryOr(left,right))
\sameUpdateLevel\add [geq(mul(if-then-else(and(geq(left,Z(0(#))),geq(right,Z(0(#)))),Z(1(#)),Z(neglit(1(#)))),binaryOr(left,right)),Z(0(#)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[265] |
0.001s |
passed |
[266] binaryOr_literals, binaryOr_literals {
\find(binaryOr(Z(iz),Z(jz)))
\replacewith(#BinaryOr(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[266] |
0.002s |
passed |
[267] binaryXOr_literals, binaryXOr_literals {
\find(binaryXOr(Z(iz),Z(jz)))
\replacewith(#BinaryXOr(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[267] |
0.001s |
passed |
[268] bitwiseNegation, bitwiseNegation {
\find(#normalassign ( (modal operator))\[{ ..
#loc = ~#se;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaBitwiseNegation(#se)),#normalassign(post)))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[268] |
0.001s |
passed |
[269] blockBreak, blockBreak {
\find(#allmodal ( (modal operator))\[{ ..
{
break;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
break;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[269] |
0.003s |
passed |
[26] activeUseStaticFieldWriteAccess4, activeUseStaticFieldWriteAccess4 {
\find(#allmodal ( (modal operator))\[{ ..
#v.#sv = #arr[#idx];
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #arr[#idx];
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[26] |
0.002s |
passed |
[270] blockBreakLabel, blockBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
#lb0:
{
break;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
do-break(#lb0:
break;)
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[270] |
0.001s |
passed |
[271] blockBreakLabeled, blockBreakLabeled {
\find(#allmodal ( (modal operator))\[{ ..
{
break;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
break;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[271] |
0.001s |
passed |
[272] blockBreakNoLabel, blockBreakNoLabel {
\find(#allmodal ( (modal operator))\[{ ..
{
break;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
break;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[272] |
0.003s |
passed |
[273] blockContinue, blockContinue {
\find(#allmodal ( (modal operator))\[{ ..
{
continue;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[273] |
0.002s |
passed |
[274] blockContinueLabeled, blockContinueLabeled {
\find(#allmodal ( (modal operator))\[{ ..
{
continue;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
continue;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[274] |
0.001s |
passed |
[275] blockEmpty, blockEmpty {
\find(#allmodal ( (modal operator))\[{ ..
{}
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[275] |
0s |
passed |
[276] blockEmptyLabel, blockEmptyLabel {
\find(#allmodal ( (modal operator))\[{ ..
#lb:
{}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{}
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[276] |
0.001s |
passed |
[277] blockReturn, blockReturn {
\find(#allmodal ( (modal operator))\[{ ..
{
return #se;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
return #se;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[277] |
0.002s |
passed |
[278] blockReturnLabel1, blockReturnLabel1 {
\find(#allmodal ( (modal operator))\[{ ..
#lb:
return #se;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
return #se;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[278] |
0.002s |
passed |
[279] blockReturnLabel2, blockReturnLabel2 {
\find(#allmodal ( (modal operator))\[{ ..
#lb:
{
return #se;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
return #se;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[279] |
0.001s |
passed |
[27] activeUseStaticFieldWriteAccess5, activeUseStaticFieldWriteAccess5 {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #v1.#a;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#a (program Variable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#a) #v0 = #v1.#a;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[27] |
0.002s |
passed |
[280] blockReturnNoValue, blockReturnNoValue {
\find(#allmodal ( (modal operator))\[{ ..
{
return;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
return;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[280] |
0s |
passed |
[281] blockThrow, blockThrow {
\find(#allmodal ( (modal operator))\[{ ..
{
throw #e;
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
throw #e;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[281] |
0.001s |
passed |
[282] boolean_equal, boolean_equal {
\find(equals(bo,bo))
\replacewith(true)
\heuristics(concrete, simplify_boolean)
Choices: true}
|
testEquality(String, String)[282] |
0.001s |
passed |
[283] boolean_equal_2, boolean_equal_2 {
\find(equiv(equals(b1,TRUE),equals(b2,TRUE)))
\replacewith(equals(b1,b2))
\heuristics(concrete, simplify_boolean)
Choices: true}
|
testEquality(String, String)[283] |
0s |
passed |
[284] boolean_false_commute, boolean_false_commute {
\find(equals(FALSE,bo))
\replacewith(equals(bo,FALSE))
\heuristics(simplify_boolean)
Choices: true}
|
testEquality(String, String)[284] |
0.001s |
passed |
[285] boolean_not_equal_1, boolean_not_equal_1 {
\find(equals(TRUE,FALSE))
\replacewith(false)
\heuristics(concrete, simplify_boolean)
Choices: true}
|
testEquality(String, String)[285] |
0.001s |
passed |
[286] boolean_not_equal_2, boolean_not_equal_2 {
\find(equals(FALSE,TRUE))
\replacewith(false)
\heuristics(concrete, simplify_boolean)
Choices: true}
|
testEquality(String, String)[286] |
0.001s |
passed |
[287] boolean_true_commute, boolean_true_commute {
\find(equals(TRUE,bo))
\replacewith(equals(bo,TRUE))
\heuristics(simplify_boolean)
Choices: true}
|
testEquality(String, String)[287] |
0.001s |
passed |
[288] boxToDiamond, boxToDiamond {
\find(\[{ ..
#s
... }\] (post))
\replacewith(not(\<{ ..
#s
... }\> (not(post))))
\heuristics(boxDiamondConv)
Choices: programRules:Java}
|
testEquality(String, String)[288] |
0.002s |
passed |
[289] boxToDiamondTransaction, boxToDiamondTransaction {
\find(box_transaction\[{ ..
#s
... }\] (post))
\replacewith(not(diamond_transaction\[{ ..
#s
... }\] (not(post))))
\heuristics(boxDiamondConv)
Choices: programRules:Java}
|
testEquality(String, String)[289] |
0.001s |
passed |
[28] activeUseStaticFieldWriteAccess6, activeUseStaticFieldWriteAccess6 {
\find(#allmodal ( (modal operator))\[{ ..
#v.#sv = #v1.#a;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#a (program Variable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#a) #v0 = #v1.#a;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[28] |
0.002s |
passed |
[290] box_and_left, box_and_left {
\find(#box ( (modal operator))\[{ ..
#s
... }\] (and(post,post1))==>)
\replacewith([and(#box ( (modal operator))\[{ ..
#s
... }\] (post),#box ( (modal operator))\[{ ..
#s
... }\] (post1))]==>[])
Choices: programRules:Java}
|
testEquality(String, String)[290] |
0s |
passed |
[291] box_and_right, box_and_right {
\find(==>#box ( (modal operator))\[{ ..
#s
... }\] (and(post,post1)))
\replacewith([]==>[#box ( (modal operator))\[{ ..
#s
... }\] (post1)]) ;
\replacewith([]==>[#box ( (modal operator))\[{ ..
#s
... }\] (post)])
Choices: programRules:Java}
|
testEquality(String, String)[291] |
0.002s |
passed |
[292] box_or_left, box_or_left {
\find(#box ( (modal operator))\[{ ..
#s
... }\] (or(post,post1))==>)
\replacewith([or(#box ( (modal operator))\[{ ..
#s
... }\] (post),#box ( (modal operator))\[{ ..
#s
... }\] (post1))]==>[])
Choices: programRules:Java}
|
testEquality(String, String)[292] |
0.001s |
passed |
[293] box_or_right, box_or_right {
\find(==>#box ( (modal operator))\[{ ..
#s
... }\] (or(post,post1)))
\replacewith([]==>[or(#box ( (modal operator))\[{ ..
#s
... }\] (post),#box ( (modal operator))\[{ ..
#s
... }\] (post1))])
Choices: programRules:Java}
|
testEquality(String, String)[293] |
0.001s |
passed |
[294] box_true, box_true {
\find(#box ( (modal operator))\[{ ..
#s
... }\] (true))
\replacewith(true)
\heuristics(modal_tautology)
Choices: programRules:Java}
|
testEquality(String, String)[294] |
0.009s |
passed |
[295] bprod_all_positive, bprod_all_positive {
\find(bprod{uSub (variable)}(i0,i1,t1))
\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [imp(all{uSub (variable)}(imp(and(leq(i0,uSub),lt(uSub,i1)),geq(t1,Z(0(#))))),geq(bprod{uSub (variable)}(i0,i1,t1),Z(0(#))))]==>[]
Choices: (integerSimplificationRules:full & sequences:on)}
|
testEquality(String, String)[295] |
0.001s |
passed |
[296] bprod_commutative_associative, bprod_commutative_associative {
\find(bprod{uSub (variable)}(i0,i2,mul(t,t2)))
\varcond(\notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\replacewith(mul(bprod{uSub (variable)}(i0,i2,t),bprod{uSub1 (variable)}(i0,i2,subst{uSub (variable)}(uSub1,t2))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[296] |
0.001s |
passed |
[297] bprod_empty, bprod_empty {
\find(bprod{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(Z(1(#))) ;
\add []==>[leq(i1,i0)]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[297] |
0.001s |
passed |
[298] bprod_equal_one_right, bprod_equal_one_right {
\find(==>equals(bprod{uSub (variable)}(i0,i2,t),Z(1(#))))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add []==>[all{uSub (variable)}(subst{uSub (variable)}(uSub,imp(and(geq(uSub,i0),lt(uSub,i2)),equals(t,Z(1(#))))))]
\heuristics(comprehensions)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[298] |
0s |
passed |
[299] bprod_equal_zero_right, bprod_equal_zero_right {
\find(==>equals(bprod{uSub (variable)}(i0,i2,t),Z(0(#))))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add []==>[exists{uSub (variable)}(subst{uSub (variable)}(uSub,and(and(geq(uSub,i0),lt(uSub,i2)),equals(t,Z(0(#))))))]
\heuristics(comprehensions)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[299] |
0.001s |
passed |
[29] activeUseSubtraction, activeUseSubtraction {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left - #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left - #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[29] |
0.002s |
passed |
[2] abortJavaCardTransactionBox, abortJavaCardTransactionBox {
\find(==>box_transaction\[{ ..
#abortJavaCardTransaction;
... }\] (post))
\replacewith([]==>[update-application(elem-update(heap)(anon(savedHeap,allObjects(java.lang.Object::<transactionConditionallyUpdated>),heap)),box(post))])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[2] |
0.002s |
passed |
[300] bprod_find, bprod_find {
\find(bprod{uSub (variable)}(low,high,t))
\varcond(\notFreeIn(uSub (variable), high (int term)), \notFreeIn(uSub (variable), middle (int term)), \notFreeIn(uSub (variable), low (int term)))
\replacewith(if-then-else(and(leq(low,middle),leq(middle,high)),mul(bprod{uSub (variable)}(low,middle,t),bprod{uSub (variable)}(middle,high,t)),bprod{uSub (variable)}(low,high,t)))
\heuristics(triggered, comprehension_split)
Choices: integerSimplificationRules:full
\trigger{middle (int term)} bprod{uSub (v… |
testEquality(String, String)[300] |
0.001s |
passed |
[301] bprod_induction_lower, bprod_induction_lower {
\find(bprod{uSub (variable)}(i0,i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(mul(bprod{uSub (variable)}(add(i0,Z(1(#))),i2,t),if-then-else(lt(i0,i2),subst{uSub (variable)}(i0,t),Z(1(#)))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[301] |
0.001s |
passed |
[302] bprod_induction_lower_concrete, bprod_induction_lower_concrete {
\find(bprod{uSub (variable)}(add(Z(neglit(1(#))),i0),i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(mul(bprod{uSub (variable)}(i0,i2,t),if-then-else(lt(add(Z(neglit(1(#))),i0),i2),subst{uSub (variable)}(add(Z(neglit(1(#))),i0),t),Z(1(#)))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[302] |
0.001s |
passed |
[303] bprod_induction_upper, bprod_induction_upper {
\find(bprod{uSub (variable)}(i0,i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(mul(bprod{uSub (variable)}(i0,sub(i2,Z(1(#))),t),if-then-else(lt(i0,i2),subst{uSub (variable)}(sub(i2,Z(1(#))),t),Z(1(#)))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[303] |
0.001s |
passed |
[304] bprod_induction_upper_concrete, bprod_induction_upper_concrete {
\find(bprod{uSub (variable)}(i0,add(Z(1(#)),i2),t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(mul(bprod{uSub (variable)}(i0,i2,t),if-then-else(leq(i0,i2),subst{uSub (variable)}(i2,t),Z(1(#)))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[304] |
0.001s |
passed |
[305] bprod_invert_index, bprod_invert_index {
\find(bprod{uSub (variable)}(i0,i1,t))
\varcond(\notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(bprod{uSub1 (variable)}(neg(i1),neg(i0),subst{uSub (variable)}(neg(uSub1),t)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[305] |
0.001s |
passed |
[306] bprod_invert_index_concrete, bprod_invert_index_concrete {
\find(bprod{uSub (variable)}(mul(i0,Z(neglit(1(#)))),mul(i1,Z(neglit(1(#)))),t))
\varcond(\notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(bprod{uSub1 (variable)}(i1,i0,subst{uSub (variable)}(neg(uSub1),t)))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[306] |
0.002s |
passed |
[307] bprod_lower_equals_upper, bprod_lower_equals_upper {
\find(bprod{uSub (variable)}(i0,i0,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i0 (int term)))
\replacewith(Z(1(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[307] |
0.001s |
passed |
[308] bprod_one, bprod_one {
\find(bprod{uSub (variable)}(i0,i1,Z(1(#))))
\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(Z(1(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[308] |
0.001s |
passed |
[309] bprod_one_factor, bprod_one_factor {
\find(bprod{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(if-then-else(equals(add(i0,Z(1(#))),i1),subst{uSub (variable)}(i0,t),bprod{uSub (variable)}(i0,i1,t)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[309] |
0.002s |
passed |
[30] activeUseUnaryMinus, activeUseUnaryMinus {
\find(#allmodal ( (modal operator))\[{ ..
#sv = -#left;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = -#left;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[30] |
0.001s |
passed |
[310] bprod_one_factor_concrete1, bprod_one_factor_concrete1 {
\find(bprod{uSub (variable)}(i0,add(Z(1(#)),i0),t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i0 (int term)))
\replacewith(subst{uSub (variable)}(i0,t))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[310] |
0.001s |
passed |
[311] bprod_one_factor_concrete2, bprod_one_factor_concrete2 {
\find(bprod{uSub (variable)}(add(Z(neglit(1(#))),i0),i0,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i0 (int term)))
\replacewith(subst{uSub (variable)}(add(Z(neglit(1(#))),i0),t))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[311] |
0.001s |
passed |
[312] bprod_shift_index, bprod_shift_index {
\find(bprod{uSub (variable)}(i0,i1,t))
\varcond(\notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(bprod{uSub1 (variable)}(Z(0(#)),sub(i1,i0),subst{uSub (variable)}(add(uSub1,i0),t)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[312] |
0.001s |
passed |
[313] bprod_split, bprod_split {
\find(bprod{uSub (variable)}(i0,i1,t1))
\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(if-then-else(and(leq(i0,middle),leq(middle,i1)),mul(bprod{uSub (variable)}(i0,middle,t1),bprod{uSub (variable)}(middle,i1,t1)),bprod{uSub (variable)}(i0,i1,t1)))
Choices: (integerSimplificationRules:full & sequences:on)}
|
testEquality(String, String)[313] |
0.001s |
passed |
[314] bprod_zero, bprod_zero {
\find(bprod{uSub (variable)}(i0,i1,Z(0(#))))
\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(if-then-else(lt(i0,i1),Z(0(#)),Z(1(#))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[314] |
0s |
passed |
[315] break, break {
\find(#allmodal ( (modal operator))\[{ ..
#lb0:
break;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
do-break(#lb0:
break;)
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[315] |
0.001s |
passed |
[316] bsum_add, bsum_add {
\find(add(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i2,i3,t2)))
\varcond(\notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFree… |
testEquality(String, String)[316] |
0.001s |
passed |
[317] bsum_add_concrete, bsum_add_concrete {
\find(add(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i1,i3,t2)))
\varcond(\notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\replacewith(bsum{uSub1 (variable)}(i0,i3,su… |
testEquality(String, String)[317] |
0.001s |
passed |
[318] bsum_commutative_associative, bsum_commutative_associative {
\find(bsum{uSub (variable)}(i0,i2,add(t,t2)))
\varcond(\notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\replacewith(add(bsum{uSub (variable)}(i0,i2,t),bsum{uSub1 (variable)}(i0,i2,subst{uSub (variable)}(uSub1,t2))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[318] |
0.001s |
passed |
[319] bsum_def, bsum_def {
\find(bsum{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(if-then-else(lt(i0,i1),add(bsum{uSub (variable)}(i0,sub(i1,Z(1(#))),t),subst{uSub (variable)}(sub(i1,Z(1(#))),t)),Z(0(#))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[319] |
0s |
passed |
[31] activeUseUnsignedShiftRight, activeUseUnsignedShiftRight {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left >>> #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left >>> #right;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[31] |
0.001s |
passed |
[320] bsum_distributive, bsum_distributive {
\find(bsum{uSub (variable)}(i0,i2,mul(t,t1)))
\varcond(\notFreeIn(uSub (variable), t1 (int term)), \notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(mul(bsum{uSub (variable)}(i0,i2,t),t1))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[320] |
0.001s |
passed |
[321] bsum_empty, bsum_empty {
\find(bsum{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(Z(0(#))) ;
\add []==>[leq(i1,i0)]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[321] |
0.001s |
passed |
[322] bsum_equal_except_one_index, bsum_equal_except_one_index {
\find(==>equals(bsum{uSub1 (variable)}(i0,i1,t1),add(bsum{uSub2 (variable)}(i0,i1,t2),t)))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), index (int term)), \notFreeIn(uSub1 (variable), index (int term)), \notFreeIn(uSub2 (variable), t (int term)), \notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 … |
testEquality(String, String)[322] |
0s |
passed |
[323] bsum_equal_split1, bsum_equal_split1 {
\find(==>equals(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i0,i2,t2)))
\varcond(\notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\add []==>[and(and(leq(i0,i1),leq(i0,i… |
testEquality(String, String)[323] |
0.001s |
passed |
[324] bsum_equal_split2, bsum_equal_split2 {
\assumes ([equals(bsum{uSub1 (variable)}(i0,i1,t1),i)]==>[])
\find(==>equals(bsum{uSub2 (variable)}(i0,i2,t2),i))
\varcond(\notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\add []… |
testEquality(String, String)[324] |
0.001s |
passed |
[325] bsum_equal_split3, bsum_equal_split3 {
\find(==>equals(bsum{uSub1 (variable)}(i1,i0,t1),bsum{uSub2 (variable)}(i2,i0,t2)))
\varcond(\notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\add []==>[and(and(leq(i1,i0),leq(i2,i… |
testEquality(String, String)[325] |
0s |
passed |
[326] bsum_equal_split4, bsum_equal_split4 {
\assumes ([equals(bsum{uSub1 (variable)}(i1,i0,t1),i)]==>[])
\find(==>equals(bsum{uSub2 (variable)}(i2,i0,t2),i))
\varcond(\notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\add []… |
testEquality(String, String)[326] |
0.001s |
passed |
[327] bsum_induction_lower, bsum_induction_lower {
\find(bsum{uSub (variable)}(i0,i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(add(bsum{uSub (variable)}(add(i0,Z(1(#))),i2,t),if-then-else(lt(i0,i2),subst{uSub (variable)}(i0,t),Z(0(#)))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[327] |
0.001s |
passed |
[328] bsum_induction_lower2, bsum_induction_lower2 {
\find(bsum{uSub (variable)}(i0,i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(sub(bsum{uSub (variable)}(sub(i0,Z(1(#))),i2,t),if-then-else(lt(sub(i0,Z(1(#))),i2),subst{uSub (variable)}(sub(i0,Z(1(#))),t),Z(0(#)))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[328] |
0s |
passed |
[329] bsum_induction_lower2_concrete, bsum_induction_lower2_concrete {
\find(bsum{uSub (variable)}(add(Z(1(#)),i0),i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(sub(bsum{uSub (variable)}(i0,i2,t),if-then-else(lt(i0,i2),subst{uSub (variable)}(i0,t),Z(0(#)))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[329] |
0.001s |
passed |
[32] add_eq, add_eq {
\find(equals(i0,i1))
\replacewith(equals(add(i,i0),add(i,i1)))
Choices: true}
|
testEquality(String, String)[32] |
0.001s |
passed |
[330] bsum_induction_lower_concrete, bsum_induction_lower_concrete {
\find(bsum{uSub (variable)}(add(Z(neglit(1(#))),i0),i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(add(bsum{uSub (variable)}(i0,i2,t),if-then-else(lt(add(Z(neglit(1(#))),i0),i2),subst{uSub (variable)}(add(Z(neglit(1(#))),i0),t),Z(0(#)))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[330] |
0.001s |
passed |
[331] bsum_induction_upper, bsum_induction_upper {
\find(bsum{uSub (variable)}(i0,i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(add(bsum{uSub (variable)}(i0,sub(i2,Z(1(#))),t),if-then-else(lt(i0,i2),subst{uSub (variable)}(sub(i2,Z(1(#))),t),Z(0(#)))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[331] |
0.001s |
passed |
[332] bsum_induction_upper2, bsum_induction_upper2 {
\find(bsum{uSub (variable)}(i0,i2,t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(sub(bsum{uSub (variable)}(i0,add(i2,Z(1(#))),t),if-then-else(lt(i0,add(i2,Z(1(#)))),subst{uSub (variable)}(i2,t),Z(0(#)))))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[332] |
0.001s |
passed |
[333] bsum_induction_upper2_concrete, bsum_induction_upper2_concrete {
\find(bsum{uSub (variable)}(i0,add(Z(neglit(1(#))),i2),t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(sub(bsum{uSub (variable)}(i0,i2,t),if-then-else(lt(i0,i2),subst{uSub (variable)}(sub(i2,Z(1(#))),t),Z(0(#)))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[333] |
0.002s |
passed |
[334] bsum_induction_upper_concrete, bsum_induction_upper_concrete {
\find(bsum{uSub (variable)}(i0,add(Z(1(#)),i2),t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(add(bsum{uSub (variable)}(i0,i2,t),if-then-else(leq(i0,i2),subst{uSub (variable)}(i2,t),Z(0(#)))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[334] |
0.003s |
passed |
[335] bsum_induction_upper_concrete_2, bsum_induction_upper_concrete_2 {
\find(bsum{uSub (variable)}(Z(iz),Z(jz),t))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(add(bsum{uSub (variable)}(Z(iz),sub(Z(jz),Z(1(#))),t),if-then-else(leq(Z(iz),sub(Z(jz),Z(1(#)))),subst{uSub (variable)}(sub(Z(jz),Z(1(#))),t),Z(0(#)))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[335] |
0.001s |
passed |
[336] bsum_invert_index, bsum_invert_index {
\find(bsum{uSub (variable)}(i0,i1,t))
\varcond(\notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(bsum{uSub1 (variable)}(neg(i1),neg(i0),subst{uSub (variable)}(neg(uSub1),t)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[336] |
0.008s |
passed |
[337] bsum_invert_index_concrete, bsum_invert_index_concrete {
\find(bsum{uSub (variable)}(mul(i0,Z(neglit(1(#)))),mul(i1,Z(neglit(1(#)))),t))
\varcond(\notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(bsum{uSub1 (variable)}(i1,i0,subst{uSub (variable)}(neg(uSub1),t)))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[337] |
0.001s |
passed |
[338] bsum_less_same_index, bsum_less_same_index {
\find(==>lt(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i0,i1,t2)))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\add []==>[and(all{uSub1 (variable)}(imp(and(geq(uSub1,i0),lt(uSub1,i1)),leq(t1,subst{uSub2 (variable)}(uSub1,t2)))),exists{uSub1… |
testEquality(String, String)[338] |
0s |
passed |
[339] bsum_lower_bound, bsum_lower_bound {
\find(bsum{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), j (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [imp(all{uSub (variable)}(imp(and(geq(uSub,i0),lt(uSub,i1)),geq(t,j))),geq(bsum{uSub (variable)}(i0,i1,t),if-then-else(gt(sub(i1,i0),Z(0(#))),mul(sub(i1,i0),j),Z(0(#)))))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[339] |
0.001s |
passed |
[33] add_eq_back, add_eq_back {
\find(equals(add(i1,i),add(i1,i0)))
\replacewith(equals(i,i0))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[33] |
0.002s |
passed |
[340] bsum_lower_equals_upper, bsum_lower_equals_upper {
\find(bsum{uSub (variable)}(i0,i0,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i0 (int term)))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[340] |
0.001s |
passed |
[341] bsum_num_of_bounds, bsum_num_of_bounds {
\find(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [leq(Z(0(#)),bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#))))),imp(leq(i0,i2),leq(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))),sub(i2,i0)))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[341] |
0.001s |
passed |
[342] bsum_num_of_bounds2, bsum_num_of_bounds2 {
\find(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [leq(Z(0(#)),bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#))))),imp(leq(i0,i2),leq(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))),sub(i2,i0)))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[342] |
0.001s |
passed |
[343] bsum_num_of_gt0, bsum_num_of_gt0 {
\find(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [imp(gt(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))),Z(0(#))),exists{uSub (variable)}(and(and(leq(i0,uSub),lt(uSub,i2)),phi)))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[343] |
0s |
passed |
[344] bsum_num_of_gt0_alt, bsum_num_of_gt0_alt {
\find(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [imp(gt(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))),Z(0(#))),exists{uSub (variable)}(and(and(leq(i0,uSub),lt(uSub,i2)),not(phi))))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[344] |
0.001s |
passed |
[345] bsum_num_of_is_max, bsum_num_of_is_max {
\find(equals(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))),sub(i2,i0))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [all{uSub (variable)}(imp(and(geq(uSub,i0),lt(uSub,i2)),phi))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[345] |
0.001s |
passed |
[346] bsum_num_of_is_max2, bsum_num_of_is_max2 {
\assumes ([gt(i2,i0)]==>[])
\find(all{uSub (variable)}(imp(and(geq(uSub,i0),lt(uSub,i2)),phi))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [equals(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))),sub(i2,i0))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[346] |
0.001s |
passed |
[347] bsum_num_of_is_max3, bsum_num_of_is_max3 {
\find(equals(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))),sub(i2,i0))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [all{uSub (variable)}(imp(and(geq(uSub,i0),lt(uSub,i2)),not(phi)))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[347] |
0s |
passed |
[348] bsum_num_of_is_max4, bsum_num_of_is_max4 {
\assumes ([gt(i2,i0)]==>[])
\find(all{uSub (variable)}(imp(and(geq(uSub,i0),lt(uSub,i2)),not(phi)))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [equals(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))),sub(i2,i0))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[348] |
0.001s |
passed |
[349] bsum_num_of_lt_max, bsum_num_of_lt_max {
\assumes ([and(gt(i2,i0),geq(i0,Z(0(#))))]==>[])
\find(lt(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))),sub(i2,i0))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [exists{uSub (variable)}(and(and(geq(uSub,i0),lt(uSub,i2)),not(phi)))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[349] |
0.001s |
passed |
[34] add_eq_back_2, add_eq_back_2 {
\find(equals(add(i,i1),add(i0,i1)))
\replacewith(equals(i,i0))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[34] |
0.001s |
passed |
[350] bsum_num_of_lt_max2, bsum_num_of_lt_max2 {
\assumes ([and(gt(i2,i0),geq(i0,Z(0(#))))]==>[])
\find(exists{uSub (variable)}(and(and(geq(uSub,i0),lt(uSub,i2)),not(phi)))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [lt(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(1(#)),Z(0(#)))),sub(i2,i0))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[350] |
0.001s |
passed |
[351] bsum_num_of_lt_max3, bsum_num_of_lt_max3 {
\assumes ([and(gt(i2,i0),geq(i0,Z(0(#))))]==>[])
\find(lt(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))),sub(i2,i0))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [exists{uSub (variable)}(and(and(geq(uSub,i0),lt(uSub,i2)),phi))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[351] |
0.001s |
passed |
[352] bsum_num_of_lt_max4, bsum_num_of_lt_max4 {
\assumes ([and(gt(i2,i0),geq(i0,Z(0(#))))]==>[])
\find(exists{uSub (variable)}(and(and(geq(uSub,i0),lt(uSub,i2)),phi))==>)
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [lt(bsum{uSub (variable)}(i0,i2,if-then-else(phi,Z(0(#)),Z(1(#)))),sub(i2,i0))]==>[]
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[352] |
0.001s |
passed |
[353] bsum_one_summand, bsum_one_summand {
\find(bsum{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(if-then-else(equals(add(i0,Z(1(#))),i1),subst{uSub (variable)}(i0,t),bsum{uSub (variable)}(i0,i1,t)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[353] |
0.001s |
passed |
[354] bsum_one_summand_concrete1, bsum_one_summand_concrete1 {
\find(bsum{uSub (variable)}(i0,add(Z(1(#)),i0),t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i0 (int term)))
\replacewith(subst{uSub (variable)}(i0,t))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[354] |
0.001s |
passed |
[355] bsum_one_summand_concrete2, bsum_one_summand_concrete2 {
\find(bsum{uSub (variable)}(add(Z(neglit(1(#))),i0),i0,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i0 (int term)))
\replacewith(subst{uSub (variable)}(add(Z(neglit(1(#))),i0),t))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[355] |
0.001s |
passed |
[356] bsum_positive, bsum_positive {
\find(==>geq(bsum{uSub (variable)}(i0,i1,t),Z(0(#))))
\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add []==>[all{uSub (variable)}(imp(and(geq(uSub,i0),lt(uSub,i1)),geq(t,Z(0(#)))))]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[356] |
0.001s |
passed |
[357] bsum_positive1, bsum_positive1 {
\find(bsum{uSub (variable)}(i0,i1,if-then-else(b,Z(1(#)),Z(0(#)))))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [geq(bsum{uSub (variable)}(i0,i1,if-then-else(b,Z(1(#)),Z(0(#)))),Z(0(#)))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[357] |
0.001s |
passed |
[358] bsum_positive2, bsum_positive2 {
\find(bsum{uSub (variable)}(i0,i1,if-then-else(b,Z(0(#)),Z(1(#)))))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [geq(bsum{uSub (variable)}(i0,i1,if-then-else(b,Z(0(#)),Z(1(#)))),Z(0(#)))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[358] |
0s |
passed |
[359] bsum_positive_lower_bound_element, bsum_positive_lower_bound_element {
\find(bsum{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), index (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [leq(subst{uSub (variable)}(index,t),bsum{uSub (variable)}(i0,i1,t))]==>[] ;
\add []==>[and(and(all{uSub (variable)}(imp(and(and(geq(uSub,i0),lt(uSub,i1)),not(equals(uSub,index))),geq(t,Z(0(#))))),leq(i0,index)),lt(index,i1))]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[359] |
0.001s |
passed |
[35] add_eq_back_2_fst_comm, add_eq_back_2_fst_comm {
\find(equals(add(i1,i),add(i0,i1)))
\replacewith(equals(i,i0))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[35] |
0.001s |
passed |
[360] bsum_same_summand, bsum_same_summand {
\find(bsum{uSub (variable)}(i0,i1,t))
\varcond(\notFreeIn(uSub (variable), t (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(if-then-else(geq(i1,i0),mul(t,sub(i1,i0)),Z(0(#))))
\heuristics(simplify)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[360] |
0.001s |
passed |
[361] bsum_shift_index, bsum_shift_index {
\find(bsum{uSub (variable)}(i0,i1,t))
\varcond(\notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(bsum{uSub1 (variable)}(Z(0(#)),sub(i1,i0),subst{uSub (variable)}(add(uSub1,i0),t)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[361] |
0.001s |
passed |
[362] bsum_split, bsum_split {
\find(bsum{uSub (variable)}(low,high,t))
\varcond(\notFreeIn(uSub (variable), high (int term)), \notFreeIn(uSub (variable), middle (int term)), \notFreeIn(uSub (variable), low (int term)))
\replacewith(if-then-else(and(leq(low,middle),leq(middle,high)),add(bsum{uSub (variable)}(low,middle,t),bsum{uSub (variable)}(middle,high,t)),bsum{uSub (variable)}(low,high,t)))
\heuristics(triggered, comprehension_split)
Choices: integerSimplificationRules:full
\trigger{middle (int term)} bsum{uSub (variab… |
testEquality(String, String)[362] |
0s |
passed |
[363] bsum_split_in_three, bsum_split_in_three {
\find(bsum{uSub (variable)}(i0,i2,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), t (int term)), \notFreeIn(uSub (variable), i1 (int term)))
\replacewith(add(add(bsum{uSub (variable)}(i0,i1,t),subst{uSub (variable)}(i1,t)),bsum{uSub1 (variable)}(add(i1,Z(1(#))),i2,subst{uSub (variable)}(uSub1,t)))) ;
\add []==>[and(leq(i0,i1),lt(i1,i2))]
Choi… |
testEquality(String, String)[363] |
0.001s |
passed |
[364] bsum_sub_same_index, bsum_sub_same_index {
\find(sub(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i0,i1,t2)))
\sameUpdateLevel\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)))
\add [equals(bsum{uSub1 (variable)}(i0,i1,sub(t1,subst{uSub2 (variable)}(uSub1,t2))),sub(bsum{uSub1 (variable)}(i0,i… |
testEquality(String, String)[364] |
0.001s |
passed |
[365] bsum_upper_bound, bsum_upper_bound {
\find(bsum{uSub (variable)}(i0,i1,t))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), j (int term)), \notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add [imp(all{uSub (variable)}(imp(and(geq(uSub,i0),lt(uSub,i1)),leq(t,j))),leq(bsum{uSub (variable)}(i0,i1,t),if-then-else(gt(sub(i1,i0),Z(0(#))),mul(sub(i1,i0),j),Z(0(#)))))]==>[]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[365] |
0.002s |
passed |
[366] bsum_zero, bsum_zero {
\find(bsum{uSub (variable)}(i0,i1,Z(0(#))))
\varcond(\notFreeIn(uSub (variable), i1 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\replacewith(Z(0(#)))
\heuristics(concrete)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[366] |
0.001s |
passed |
[367] bsum_zero_right, bsum_zero_right {
\find(==>equals(bsum{uSub (variable)}(i0,i2,t),Z(0(#))))
\varcond(\notFreeIn(uSub (variable), i2 (int term)), \notFreeIn(uSub (variable), i0 (int term)))
\add []==>[all{uSub (variable)}(subst{uSub (variable)}(uSub,imp(and(geq(uSub,i0),lt(uSub,i2)),equals(t,Z(0(#))))))]
\heuristics(comprehensions)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[367] |
0s |
passed |
[368] cancel_equation, cancel_equation {
\find(equals(mul(eqLeft,Fac),mul(eqRight,Fac)))
\add []==>[not(equals(Fac,Z(0(#))))] ;
\replacewith(equals(eqLeft,eqRight))
\heuristics(simplify_enlarging)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[368] |
0.001s |
passed |
[369] cancel_gtNeg, cancel_gtNeg {
\assumes ([lt(Fac,Z(0(#)))]==>[])
\find(lt(Less,More)==>)
\add [gt(mul(Less,Fac),mul(More,Fac))]==>[]
Choices: true}
|
testEquality(String, String)[369] |
0.001s |
passed |
[36] add_eq_back_3, add_eq_back_3 {
\find(equals(i1,add(i1,i0)))
\replacewith(equals(Z(0(#)),i0))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[36] |
0.001s |
passed |
[370] cancel_gtPos, cancel_gtPos {
\assumes ([gt(Fac,Z(0(#)))]==>[])
\find(lt(Less,More)==>)
\add [lt(mul(Less,Fac),mul(More,Fac))]==>[]
Choices: true}
|
testEquality(String, String)[370] |
0.001s |
passed |
[371] case_distinction_l, case_distinction_l {
\find(b==>)
\addrules [to_false {
\find(b==>)
\replacewith([false]==>[])
\heuristics(simplify)
Choices: true}] ;
\addrules [to_true {
\find(b==>)
\replacewith([true]==>[])
\heuristics(simplify)
Choices: true}]
Choices: true}
|
testEquality(String, String)[371] |
0s |
passed |
[372] case_distinction_r, case_distinction_r {
\find(==>b)
\addrules [to_false {
\find(==>b)
\replacewith([]==>[false])
\heuristics(simplify)
Choices: true}] ;
\addrules [to_true {
\find(==>b)
\replacewith([]==>[true])
\heuristics(simplify)
Choices: true}]
Choices: true}
|
testEquality(String, String)[372] |
0.001s |
passed |
[373] castAdd, castAdd {
\assumes ([equals(CSub::instance(strictCTerm2),TRUE)]==>[])
\find(strictCTerm2)
\sameUpdateLevel\replacewith(CSub::cast(strictCTerm2))
Choices: true}
|
testEquality(String, String)[373] |
0.002s |
passed |
[374] castAdd2, castAdd2 {
\assumes ([equals(cs,gt)]==>[])
\find(gt)
\sameUpdateLevel\varcond(\strict\sub(C, G), )
\replacewith(C::cast(gt))
Choices: true}
|
testEquality(String, String)[374] |
0.002s |
passed |
[375] castDel, castDel {
\find(C::cast(castedTerm))
\replacewith(castedTerm)
\heuristics(cast_deletion, simplify)
Choices: true}
|
testEquality(String, String)[375] |
0.001s |
passed |
[376] castDel2, castDel2 {
\assumes ([equals(cs,gt)]==>[])
\find(C::cast(gt))
\sameUpdateLevel\replacewith(cs)
Choices: true}
|
testEquality(String, String)[376] |
0.001s |
passed |
[377] castLongToFloatAddition2, castLongToFloatAddition2 {
\find(#normalassign ( (modal operator))\[{ ..
#loc = #seFloat + #seLong;
... }\] (post))
\replacewith(update-application(elem-update(#loc (program Variable))(javaAddFloat(#seFloat,float::cast(#seLong))),#normalassign(post)))
\heuristics(executeFloatAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[377] |
0.001s |
passed |
[378] castToBoolean, castToBoolean {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (boolean) #exBool;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #exBool;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[378] |
0.001s |
passed |
[379] castTrueImpliesOriginalTrue, castTrueImpliesOriginalTrue {
\assumes ([equals(boolean::select(h,o,f),TRUE)]==>[])
\find(==>equals(any::select(h,o,f),TRUE))
\replacewith([]==>[true])
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[379] |
0.001s |
passed |
[37] add_equations, add_equations {
\assumes ([equals(i,i0)]==>[])
\find(equals(j,j0)==>)
\add [equals(add(i,j),add(i0,j0))]==>[]
Choices: true}
|
testEquality(String, String)[37] |
0.002s |
passed |
[380] castType, castType {
\assumes ([equals(H::instance(C::cast(s)),TRUE)]==>[])
\find(equals(CSub::instance(s),TRUE)==>)
\replacewith([equals(H::instance(s),TRUE)]==>[])
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[380] |
0.001s |
passed |
[381] castType2, castType2 {
\assumes ([]==>[equals(H::instance(C::cast(s)),TRUE)])
\find(equals(CSub::instance(s),TRUE)==>)
\replacewith([]==>[equals(H::instance(s),TRUE)])
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[381] |
0.001s |
passed |
[382] castedGetAny, castedGetAny {
\find(beta::cast(any::seqGet(seq,idx)))
\replacewith(beta::seqGet(seq,idx))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[382] |
0.001s |
passed |
[383] charLiteral_to_int, charLiteral_to_int {
\find(C(iz))
\replacewith(Z(iz))
\heuristics(charLiteral_to_intLiteral)
Choices: true}
|
testEquality(String, String)[383] |
0.001s |
passed |
[384] close, close {
\assumes ([b]==>[])
\find(==>b)
\closegoal\heuristics(closure)
Choices: true}
|
testEquality(String, String)[384] |
0s |
passed |
[385] closeAntec, closeAntec {
\assumes ([]==>[b])
\find(b==>)
\closegoal
Choices: true}
|
testEquality(String, String)[385] |
0.001s |
passed |
[386] closeFalse, closeFalse {
\find(false==>)
\closegoal\heuristics(closure)
Choices: true}
|
testEquality(String, String)[386] |
0.001s |
passed |
[387] closeTrue, closeTrue {
\find(==>true)
\closegoal\heuristics(closure)
Choices: true}
|
testEquality(String, String)[387] |
0.001s |
passed |
[388] closeType, closeType {
\assumes ([]==>[equals(G::instance(t1),TRUE)])
\find(equals(GSub::instance(t1),TRUE)==>)
\closegoal\heuristics(closure)
Choices: true}
|
testEquality(String, String)[388] |
0s |
passed |
[389] closeTypeSwitched, closeTypeSwitched {
\assumes ([equals(GSub::instance(t1),TRUE)]==>[])
\find(==>equals(G::instance(t1),TRUE))
\closegoal\heuristics(closure)
Choices: true}
|
testEquality(String, String)[389] |
0s |
passed |
[38] add_equations_right, add_equations_right {
\assumes ([equals(i,i0)]==>[])
\find(==>equals(j,j0))
\add []==>[equals(add(i,j),add(i0,j0))]
Choices: true}
|
testEquality(String, String)[38] |
0.001s |
passed |
[390] close_by_lt_leq, close_by_lt_leq {
\assumes ([lt(i,j)]==>[])
\find(==>leq(add(i,Z(1(#))),j))
\replacewith([]==>[true])
Choices: true}
|
testEquality(String, String)[390] |
0.001s |
passed |
[391] cnf_eqv, cnf_eqv {
\find(equiv(phi,psi))
\replacewith(and(or(phi,not(psi)),or(not(phi),psi)))
\heuristics(notHumanReadable, cnf_expandIfThenElse, conjNormalForm)
Choices: true}
|
testEquality(String, String)[391] |
0.001s |
passed |
[392] cnf_rightDist, cnf_rightDist {
\find(or(distLeft,and(distRight0,distRight1)))
\replacewith(and(or(distLeft,distRight0),or(distRight1,distLeft)))
\heuristics(cnf_dist, conjNormalForm)
Choices: true}
|
testEquality(String, String)[392] |
0.001s |
passed |
[393] collect_same_terms_1, collect_same_terms_1 {
\find(add(mul(i,j),mul(i,j)))
\replacewith(mul(Z(2(#)),mul(i,j)))
Choices: true}
|
testEquality(String, String)[393] |
0.001s |
passed |
[394] collect_same_terms_2, collect_same_terms_2 {
\find(add(add(mul(i,j),mul(i0,i1)),add(mul(i,j),mul(j0,j1))))
\replacewith(add(mul(Z(2(#)),mul(i,j)),add(mul(i0,i1),mul(j0,j1))))
Choices: true}
|
testEquality(String, String)[394] |
0s |
passed |
[395] collect_same_terms_3, collect_same_terms_3 {
\find(add(add(neg(mul(i,j)),mul(i0,i1)),add(neg(mul(i,j)),mul(j0,j1))))
\replacewith(add(neg(mul(Z(2(#)),mul(i,j))),add(mul(i0,i1),mul(j0,j1))))
Choices: true}
|
testEquality(String, String)[395] |
0.001s |
passed |
[396] commitJavaCardTransactionAPI, commitJavaCardTransactionAPI {
\find(==>#allmodal ( (modal operator))\[{ ..
#jcsystemType.#commitTransaction()@#jcsystemType;
... }\] (post))
\replacewith([]==>[#allmodal ( (modal operator))\[{ ..
#commitJavaCardTransaction;
... }\] (post)])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[396] |
0.003s |
passed |
[397] commitJavaCardTransactionBox, commitJavaCardTransactionBox {
\find(==>box_transaction\[{ ..
#commitJavaCardTransaction;
... }\] (post))
\replacewith([]==>[box(post)])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[397] |
0s |
passed |
[398] commitJavaCardTransactionDiamond, commitJavaCardTransactionDiamond {
\find(==>diamond_transaction\[{ ..
#commitJavaCardTransaction;
... }\] (post))
\replacewith([]==>[diamond(post)])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[398] |
0.001s |
passed |
[399] commuteDisjoint, commuteDisjoint {
\find(disjoint(commLeft,commRight))
\replacewith(disjoint(commRight,commLeft))
\heuristics(cnf_setComm)
Choices: programRules:Java}
|
testEquality(String, String)[399] |
0.001s |
passed |
[39] add_greater, add_greater {
\find(gt(i,i0))
\replacewith(gt(add(i1,i),add(i1,i0)))
Choices: true}
|
testEquality(String, String)[39] |
0.001s |
passed |
[3] abortJavaCardTransactionDiamond, abortJavaCardTransactionDiamond {
\find(==>diamond_transaction\[{ ..
#abortJavaCardTransaction;
... }\] (post))
\replacewith([]==>[update-application(elem-update(heap)(anon(savedHeap,allObjects(java.lang.Object::<transactionConditionallyUpdated>),heap)),diamond(post))])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[3] |
0.001s |
passed |
[400] commuteIntersection, commuteIntersection {
\find(intersect(commLeft,commRight))
\replacewith(intersect(commRight,commLeft))
\heuristics(cnf_setComm)
Choices: programRules:Java}
|
testEquality(String, String)[400] |
0.012s |
passed |
[401] commuteIntersection_2, commuteIntersection_2 {
\find(intersect(intersect(s,commLeft),commRight))
\replacewith(intersect(intersect(s,commRight),commLeft))
\heuristics(cnf_setComm)
Choices: programRules:Java}
|
testEquality(String, String)[401] |
0.001s |
passed |
[402] commuteUnion, commuteUnion {
\find(union(commLeft,commRight))
\replacewith(union(commRight,commLeft))
\heuristics(cnf_setComm)
Choices: programRules:Java}
|
testEquality(String, String)[402] |
0.001s |
passed |
[403] commuteUnion_2, commuteUnion_2 {
\find(union(union(s,commLeft),commRight))
\replacewith(union(union(s,commRight),commLeft))
\heuristics(cnf_setComm)
Choices: programRules:Java}
|
testEquality(String, String)[403] |
0.001s |
passed |
[404] commute_and, commute_and {
\find(and(commLeft,commRight))
\replacewith(and(commRight,commLeft))
\heuristics(cnf_andComm, conjNormalForm)
Choices: true}
|
testEquality(String, String)[404] |
0s |
passed |
[405] commute_and_2, commute_and_2 {
\find(and(and(commResidue,commLeft),commRight))
\replacewith(and(and(commResidue,commRight),commLeft))
\heuristics(cnf_andComm, conjNormalForm)
Choices: true}
|
testEquality(String, String)[405] |
0.001s |
passed |
[406] commute_or, commute_or {
\find(or(commLeft,commRight))
\replacewith(or(commRight,commLeft))
\heuristics(cnf_orComm, conjNormalForm)
Choices: true}
|
testEquality(String, String)[406] |
0.001s |
passed |
[407] commute_or_2, commute_or_2 {
\find(or(or(commResidue,commLeft),commRight))
\replacewith(or(or(commResidue,commRight),commLeft))
\heuristics(cnf_orComm, conjNormalForm)
Choices: true}
|
testEquality(String, String)[407] |
0.001s |
passed |
[408] compound_addition_1, compound_addition_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse + #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v + #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[408] |
0.001s |
passed |
[409] compound_addition_2, compound_addition_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e + #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 + #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[409] |
0.001s |
passed |
[40] add_greatereq, add_greatereq {
\find(geq(i,i0))
\replacewith(geq(add(i1,i),add(i1,i0)))
Choices: true}
|
testEquality(String, String)[40] |
0.001s |
passed |
[410] compound_assignment_1_new, compound_assignment_1_new {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = !#seBool;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#seBool,TRUE),FALSE,TRUE)),#allmodal(post)))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[410] |
0s |
passed |
[411] compound_assignment_2, compound_assignment_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = !#nseBool;
... }\] (post))
\varcond(\new(#v (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #v = #nseBool;
#lhs = !#v;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[411] |
0.001s |
passed |
[412] compound_assignment_3_mixed, compound_assignment_3_mixed {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nseBool0 && #seBool1;
... }\] (post))
\varcond(\new(#v0 (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #v0 = #nseBool0;
#lhs = #v0 && #seBool1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[412] |
0s |
passed |
[413] compound_assignment_3_nonsimple, compound_assignment_3_nonsimple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #exBool0 && #nseBool1;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (!#exBool0) #lhs = false;
else #lhs = #nseBool1;
... }\] (post))
\heuristics(split_if, simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[413] |
0.001s |
passed |
[414] compound_assignment_3_simple, compound_assignment_3_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seBool0 && #seBool1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#seBool0,TRUE),if-then-else(equals(#seBool1,TRUE),TRUE,FALSE),FALSE)),#allmodal(post)))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[414] |
0.001s |
passed |
[415] compound_assignment_4_nonsimple, compound_assignment_4_nonsimple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nseBool0 & #exBool1;
... }\] (post))
\varcond(\new(#v1 (program Variable), (type, sort): (boolean,boolean)), \new(#v0 (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #v0 = #nseBool0;
boolean #v1 = #exBool1;
#lhs = #v0 & #v1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[415] |
0s |
passed |
[416] compound_assignment_4_simple, compound_assignment_4_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seBool0 & #seBool1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#seBool0,TRUE),if-then-else(equals(#seBool1,TRUE),TRUE,FALSE),FALSE)),#allmodal(post)))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[416] |
0.001s |
passed |
[417] compound_assignment_5_mixed, compound_assignment_5_mixed {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nseBool0 || #seBool1;
... }\] (post))
\varcond(\new(#v0 (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #v0 = #nseBool0;
#lhs = #v0 || #seBool1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[417] |
0s |
passed |
[418] compound_assignment_5_nonsimple, compound_assignment_5_nonsimple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #exBool0 || #nseBool1;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#exBool0) #lhs = true;
else #lhs = #nseBool1;
... }\] (post))
\heuristics(split_if, simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[418] |
0.001s |
passed |
[419] compound_assignment_5_simple, compound_assignment_5_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seBool0 || #seBool1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#seBool0,TRUE),TRUE,if-then-else(equals(#seBool1,TRUE),TRUE,FALSE))),#allmodal(post)))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[419] |
0.001s |
passed |
[41] add_less, add_less {
\find(lt(i,i0))
\replacewith(lt(add(i1,i),add(i1,i0)))
Choices: true}
|
testEquality(String, String)[41] |
0.001s |
passed |
[420] compound_assignment_6_nonsimple, compound_assignment_6_nonsimple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nseBool0 | #exBool1;
... }\] (post))
\varcond(\new(#v1 (program Variable), (type, sort): (boolean,boolean)), \new(#v0 (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #v0 = #nseBool0;
boolean #v1 = #exBool1;
#lhs = #v0 | #v1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[420] |
0.001s |
passed |
[421] compound_assignment_6_simple, compound_assignment_6_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seBool0 | #seBool1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#seBool0,TRUE),TRUE,if-then-else(equals(#seBool1,TRUE),TRUE,FALSE))),#allmodal(post)))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[421] |
0.001s |
passed |
[422] compound_assignment_op_and, compound_assignment_op_and {
\find(#allmodal ( (modal operator))\[{ ..
#lhs &= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs & (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[422] |
0s |
passed |
[423] compound_assignment_op_and_array, compound_assignment_op_and_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] &= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] & #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[423] |
0.001s |
passed |
[424] compound_assignment_op_and_attr, compound_assignment_op_and_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute &= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute &
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[424] |
0.001s |
passed |
[425] compound_assignment_op_div, compound_assignment_op_div {
\find(#allmodal ( (modal operator))\[{ ..
#lhs /= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs / (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[425] |
0s |
passed |
[426] compound_assignment_op_div_array, compound_assignment_op_div_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] /= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] / #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[426] |
0.001s |
passed |
[427] compound_assignment_op_div_attr, compound_assignment_op_div_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute /= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute /
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[427] |
0.001s |
passed |
[428] compound_assignment_op_minus, compound_assignment_op_minus {
\find(#allmodal ( (modal operator))\[{ ..
#lhs -= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs - (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[428] |
0.001s |
passed |
[429] compound_assignment_op_minus_array, compound_assignment_op_minus_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] -= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] - #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[429] |
0.001s |
passed |
[42] add_less_back, add_less_back {
\find(lt(add(i1,i),add(i1,i0)))
\replacewith(lt(i,i0))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[42] |
0.001s |
passed |
[430] compound_assignment_op_minus_attr, compound_assignment_op_minus_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute -= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute -
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[430] |
0.001s |
passed |
[431] compound_assignment_op_mod, compound_assignment_op_mod {
\find(#allmodal ( (modal operator))\[{ ..
#lhs %= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs % (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[431] |
0.001s |
passed |
[432] compound_assignment_op_mod_array, compound_assignment_op_mod_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] %= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] % #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[432] |
0s |
passed |
[433] compound_assignment_op_mod_attr, compound_assignment_op_mod_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute %= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute %
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[433] |
0.001s |
passed |
[434] compound_assignment_op_mul, compound_assignment_op_mul {
\find(#allmodal ( (modal operator))\[{ ..
#lhs *= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs * (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[434] |
0.001s |
passed |
[435] compound_assignment_op_mul_array, compound_assignment_op_mul_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] *= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] * #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[435] |
0.001s |
passed |
[436] compound_assignment_op_mul_attr, compound_assignment_op_mul_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute *= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute *
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[436] |
0.002s |
passed |
[437] compound_assignment_op_or, compound_assignment_op_or {
\find(#allmodal ( (modal operator))\[{ ..
#lhs |= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs | (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[437] |
0.001s |
passed |
[438] compound_assignment_op_or_array, compound_assignment_op_or_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] |= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] | #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[438] |
0.001s |
passed |
[439] compound_assignment_op_or_attr, compound_assignment_op_or_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute |= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute |
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[439] |
0.001s |
passed |
[43] add_less_back_zero_1, add_less_back_zero_1 {
\find(lt(i,add(i,i1)))
\replacewith(lt(Z(0(#)),i1))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[43] |
0.001s |
passed |
[440] compound_assignment_op_plus, compound_assignment_op_plus {
\find(#allmodal ( (modal operator))\[{ ..
#lhs += #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs + (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[440] |
0.001s |
passed |
[441] compound_assignment_op_plus_array, compound_assignment_op_plus_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] += #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] + #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[441] |
0.002s |
passed |
[442] compound_assignment_op_plus_attr, compound_assignment_op_plus_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute += #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute +
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[442] |
0.001s |
passed |
[443] compound_assignment_op_shiftleft, compound_assignment_op_shiftleft {
\find(#allmodal ( (modal operator))\[{ ..
#lhs <<= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs << (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[443] |
0s |
passed |
[444] compound_assignment_op_shiftleft_array, compound_assignment_op_shiftleft_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] <<= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] << #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[444] |
0.001s |
passed |
[445] compound_assignment_op_shiftleft_attr, compound_assignment_op_shiftleft_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute <<= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute <<
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[445] |
0.001s |
passed |
[446] compound_assignment_op_shiftright, compound_assignment_op_shiftright {
\find(#allmodal ( (modal operator))\[{ ..
#lhs >>= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs >> (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[446] |
0.001s |
passed |
[447] compound_assignment_op_shiftright_array, compound_assignment_op_shiftright_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] >>= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] >> #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[447] |
0s |
passed |
[448] compound_assignment_op_shiftright_attr, compound_assignment_op_shiftright_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute >>= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute >>
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[448] |
0.001s |
passed |
[449] compound_assignment_op_unsigned_shiftright, compound_assignment_op_unsigned_shiftright {
\find(#allmodal ( (modal operator))\[{ ..
#lhs >>>= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs >>> (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[449] |
0.001s |
passed |
[44] add_less_back_zero_1_comm, add_less_back_zero_1_comm {
\find(lt(i,add(i1,i)))
\replacewith(lt(Z(0(#)),i1))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[44] |
0.001s |
passed |
[450] compound_assignment_op_unsigned_shiftright_array, compound_assignment_op_unsigned_shiftright_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] >>>= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] >>> #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[450] |
0.002s |
passed |
[451] compound_assignment_op_unsigned_shiftright_attr, compound_assignment_op_unsigned_shiftright_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute >>>= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute >>>
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[451] |
0.002s |
passed |
[452] compound_assignment_op_xor, compound_assignment_op_xor {
\find(#allmodal ( (modal operator))\[{ ..
#lhs ^= #e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = (#typeof(#lhs)) (#lhs ^ (#e));
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[452] |
0.001s |
passed |
[453] compound_assignment_op_xor_array, compound_assignment_op_xor_array {
\find(#allmodal ( (modal operator))\[{ ..
#e0[#e] ^= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] ^ #e1);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[453] |
0s |
passed |
[454] compound_assignment_op_xor_attr, compound_assignment_op_xor_attr {
\find(#allmodal ( (modal operator))\[{ ..
#e0.#attribute ^= #e;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v = #e0;
#v.#attribute = (#typeof(#attribute)) (#v.#attribute ^
#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[454] |
0.001s |
passed |
[455] compound_assignment_xor_nonsimple, compound_assignment_xor_nonsimple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nseBool0 ^ #exBool1;
... }\] (post))
\varcond(\new(#v1 (program Variable), (type, sort): (boolean,boolean)), \new(#v0 (program Variable), (type, sort): (boolean,boolean)))
\replacewith(#allmodal ( (modal operator))\[{ ..
boolean #v0 = #nseBool0;
boolean #v1 = #exBool1;
#lhs = #v0 ^ #v1;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[455] |
0.001s |
passed |
[456] compound_assignment_xor_simple, compound_assignment_xor_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seBool0 ^ #seBool1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#seBool0,#seBool1),FALSE,TRUE)),#allmodal(post)))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[456] |
0.001s |
passed |
[457] compound_binary_AND_1, compound_binary_AND_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse & #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v & #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[457] |
0s |
passed |
[458] compound_binary_AND_2, compound_binary_AND_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e & #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 & #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[458] |
0.001s |
passed |
[459] compound_binary_OR_1, compound_binary_OR_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse | #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v | #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[459] |
0.001s |
passed |
[45] add_less_back_zero_2, add_less_back_zero_2 {
\find(lt(add(i,i1),i))
\replacewith(lt(i1,Z(0(#))))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[45] |
0s |
passed |
[460] compound_binary_OR_2, compound_binary_OR_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e | #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 | #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[460] |
0.004s |
passed |
[461] compound_binary_XOR_1, compound_binary_XOR_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse ^ #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v ^ #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[461] |
0.001s |
passed |
[462] compound_binary_XOR_2, compound_binary_XOR_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e ^ #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 ^ #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[462] |
0.001s |
passed |
[463] compound_binary_neg, compound_binary_neg {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = ~#nse;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0 = #nse;
#lhs = ~#v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[463] |
0.002s |
passed |
[464] compound_byte_cast_expression, compound_byte_cast_expression {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (byte) #nse;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = (byte) #v;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[464] |
0.001s |
passed |
[465] compound_division_1, compound_division_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse / #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v / #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[465] |
0.001s |
passed |
[466] compound_division_2, compound_division_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e / #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 / #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[466] |
0.001s |
passed |
[467] compound_double_cast_expression, compound_double_cast_expression {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (double) #nse;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#normalassign ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#loc = (double) #v;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[467] |
0.001s |
passed |
[468] compound_equality_comparison_1, compound_equality_comparison_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse0 == #se;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse0 (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse0) #v0 = #nse0;
#lhs = #v0 == #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[468] |
0.001s |
passed |
[469] compound_equality_comparison_2, compound_equality_comparison_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e == #nse0;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse0 (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse0) #v1 = #nse0;
#lhs = #v0 == #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[469] |
0.001s |
passed |
[46] add_less_back_zero_2_comm, add_less_back_zero_2_comm {
\find(lt(add(i1,i),i))
\replacewith(lt(i1,Z(0(#))))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[46] |
0.001s |
passed |
[470] compound_float_cast_expression, compound_float_cast_expression {
\find(#normalassign ( (modal operator))\[{ ..
#loc = (float) #nse;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#normalassign ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#loc = (float) #v;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[470] |
0.001s |
passed |
[471] compound_greater_equal_than_comparison_1, compound_greater_equal_than_comparison_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse0 >= #se;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse0 (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse0) #v0 = #nse0;
#lhs = #v0 >= #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[471] |
0.001s |
passed |
[472] compound_greater_equal_than_comparison_2, compound_greater_equal_than_comparison_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e >= #nse0;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse0 (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse0) #v1 = #nse0;
#lhs = #v0 >= #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[472] |
0.001s |
passed |
[473] compound_greater_than_comparison_1, compound_greater_than_comparison_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse0 > #se;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse0 (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse0) #v0 = #nse0;
#lhs = #v0 > #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[473] |
0.001s |
passed |
[474] compound_greater_than_comparison_2, compound_greater_than_comparison_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e > #nse0;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse0 (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse0) #v1 = #nse0;
#lhs = #v0 > #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[474] |
0.002s |
passed |
[475] compound_inequality_comparison_1, compound_inequality_comparison_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse0 != #se;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse0 (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse0) #v0 = #nse0;
#lhs = #v0 != #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[475] |
0.001s |
passed |
[476] compound_inequality_comparison_2, compound_inequality_comparison_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e != #nse0;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse0 (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse0) #v1 = #nse0;
#lhs = #v0 != #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[476] |
0.001s |
passed |
[477] compound_int_cast_expression, compound_int_cast_expression {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (int) #nse;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = (int) #v;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[477] |
0s |
passed |
[478] compound_invert_bits, compound_invert_bits {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = ~#nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v1 = #nse;
#lhs = ~#v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[478] |
0.001s |
passed |
[479] compound_less_equal_than_comparison_1, compound_less_equal_than_comparison_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse0 <= #se;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse0 (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse0) #v0 = #nse0;
#lhs = #v0 <= #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[479] |
0.003s |
passed |
[47] add_lesseq, add_lesseq {
\find(leq(i,i0))
\replacewith(leq(add(i1,i),add(i1,i0)))
Choices: true}
|
testEquality(String, String)[47] |
0.001s |
passed |
[480] compound_less_equal_than_comparison_2, compound_less_equal_than_comparison_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e <= #nse0;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse0 (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse0) #v1 = #nse0;
#lhs = #v0 <= #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[480] |
0.001s |
passed |
[481] compound_less_than_comparison_1, compound_less_than_comparison_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse0 < #se;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse0 (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse0) #v0 = #nse0;
#lhs = #v0 < #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[481] |
0.002s |
passed |
[482] compound_less_than_comparison_2, compound_less_than_comparison_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e < #nse0;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse0 (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse0) #v1 = #nse0;
#lhs = #v0 < #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[482] |
0.001s |
passed |
[483] compound_long_cast_expression, compound_long_cast_expression {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (long) #nse;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = (long) #v;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[483] |
0.002s |
passed |
[484] compound_modulo_1, compound_modulo_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse % #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v % #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[484] |
0.001s |
passed |
[485] compound_modulo_2, compound_modulo_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e % #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 % #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[485] |
0.001s |
passed |
[486] compound_multiplication_1, compound_multiplication_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse * #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v * #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[486] |
0s |
passed |
[487] compound_multiplication_2, compound_multiplication_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e * #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 * #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[487] |
0s |
passed |
[488] compound_reference_cast_expression, compound_reference_cast_expression {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (#npit) #nse;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = (#npit) #v;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[488] |
0.001s |
passed |
[489] compound_shiftleft_1, compound_shiftleft_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse << #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v << #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[489] |
0.001s |
passed |
[48] add_literals, add_literals {
\find(add(Z(iz),Z(jz)))
\replacewith(#add(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[48] |
0.001s |
passed |
[490] compound_shiftleft_2, compound_shiftleft_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e << #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 << #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[490] |
0.001s |
passed |
[491] compound_shiftright_1, compound_shiftright_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse >> #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v >> #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[491] |
0.001s |
passed |
[492] compound_shiftright_2, compound_shiftright_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e >> #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 >> #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[492] |
0.001s |
passed |
[493] compound_short_cast_expression, compound_short_cast_expression {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (short) #nse;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = (short) #v;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[493] |
0.001s |
passed |
[494] compound_subtraction_1, compound_subtraction_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse - #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v - #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[494] |
0.001s |
passed |
[495] compound_subtraction_2, compound_subtraction_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e - #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 - #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[495] |
0.001s |
passed |
[496] compound_unary_minus_eval, compound_unary_minus_eval {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = -#nse;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0 = #nse;
#lhs = -#v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: programRules:Java}
|
testEquality(String, String)[496] |
0.001s |
passed |
[497] compound_unary_plus_assignment, compound_unary_plus_assignment {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = +#e;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
#lhs = #e;
... }\] (post))
\heuristics(executeIntegerAssignment)
Choices: programRules:Java}
|
testEquality(String, String)[497] |
0.001s |
passed |
[498] compound_unsigned_shiftright_1, compound_unsigned_shiftright_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse >>> #se;
... }\] (post))
\varcond(\new(#v (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v = #nse;
#lhs = #v >>> #se;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[498] |
0.001s |
passed |
[499] compound_unsigned_shiftright_2, compound_unsigned_shiftright_2 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e >>> #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#e (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e) #v0 = #e;
#typeof(#nse) #v1 = #nse;
#lhs = #v0 >>> #v1;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[499] |
0.001s |
passed |
[49] add_non_neg_square, add_non_neg_square {
\add [geq(mul(squareFac,squareFac),Z(0(#)))]==>[]
\heuristics(inEqSimp_nonNegSquares, inEqSimp_special_nonLin)
Choices: true}
|
testEquality(String, String)[49] |
0.001s |
passed |
[4] accDefinition, accDefinition {
\find(acc(h,s,o,o2))
\varcond(\notFreeIn(fv (variable), o2 (deltaObject term)), \notFreeIn(fv (variable), o (java.lang.Object term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(fv (variable), h (Heap term)))
\replacewith(and(and(not(equals(o,null)),not(equals(o2,null))),exists{fv (variable)}(and(elementOf(o,fv,s),equals(deltaObject::select(h,o,fv),o2)))))
\heuristics(simplify)
Choices: reach:on}
|
testEquality(String, String)[4] |
0.002s |
passed |
[500] concatRepeatContraction3, concatRepeatContraction3 {
\find(regExConcat(repeat(rexp,nTimes),regEx(seqEmpty)))
\replacewith(repeat(rexp,nTimes))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[500] |
0.001s |
passed |
[501] concatRepeatContraction3Sym, concatRepeatContraction3Sym {
\find(regExConcat(regEx(seqEmpty),repeat(rexp,nTimes)))
\replacewith(repeat(rexp,nTimes))
\heuristics(concrete)
Choices: Strings:on}
|
testEquality(String, String)[501] |
0.001s |
passed |
[502] concrete_and_1, concrete_and_1 {
\find(and(true,b))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[502] |
0.001s |
passed |
[503] concrete_and_2, concrete_and_2 {
\find(and(false,b))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[503] |
0.001s |
passed |
[504] concrete_and_3, concrete_and_3 {
\find(and(b,true))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[504] |
0.001s |
passed |
[505] concrete_and_4, concrete_and_4 {
\find(and(b,false))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[505] |
0.001s |
passed |
[506] concrete_eq_1, concrete_eq_1 {
\find(equiv(true,b))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[506] |
0s |
passed |
[507] concrete_eq_2, concrete_eq_2 {
\find(equiv(false,b))
\replacewith(not(b))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[507] |
0.001s |
passed |
[508] concrete_eq_3, concrete_eq_3 {
\find(equiv(b,true))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[508] |
0.001s |
passed |
[509] concrete_eq_4, concrete_eq_4 {
\find(equiv(b,false))
\replacewith(not(b))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[509] |
0.001s |
passed |
[50] add_sub_elim_left, add_sub_elim_left {
\find(add(neg(i),i))
\replacewith(Z(0(#)))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[50] |
0.002s |
passed |
[510] concrete_impl_1, concrete_impl_1 {
\find(imp(true,b))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[510] |
0.001s |
passed |
[511] concrete_impl_2, concrete_impl_2 {
\find(imp(false,b))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[511] |
0.001s |
passed |
[512] concrete_impl_3, concrete_impl_3 {
\find(imp(b,false))
\replacewith(not(b))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[512] |
0s |
passed |
[513] concrete_impl_4, concrete_impl_4 {
\find(imp(b,true))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[513] |
0.001s |
passed |
[514] concrete_not_1, concrete_not_1 {
\find(not(true))
\replacewith(false)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[514] |
0s |
passed |
[515] concrete_not_2, concrete_not_2 {
\find(not(false))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[515] |
0.008s |
passed |
[516] concrete_or_1, concrete_or_1 {
\find(or(true,b))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[516] |
0s |
passed |
[517] concrete_or_2, concrete_or_2 {
\find(or(false,b))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[517] |
0s |
passed |
[518] concrete_or_3, concrete_or_3 {
\find(or(b,true))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[518] |
0.001s |
passed |
[519] concrete_or_4, concrete_or_4 {
\find(or(b,false))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[519] |
0.001s |
passed |
[51] add_sub_elim_right, add_sub_elim_right {
\find(add(i,neg(i)))
\replacewith(Z(0(#)))
\heuristics(simplify_int)
Choices: true}
|
testEquality(String, String)[51] |
0.002s |
passed |
[520] concrete_or_5, concrete_or_5 {
\find(or(and(c,b),and(c,not(b))))
\replacewith(c)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[520] |
0.001s |
passed |
[521] condition, condition {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #e0 ? #e1 : #e2;
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#e0) {
#lhs = #e1;
} else {
#lhs = #e2;
}
... }\] (post))
\heuristics(split_if, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[521] |
0.001s |
passed |
[522] condition_not_simple, condition_not_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #nse ? #se1 : #se2;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0 = #nse;
#lhs = #v0 ? #se1 : #se2;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[522] |
0.001s |
passed |
[523] condition_simple, condition_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #se0 ? #se1 : #se2;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#se0,TRUE),#se1,#se2)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[523] |
0.001s |
passed |
[524] contains, contains {
\find(clContains(seqConcat(seqSingleton(fstTextCharacter),textStringTail),searchString))
\sameUpdateLevel\add [equals(seqLen(searchString),newSym)]==>[] \replacewith(and(lt(newSym,seqLen(textStringTail)),or(equals(seqSub(seqConcat(seqSingleton(fstTextCharacter),textStringTail),Z(0(#)),newSym),searchString),clContains(textStringTail,searchString))))
\heuristics(stringsIntroduceNewSym, stringsContainsDefInline)
Choices: Strings:on}
|
testEquality(String, String)[524] |
0.001s |
passed |
[525] containsAxiomAntec, containsAxiomAntec {
\find(clContains(textString,searchString)==>)
\varcond(\notFreeIn(iv (variable), textString (Seq term)), \notFreeIn(iv (variable), searchString (Seq term)))
\replacewith([exists{iv (variable)}(and(and(geq(iv,Z(0(#))),leq(add(iv,seqLen(searchString)),seqLen(textString))),equals(seqSub(textString,iv,add(iv,seqLen(searchString))),searchString)))]==>[])
\heuristics(stringsExpandDefNormalOp)
Choices: Strings:on}
|
testEquality(String, String)[525] |
0s |
passed |
[526] containsAxiomSucc, containsAxiomSucc {
\find(==>clContains(textString,searchString))
\varcond(\notFreeIn(iv (variable), textString (Seq term)), \notFreeIn(iv (variable), searchString (Seq term)))
\replacewith([]==>[exists{iv (variable)}(and(and(geq(iv,Z(0(#))),leq(add(iv,seqLen(searchString)),seqLen(textString))),equals(seqSub(textString,iv,add(iv,seqLen(searchString))),searchString)))])
\heuristics(stringsExpandDefNormalOp)
Choices: Strings:on}
|
testEquality(String, String)[526] |
0s |
passed |
[527] cosIsNaN, cosIsNaN {
\find(cosDouble(arg))
\add [imp(or(doubleIsNaN(arg),doubleIsInfinite(arg)),doubleIsNaN(cosDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[527] |
0s |
passed |
[528] cosIsNaNAlt, cosIsNaNAlt {
\find(doubleIsNaN(cosDouble(arg)))
\replacewith(or(doubleIsNaN(arg),doubleIsInfinite(arg)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[528] |
0s |
passed |
[529] cosIsNotNaN, cosIsNotNaN {
\find(cosDouble(arg))
\add [imp(and(not(doubleIsNaN(arg)),not(doubleIsInfinite(arg))),not(doubleIsNaN(cosDouble(arg))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[529] |
0s |
passed |
[52] add_sub_step, add_sub_step {
\find(add(neg(i),neg(i0)))
\replacewith(neg(add(i,i0)))
Choices: true}
|
testEquality(String, String)[52] |
0.001s |
passed |
[530] cosRange, cosRange {
\find(cosDouble(arg))
\add [or(and(geqDouble(cosDouble(arg),DFP(0(#))),leqDouble(cosDouble(arg),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),doubleIsNaN(cosDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[530] |
0s |
passed |
[531] cosRange2, cosRange2 {
\find(cosDouble(arg))
\add [imp(and(not(doubleIsNaN(arg)),not(doubleIsInfinite(arg))),and(geqDouble(cosDouble(arg),DFP(0(#))),leqDouble(cosDouble(arg),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[531] |
0s |
passed |
[532] cosRangeAlt, cosRangeAlt {
\find(==>doubleIsNaN(cosDouble(arg)))
\add [and(geqDouble(cosDouble(arg),DFP(0(#))),leqDouble(cosDouble(arg),DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[532] |
0s |
passed |
[533] createdInHeapToElementOf, createdInHeapToElementOf {
\find(createdInHeap(s,h))
\varcond(\notFreeIn(fv (variable), h (Heap term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), h (Heap term)), \notFreeIn(ov (variable), s (LocSet term)))
\replacewith(all{ov (variable)}(all{fv (variable)}(imp(elementOf(ov,fv,s),or(equals(ov,null),equals(boolean::select(h,ov,java.lang.Object::<created>),TRUE))))))
\heuristics(classAxiom)
Choices: programRules:Java}
|
testEquality(String, String)[533] |
0.001s |
passed |
[534] createdInHeapWithAllFields, createdInHeapWithAllFields {
\find(createdInHeap(allFields(o),h))
\replacewith(or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[534] |
0.001s |
passed |
[535] createdInHeapWithAllFieldsEQ, createdInHeapWithAllFieldsEQ {
\assumes ([equals(allFields(o),EQ)]==>[])
\find(createdInHeap(EQ,h))
\sameUpdateLevel\replacewith(or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[535] |
0.001s |
passed |
[536] createdInHeapWithArrayRange, createdInHeapWithArrayRange {
\find(createdInHeap(arrayRange(o,lower,upper),h))
\replacewith(or(or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)),lt(upper,lower)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[536] |
0.001s |
passed |
[537] createdInHeapWithArrayRangeEQ, createdInHeapWithArrayRangeEQ {
\assumes ([equals(arrayRange(o,lower,upper),EQ)]==>[])
\find(createdInHeap(EQ,h))
\sameUpdateLevel\replacewith(or(or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)),lt(upper,lower)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[537] |
0.001s |
passed |
[538] createdInHeapWithEmpty, createdInHeapWithEmpty {
\find(createdInHeap(empty,h))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[538] |
0.001s |
passed |
[539] createdInHeapWithObserver, createdInHeapWithObserver {
\find(==>createdInHeap(obs,h))
\varcond(\isObserver (obs (LocSet term), h (Heap term)), )
\replacewith([]==>[wellFormed(h)])
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[539] |
0.001s |
passed |
[53] add_two_inequations_1, add_two_inequations_1 {
\assumes ([lt(i,i0)]==>[])
\find(lt(j,j0)==>)
\add [lt(add(i,j),add(i0,j0))]==>[]
Choices: true}
|
testEquality(String, String)[53] |
0.001s |
passed |
[540] createdInHeapWithObserverEQ, createdInHeapWithObserverEQ {
\assumes ([equals(obs,EQ)]==>[])
\find(==>createdInHeap(EQ,h))
\varcond(\isObserver (obs (LocSet term), h (Heap term)), )
\replacewith([]==>[wellFormed(h)])
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[540] |
0.001s |
passed |
[541] createdInHeapWithSelect, createdInHeapWithSelect {
\find(==>createdInHeap(LocSet::select(h,o,f),h))
\replacewith([]==>[wellFormed(h)])
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[541] |
0.001s |
passed |
[542] createdInHeapWithSelectEQ, createdInHeapWithSelectEQ {
\assumes ([equals(LocSet::select(h,o,f),EQ)]==>[])
\find(==>createdInHeap(EQ,h))
\replacewith([]==>[wellFormed(h)])
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[542] |
0s |
passed |
[543] createdInHeapWithSetMinusFreshLocs, createdInHeapWithSetMinusFreshLocs {
\find(createdInHeap(setMinus(s,freshLocs(h)),h))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[543] |
0s |
passed |
[544] createdInHeapWithSetMinusFreshLocsEQ, createdInHeapWithSetMinusFreshLocsEQ {
\assumes ([equals(setMinus(s,freshLocs(h)),EQ)]==>[])
\find(createdInHeap(EQ,h))
\sameUpdateLevel\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[544] |
0s |
passed |
[545] createdInHeapWithSingleton, createdInHeapWithSingleton {
\find(createdInHeap(singleton(o,f),h))
\replacewith(or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[545] |
0s |
passed |
[546] createdInHeapWithSingletonEQ, createdInHeapWithSingletonEQ {
\assumes ([equals(singleton(o,f),EQ)]==>[])
\find(createdInHeap(EQ,h))
\sameUpdateLevel\replacewith(or(equals(o,null),equals(boolean::select(h,o,java.lang.Object::<created>),TRUE)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[546] |
0s |
passed |
[547] createdInHeapWithUnion, createdInHeapWithUnion {
\find(==>createdInHeap(union(s,s2),h))
\replacewith([]==>[createdInHeap(s2,h)]) ;
\replacewith([]==>[createdInHeap(s,h)])
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[547] |
0s |
passed |
[548] createdInHeapWithUnionEQ, createdInHeapWithUnionEQ {
\assumes ([equals(union(s,s2),EQ)]==>[])
\find(==>createdInHeap(EQ,h))
\replacewith([]==>[createdInHeap(s2,h)]) ;
\replacewith([]==>[createdInHeap(s,h)])
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[548] |
0s |
passed |
[549] crossInst, crossInst {
\assumes ([]==>[or(or(leq(k,Z(neglit(1(#)))),geq(k,i)),c)])
\find(all{v (variable)}(or(or(or(leq(v,Z(neglit(1(#)))),geq(v,j)),b),a))==>)
\add [and(equals(sk,k),subst{v (variable)}(sk,or(or(or(leq(v,Z(neglit(1(#)))),geq(v,j)),b),a)))]==>[]
\heuristics(loopInvariant)
Choices: true}
|
testEquality(String, String)[549] |
0s |
passed |
[54] add_two_inequations_2, add_two_inequations_2 {
\assumes ([leq(i,i0)]==>[])
\find(leq(j,j0)==>)
\add [leq(add(i,j),add(i0,j0))]==>[]
Choices: true}
|
testEquality(String, String)[54] |
0.002s |
passed |
[550] cut, cut {
\add []==>[cutFormula] ;
\add [cutFormula]==>[]
\heuristics(cut)
Choices: true}
|
testEquality(String, String)[550] |
0s |
passed |
[551] cutUpperBound, cutUpperBound {
\assumes ([all{v (variable)}(or(or(or(leq(v,Z(neglit(1(#)))),geq(v,j)),b),a))]==>[])
\find(==>or(or(leq(k,Z(neglit(1(#)))),geq(k,i)),c))
\add [not(equals(k,i))]==>[] ;
\add [equals(k,i)]==>[]
\heuristics(loopInvariant)
Choices: true}
|
testEquality(String, String)[551] |
0s |
passed |
[552] cut_direct, cut_direct {
\find(cutFormula)
\sameUpdateLevel\add []==>[cutFormula] \replacewith(false) ;
\add [cutFormula]==>[] \replacewith(true)
\heuristics(cut_direct)
Choices: true}
|
testEquality(String, String)[552] |
0.005s |
passed |
[553] cut_direct_l, cut_direct_l {
\find(b==>)
\add []==>[b] ;
\replacewith([b]==>[])
Choices: true}
|
testEquality(String, String)[553] |
0s |
passed |
[554] cut_direct_r, cut_direct_r {
\find(==>b)
\add [b]==>[] ;
\replacewith([]==>[b])
Choices: true}
|
testEquality(String, String)[554] |
0.001s |
passed |
[555] defInDomainImpliesCreated, defInDomainImpliesCreated {
\find(inDomainImpliesCreated(m))
\varcond(\notFreeIn(o (variable), m (Map term)))
\replacewith(all{o (variable)}(imp(inDomain(m,o),equals(boolean::select(heap,o,java.lang.Object::<created>),TRUE))))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[555] |
0.001s |
passed |
[556] defIsFinite, defIsFinite {
\find(isFinite(m))
\varcond(\notFreeIn(s (variable), m (Map term)), \notFreeIn(vx (variable), m (Map term)))
\replacewith(exists{s (variable)}(all{vx (variable)}(equiv(inDomain(m,vx),exists{ix (variable)}(and(and(leq(Z(0(#)),ix),lt(ix,seqLen(s))),equals(any::seqGet(s,ix),vx)))))))
Choices: true}
|
testEquality(String, String)[556] |
0.001s |
passed |
[557] defMapEmpty, defMapEmpty {
\find(mapEmpty)
\replacewith(mapForeach{vy (variable)}(FALSE,mapUndef))
Choices: true}
|
testEquality(String, String)[557] |
0.001s |
passed |
[558] defMapEquality, defMapEquality {
\find(equals(m0,m1))
\varcond(\notFreeIn(vy (variable), m1 (Map term)), \notFreeIn(vy (variable), m0 (Map term)))
\replacewith(all{vy (variable)}(and(equiv(inDomain(m0,vy),inDomain(m1,vy)),imp(inDomain(m0,vy),equals(mapGet(m0,vy),mapGet(m1,vy))))))
Choices: true}
|
testEquality(String, String)[558] |
0.001s |
passed |
[559] defMapOverride, defMapOverride {
\find(mapOverride(m0,m1))
\varcond(\notFreeIn(vy (variable), m1 (Map term)), \notFreeIn(vy (variable), m0 (Map term)))
\replacewith(mapForeach{vy (variable)}(if-then-else(or(inDomain(m0,vy),inDomain(m1,vy)),TRUE,FALSE),if-then-else(inDomain(m1,vy),mapGet(m1,vy),mapGet(m0,vy))))
Choices: true}
|
testEquality(String, String)[559] |
0.001s |
passed |
[55] add_zero_left, add_zero_left {
\find(add(Z(0(#)),i))
\replacewith(i)
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[55] |
0.001s |
passed |
[560] defMapRemove, defMapRemove {
\find(mapRemove(m,key))
\varcond(\notFreeIn(vy (variable), key (any term)), \notFreeIn(vy (variable), m (Map term)))
\replacewith(mapForeach{vy (variable)}(if-then-else(and(inDomain(m,vy),not(equals(vy,key))),TRUE,FALSE),mapGet(m,vy)))
Choices: true}
|
testEquality(String, String)[560] |
0.001s |
passed |
[561] defMapSingleton, defMapSingleton {
\find(mapSingleton(xa,y))
\varcond(\notFreeIn(vy (variable), y (any term)), \notFreeIn(vy (variable), xa (alpha term)))
\replacewith(mapForeach{vy (variable)}(if-then-else(equals(vy,any::cast(xa)),TRUE,FALSE),y))
Choices: true}
|
testEquality(String, String)[561] |
0.001s |
passed |
[562] defMapUpdate, defMapUpdate {
\find(mapUpdate(m,key,value))
\varcond(\notFreeIn(vy (variable), value (any term)), \notFreeIn(vy (variable), key (any term)), \notFreeIn(vy (variable), m (Map term)))
\replacewith(mapForeach{vy (variable)}(if-then-else(or(inDomain(m,vy),equals(vy,key)),TRUE,FALSE),if-then-else(equals(vy,key),value,mapGet(m,vy))))
Choices: true}
|
testEquality(String, String)[562] |
0.001s |
passed |
[563] defOfEmpty, defOfEmpty {
\find(seqEmpty)
\varcond(\notFreeIn(uSub (variable), te (any term)))
\replacewith(seqDef{uSub (variable)}(Z(0(#)),Z(0(#)),te))
Choices: sequences:on}
|
testEquality(String, String)[563] |
0.001s |
passed |
[564] defOfSeqConcat, defOfSeqConcat {
\find(seqConcat(seq1,seq2))
\varcond(\notFreeIn(uSub (variable), seq2 (Seq term)), \notFreeIn(uSub (variable), seq1 (Seq term)))
\replacewith(seqDef{uSub (variable)}(Z(0(#)),add(seqLen(seq1),seqLen(seq2)),if-then-else(lt(uSub,seqLen(seq1)),any::seqGet(seq1,uSub),any::seqGet(seq2,sub(uSub,seqLen(seq1))))))
Choices: sequences:on}
|
testEquality(String, String)[564] |
0.001s |
passed |
[565] defOfSeqReverse, defOfSeqReverse {
\find(seqReverse(seq))
\varcond(\notFreeIn(uSub (variable), seq (Seq term)))
\replacewith(seqDef{uSub (variable)}(Z(0(#)),seqLen(seq),any::seqGet(seq,sub(sub(seqLen(seq),uSub),Z(1(#))))))
Choices: sequences:on}
|
testEquality(String, String)[565] |
0.001s |
passed |
[566] defOfSeqSingleton, defOfSeqSingleton {
\find(seqSingleton(x))
\varcond(\notFreeIn(uSub (variable), x (any term)))
\replacewith(seqDef{uSub (variable)}(Z(0(#)),Z(1(#)),x))
Choices: sequences:on}
|
testEquality(String, String)[566] |
0.001s |
passed |
[567] defOfSeqSub, defOfSeqSub {
\find(seqSub(seq,from,to))
\varcond(\notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)), \notFreeIn(uSub (variable), seq (Seq term)))
\replacewith(seqDef{uSub (variable)}(from,to,any::seqGet(seq,uSub)))
Choices: sequences:on}
|
testEquality(String, String)[567] |
0.001s |
passed |
[568] defSeq2Map, defSeq2Map {
\find(seq2map(s))
\varcond(\notFreeIn(ix (variable), s (Seq term)))
\replacewith(mapForeach{ix (variable)}(if-then-else(and(leq(Z(0(#)),ix),lt(ix,seqLen(s))),TRUE,FALSE),any::seqGet(s,ix)))
Choices: true}
|
testEquality(String, String)[568] |
0.001s |
passed |
[569] def_wellOrderLeqInt, def_wellOrderLeqInt {
\find(wellOrderLeqInt(intT1,intT2))
\replacewith(or(and(geq(intT1,intT2),lt(intT2,Z(0(#)))),and(leq(Z(0(#)),intT1),leq(intT1,intT2))))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[569] |
0s |
passed |
[56] add_zero_right, add_zero_right {
\find(add(i,Z(0(#))))
\replacewith(i)
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[56] |
0.001s |
passed |
[570] definitionAllElementsOfArray, definitionAllElementsOfArray {
\find(allElementsOfArray(h,array,singleton(o,f)))
\varcond(\notFreeIn(j (variable), f (Field term)), \notFreeIn(j (variable), o (java.lang.Object term)), \notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), h (Heap term)))
\replacewith(infiniteUnion{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),singleton(java.lang.Object::select(h,array,arr(j)),f),empty)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[570] |
0s |
passed |
[571] definitionAllElementsOfArray2, definitionAllElementsOfArray2 {
\find(allElementsOfArray(h,array,allFields(o)))
\varcond(\notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), h (Heap term)))
\replacewith(infiniteUnion{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),allFields(java.lang.Object::select(h,array,arr(j))),empty)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[571] |
0s |
passed |
[572] definitionAllElementsOfArrayLocsets, definitionAllElementsOfArrayLocsets {
\find(allElementsOfArrayLocsets(h,array,singleton(o,f)))
\varcond(\notFreeIn(j (variable), f (Field term)), \notFreeIn(j (variable), o (java.lang.Object term)), \notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), h (Heap term)))
\replacewith(infiniteUnion{j (variable)}(if-then-else(and(leq(Z(0(#)),j),lt(j,length(array))),LocSet::select(h,java.lang.Object::select(h,array,arr(j)),f),empty)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[572] |
0s |
passed |
[573] definitionOfNewObjectsIsomorphic, definitionOfNewObjectsIsomorphic {
\find(==>newObjectsIsomorphic(s1,h1,s2,h2))
\replacewith([]==>[objectsIsomorphic(s1,s1,s2,s2)]) ;
\replacewith([]==>[sameTypes(s1,s2)]) ;
\replacewith([]==>[newOnHeap(h2,s2)]) ;
\replacewith([]==>[newOnHeap(h1,s1)])
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[573] |
0s |
passed |
[574] definitionOfNewOnHeap, definitionOfNewOnHeap {
\find(==>newOnHeap(h,s))
\varcond(\notFreeIn(i (variable), h (Heap term)), \notFreeIn(i (variable), s (Seq term)))
\replacewith([]==>[all{i (variable)}(imp(and(leq(Z(0(#)),i),lt(i,seqLen(s))),and(imp(equals(java.lang.Object::instance(any::seqGet(s,i)),TRUE),equals(boolean::select(h,java.lang.Object::seqGet(s,i),java.lang.Object::<created>),FALSE)),imp(equals(Seq::instance(any::seqGet(s,i)),TRUE),newOnHeap(h,Seq::seqGet(s,i))))))])
\heuristics(comprehensions)
Choices: true}
|
testEquality(String, String)[574] |
0.001s |
passed |
[575] definitionOfObjectIsomorphic, definitionOfObjectIsomorphic {
\find(==>objectIsomorphic(s1,o1,s2,o2))
\varcond(\notFreeIn(i (variable), o2 (java.lang.Object term)), \notFreeIn(i (variable), o1 (java.lang.Object term)), \notFreeIn(i (variable), s2 (Seq term)), \notFreeIn(i (variable), s1 (Seq term)))
\replacewith([]==>[all{i (variable)}(imp(and(leq(Z(0(#)),i),lt(i,seqLen(s1))),and(imp(equals(java.lang.Object::instance(any::seqGet(s1,i)),TRUE),equiv(equals(java.lang.Object::seqGet(s1,i),o1),equals(java.lang.Object::seqGet(s2,i),o2))),imp(… |
testEquality(String, String)[575] |
0.001s |
passed |
[576] definitionOfObjectsIsomorphic, definitionOfObjectsIsomorphic {
\find(==>objectsIsomorphic(s1,t1,s2,t2))
\varcond(\notFreeIn(i (variable), t2 (Seq term)), \notFreeIn(i (variable), t1 (Seq term)), \notFreeIn(i (variable), s2 (Seq term)), \notFreeIn(i (variable), s1 (Seq term)))
\replacewith([]==>[all{i (variable)}(imp(and(leq(Z(0(#)),i),lt(i,seqLen(t1))),and(imp(equals(java.lang.Object::instance(any::seqGet(t1,i)),TRUE),objectIsomorphic(s1,java.lang.Object::seqGet(t1,i),s2,java.lang.Object::seqGet(t2,i))),imp(equals(Seq::instance(any::seq… |
testEquality(String, String)[576] |
0.001s |
passed |
[577] definitionOfSameTypes, definitionOfSameTypes {
\find(==>sameTypes(s1,s2))
\varcond(\notFreeIn(i (variable), s2 (Seq term)), \notFreeIn(i (variable), s1 (Seq term)))
\replacewith([]==>[and(equals(seqLen(s1),seqLen(s2)),all{i (variable)}(imp(and(leq(Z(0(#)),i),lt(i,seqLen(s1))),and(sameType(any::seqGet(s1,i),any::seqGet(s2,i)),imp(equals(Seq::instance(any::seqGet(s1,i)),TRUE),sameTypes(Seq::seqGet(s1,i),Seq::seqGet(s2,i)))))))])
\heuristics(comprehensions)
Choices: true}
|
testEquality(String, String)[577] |
0.002s |
passed |
[578] definitionSeqdefWorkaround, definitionSeqdefWorkaround {
\find(seq_def_workaround(h,lower,upper,array))
\varcond(\notFreeIn(j (variable), upper (int term)), \notFreeIn(j (variable), lower (int term)), \notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), h (Heap term)))
\replacewith(seqDef{j (variable)}(lower,upper,any::select(h,array,arr(j))))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[578] |
0.001s |
passed |
[579] definitionSeqdefWorkaround2, definitionSeqdefWorkaround2 {
\find(seq_def_workaround2(h,lower,upper,array,singleton(o,f)))
\varcond(\notFreeIn(j (variable), upper (int term)), \notFreeIn(j (variable), lower (int term)), \notFreeIn(j (variable), array (java.lang.Object term)), \notFreeIn(j (variable), f (Field term)), \notFreeIn(j (variable), h (Heap term)))
\replacewith(seqDef{j (variable)}(lower,upper,any::select(h,java.lang.Object::select(h,array,arr(j)),f)))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[579] |
0.001s |
passed |
[57] addition_associative, addition_associative {
\find(add(add(i0,i1),add(j0,j1)))
\replacewith(add(add(j0,i1),add(i0,j1)))
Choices: true}
|
testEquality(String, String)[57] |
0s |
passed |
[580] deleteMergePoint, deleteMergePoint {
\find(#allmodal ( (modal operator))\[{ ..
//@ merge_point (#lhs);;
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(merge_point, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[580] |
0.001s |
passed |
[581] delete_unnecessary_cast, delete_unnecessary_cast {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = (#npit) #se;
... }\] (post))
\sameUpdateLevel\varcond(\hasSort(#npit (program NonPrimitiveType), G), \sub(\typeof(#se (program SimpleExpression)), G), )
\add [or(equals(#se,null),equals(G::instance(#se),TRUE))]==>[] \replacewith(update-application(elem-update(#lhs (program LeftHandSide))(#addCast(#se,#lhs)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[581] |
0.002s |
passed |
[582] diamondToBox, diamondToBox {
\find(\<{ ..
#s
... }\> (post))
\replacewith(not(\[{ ..
#s
... }\] (not(post))))
\heuristics(boxDiamondConv)
Choices: programRules:Java}
|
testEquality(String, String)[582] |
0s |
passed |
[583] diamondToBoxTransaction, diamondToBoxTransaction {
\find(diamond_transaction\[{ ..
#s
... }\] (post))
\replacewith(not(box_transaction\[{ ..
#s
... }\] (not(post))))
\heuristics(boxDiamondConv)
Choices: programRules:Java}
|
testEquality(String, String)[583] |
0s |
passed |
[584] diamond_and_left, diamond_and_left {
\find(#diamond ( (modal operator))\[{ ..
#s
... }\] (and(post,post1))==>)
\replacewith([and(#diamond ( (modal operator))\[{ ..
#s
... }\] (post),#diamond ( (modal operator))\[{ ..
#s
... }\] (post1))]==>[])
Choices: programRules:Java}
|
testEquality(String, String)[584] |
0.001s |
passed |
[585] diamond_and_right, diamond_and_right {
\find(==>#diamond ( (modal operator))\[{ ..
#s
... }\] (and(post,post1)))
\replacewith([]==>[#diamond ( (modal operator))\[{ ..
#s
... }\] (post1)]) ;
\replacewith([]==>[#diamond ( (modal operator))\[{ ..
#s
... }\] (post)])
Choices: programRules:Java}
|
testEquality(String, String)[585] |
0.001s |
passed |
[586] diamond_false, diamond_false {
\find(#diamond ( (modal operator))\[{ ..
#s
... }\] (false))
\replacewith(false)
\heuristics(modal_tautology)
Choices: programRules:Java}
|
testEquality(String, String)[586] |
0.001s |
passed |
[587] diamond_or_left, diamond_or_left {
\find(#diamond ( (modal operator))\[{ ..
#s
... }\] (or(post,post1))==>)
\replacewith([or(#diamond ( (modal operator))\[{ ..
#s
... }\] (post),#diamond ( (modal operator))\[{ ..
#s
... }\] (post1))]==>[])
Choices: programRules:Java}
|
testEquality(String, String)[587] |
0.001s |
passed |
[588] diamond_or_right, diamond_or_right {
\find(==>#diamond ( (modal operator))\[{ ..
#s
... }\] (or(post,post1)))
\replacewith([]==>[or(#diamond ( (modal operator))\[{ ..
#s
... }\] (post),#diamond ( (modal operator))\[{ ..
#s
... }\] (post1))])
Choices: programRules:Java}
|
testEquality(String, String)[588] |
0.001s |
passed |
[589] diamond_split_termination, diamond_split_termination {
\find(\<{ ..
#s
... }\> (post))
\replacewith(and(\[{ ..
#s
... }\] (post),\<{ ..
#s
... }\> (true)))
Choices: programRules:Java}
|
testEquality(String, String)[589] |
0.012s |
passed |
[58] allFieldsEq, allFieldsEq {
\find(equals(allFields(o1),allFields(o2)))
\replacewith(equals(o1,o2))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[58] |
0.001s |
passed |
[590] disjointAllFields, disjointAllFields {
\assumes ([equals(intersect(allFields(o),s),empty)]==>[])
\find(elementOf(o,f,s))
\sameUpdateLevel\replacewith(false)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[590] |
0.001s |
passed |
[591] disjointAllFields_2, disjointAllFields_2 {
\find(equals(intersect(allFields(o),allFields(o2)),empty))
\replacewith(not(equals(o,o2)))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[591] |
0s |
passed |
[592] disjointAllObjects, disjointAllObjects {
\assumes ([equals(intersect(allObjects(f),s),empty)]==>[])
\find(elementOf(o,f,s))
\sameUpdateLevel\replacewith(false)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[592] |
0.003s |
passed |
[593] disjointAndSubset1, disjointAndSubset1 {
\assumes ([equals(intersect(s2,s3),empty)]==>[])
\find(subset(s,s2)==>)
\add [equals(intersect(s,s3),empty)]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[593] |
0s |
passed |
[594] disjointAndSubset2, disjointAndSubset2 {
\assumes ([equals(intersect(s2,s3),empty)]==>[])
\find(subset(s,s3)==>)
\add [equals(intersect(s,s2),empty)]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[594] |
0s |
passed |
[595] disjointAndSubset_3, disjointAndSubset_3 {
\assumes ([equals(intersect(s1,s2),empty)]==>[])
\find(subset(s4,union(s2,s3))==>)
\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[595] |
0s |
passed |
[596] disjointAndSubset_4, disjointAndSubset_4 {
\assumes ([equals(intersect(s1,s2),empty)]==>[])
\find(subset(s4,union(s3,s2))==>)
\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[596] |
0s |
passed |
[597] disjointAndSubset_5, disjointAndSubset_5 {
\assumes ([equals(intersect(s2,s1),empty)]==>[])
\find(subset(s4,union(s2,s3))==>)
\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[597] |
0s |
passed |
[598] disjointAndSubset_6, disjointAndSubset_6 {
\assumes ([equals(intersect(s2,s1),empty)]==>[])
\find(subset(s4,union(s3,s2))==>)
\add [imp(equals(intersect(s1,s3),empty),equals(intersect(s1,s4),empty))]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[598] |
0.001s |
passed |
[599] disjointArrayRangeAllFields1, disjointArrayRangeAllFields1 {
\find(equals(intersect(allFields(o1),arrayRange(o2,lower2,upper2)),empty))
\replacewith(not(and(equals(o1,o2),leq(lower2,upper2))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[599] |
0.001s |
passed |
[59] allFieldsSubsetOf, allFieldsSubsetOf {
\assumes ([subset(allFields(o),s)]==>[])
\find(elementOf(o,f,s))
\sameUpdateLevel\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[59] |
0.001s |
passed |
[5] acosIsNaN, acosIsNaN {
\find(acosDouble(arg))
\add [imp(or(or(doubleIsNaN(arg),ltDouble(arg,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#))))))))))))))))))))))),gtDouble(arg,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),doubleIsNaN(acosDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[5] |
0.001s |
passed |
[600] disjointArrayRangeAllFields2, disjointArrayRangeAllFields2 {
\find(equals(intersect(arrayRange(o1,lower1,upper1),allFields(o2)),empty))
\replacewith(not(and(equals(o1,o2),leq(lower1,upper1))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[600] |
0s |
passed |
[601] disjointArrayRanges, disjointArrayRanges {
\find(equals(intersect(arrayRange(o1,lower1,upper1),arrayRange(o2,lower2,upper2)),empty))
\replacewith(not(and(and(and(equals(o1,o2),leq(lower1,upper1)),leq(lower2,upper2)),or(and(leq(lower1,lower2),leq(lower2,upper1)),and(leq(lower2,lower1),leq(lower1,upper2))))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[601] |
0s |
passed |
[602] disjointDefinition, disjointDefinition {
\find(disjoint(s,s2))
\replacewith(equals(intersect(s,s2),empty))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[602] |
0s |
passed |
[603] disjointInfiniteUnion, disjointInfiniteUnion {
\find(equals(intersect(infiniteUnion{iv (variable)}(s2),s),empty))
\varcond(\notFreeIn(iv (variable), s (LocSet term)))
\replacewith(all{iv (variable)}(equals(intersect(s2,s),empty)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[603] |
0s |
passed |
[604] disjointInfiniteUnion_2, disjointInfiniteUnion_2 {
\find(equals(intersect(s,infiniteUnion{iv (variable)}(s2)),empty))
\varcond(\notFreeIn(iv (variable), s (LocSet term)))
\replacewith(all{iv (variable)}(equals(intersect(s,s2),empty)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[604] |
0s |
passed |
[605] disjointNotInOtherLocset1, disjointNotInOtherLocset1 {
\assumes ([equals(intersect(s,s2),empty)]==>[])
\find(elementOf(o,f,s)==>)
\add []==>[elementOf(o,f,s2)]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[605] |
0s |
passed |
[606] disjointNotInOtherLocset2, disjointNotInOtherLocset2 {
\assumes ([equals(intersect(s,s2),empty)]==>[])
\find(elementOf(o,f,s2)==>)
\add []==>[elementOf(o,f,s)]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[606] |
0.001s |
passed |
[607] disjointToElementOf, disjointToElementOf {
\find(disjoint(s,s2))
\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term)))
\replacewith(all{ov (variable)}(all{fv (variable)}(or(not(elementOf(ov,fv,s)),not(elementOf(ov,fv,s2))))))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[607] |
0.001s |
passed |
[608] disjointWithEmpty, disjointWithEmpty {
\find(disjoint(empty,s))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[608] |
0.001s |
passed |
[609] disjointWithSingleton1, disjointWithSingleton1 {
\find(equals(intersect(s,singleton(o,f)),empty))
\replacewith(not(elementOf(o,f,s)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[609] |
0.001s |
passed |
[60] allFieldsUnfold, allFieldsUnfold {
\find(#allmodal ( (modal operator))\[{ ..
#v = \all_fields(#nseObj);
... }\] (post))
\varcond(\new(#vObjNew (program Variable), \typeof(#nseObj (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nseObj) #vObjNew = #nseObj;
#v = \all_fields(#vObjNew);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[60] |
0.001s |
passed |
[610] disjointWithSingleton2, disjointWithSingleton2 {
\find(equals(intersect(singleton(o,f),s),empty))
\replacewith(not(elementOf(o,f,s)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[610] |
0.001s |
passed |
[611] dismissNonSelectedField, dismissNonSelectedField {
\find(alpha::select(store(h,o,f1,x),u,f2))
\varcond(\differentFields (f1 (Field term), f2 (Field term)), )
\replacewith(alpha::select(h,u,f2))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[611] |
0.001s |
passed |
[612] dismissNonSelectedFieldEQ, dismissNonSelectedFieldEQ {
\assumes ([equals(store(h,o,f1,x),EQ)]==>[])
\find(alpha::select(EQ,u,f2))
\sameUpdateLevel\varcond(\differentFields (f1 (Field term), f2 (Field term)), )
\replacewith(alpha::select(h,u,f2))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[612] |
0s |
passed |
[613] distr_existsAnd1, distr_existsAnd1 {
\find(exists{u (variable)}(and(phi,psi)))
\varcond(\notFreeIn(u (variable), psi (formula)))
\replacewith(and(exists{u (variable)}(phi),psi))
\heuristics(notHumanReadable, distrQuantifier)
Choices: true}
|
testEquality(String, String)[613] |
0s |
passed |
[614] distr_existsAnd2, distr_existsAnd2 {
\find(exists{u (variable)}(and(phi,psi)))
\varcond(\notFreeIn(u (variable), phi (formula)))
\replacewith(and(phi,exists{u (variable)}(psi)))
\heuristics(notHumanReadable, distrQuantifier)
Choices: true}
|
testEquality(String, String)[614] |
0s |
passed |
[615] distr_existsOr, distr_existsOr {
\find(exists{u (variable)}(or(phi,psi)))
\replacewith(or(exists{u (variable)}(phi),exists{u (variable)}(psi)))
\heuristics(notHumanReadable, distrQuantifier)
Choices: true}
|
testEquality(String, String)[615] |
0s |
passed |
[616] distr_forallAnd, distr_forallAnd {
\find(all{u (variable)}(and(phi,psi)))
\replacewith(and(all{u (variable)}(phi),all{u (variable)}(psi)))
\heuristics(notHumanReadable, distrQuantifier)
Choices: true}
|
testEquality(String, String)[616] |
0s |
passed |
[617] distr_forallOr1, distr_forallOr1 {
\find(all{u (variable)}(or(phi,psi)))
\varcond(\notFreeIn(u (variable), psi (formula)))
\replacewith(or(all{u (variable)}(phi),psi))
\heuristics(notHumanReadable, distrQuantifier)
Choices: true}
|
testEquality(String, String)[617] |
0s |
passed |
[618] distr_forallOr2, distr_forallOr2 {
\find(all{u (variable)}(or(phi,psi)))
\varcond(\notFreeIn(u (variable), phi (formula)))
\replacewith(or(phi,all{u (variable)}(psi)))
\heuristics(notHumanReadable, distrQuantifier)
Choices: true}
|
testEquality(String, String)[618] |
0s |
passed |
[619] distributeIntersection, distributeIntersection {
\find(intersect(s1,union(s2,s3)))
\replacewith(union(intersect(s1,s2),intersect(s1,s3)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[619] |
0s |
passed |
[61] allLeft, allLeft {
\find(all{u (variable)}(b)==>)
\add [subst{u (variable)}(t,b)]==>[]
\heuristics(gamma)
Choices: true}
|
testEquality(String, String)[61] |
0.001s |
passed |
[620] distributeIntersection_2, distributeIntersection_2 {
\find(intersect(union(s2,s3),s1))
\replacewith(union(intersect(s2,s1),intersect(s3,s1)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[620] |
0s |
passed |
[621] divAddMultDenom, divAddMultDenom {
\find(div(add(divNum,mul(coef,divDenom)),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(add(div(divNum,divDenom),coef))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[621] |
0.001s |
passed |
[622] divGreatestDNeg, divGreatestDNeg {
\find(lt(divNum,mul(divDenom,coef))==>)
\add [imp(lt(divDenom,Z(0(#))),lt(coef,div(divNum,divDenom)))]==>[]
Choices: true}
|
testEquality(String, String)[622] |
0.001s |
passed |
[623] divGreatestDPos, divGreatestDPos {
\find(leq(mul(divDenom,coef),divNum)==>)
\add [imp(gt(divDenom,Z(0(#))),leq(coef,div(divNum,divDenom)))]==>[]
Choices: true}
|
testEquality(String, String)[623] |
0.001s |
passed |
[624] divIncreasingNeg, divIncreasingNeg {
\add [all{divDenom1 (variable)}(all{divNum1 (variable)}(all{divNum2 (variable)}(imp(and(lt(divDenom1,Z(0(#))),leq(divNum1,divNum2)),geq(div(divNum1,divDenom1),div(divNum2,divDenom1))))))]==>[]
Choices: true}
|
testEquality(String, String)[624] |
0.001s |
passed |
[625] divIncreasingPos, divIncreasingPos {
\add [all{divDenom1 (variable)}(all{divNum1 (variable)}(all{divNum2 (variable)}(imp(and(gt(divDenom1,Z(0(#))),leq(divNum1,divNum2)),leq(div(divNum1,divDenom1),div(divNum2,divDenom1))))))]==>[]
Choices: true}
|
testEquality(String, String)[625] |
0.001s |
passed |
[626] divLeastDNeg, divLeastDNeg {
\find(leq(mul(divDenom,coef),divNum)==>)
\add [imp(lt(divDenom,Z(0(#))),leq(div(divNum,divDenom),coef))]==>[]
Choices: true}
|
testEquality(String, String)[626] |
0.001s |
passed |
[627] divLeastDPos, divLeastDPos {
\find(lt(divNum,mul(divDenom,coef))==>)
\add [imp(gt(divDenom,Z(0(#))),lt(div(divNum,divDenom),coef))]==>[]
Choices: true}
|
testEquality(String, String)[627] |
0.001s |
passed |
[628] divMinus, divMinus {
\find(div(neg(divNum),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(if-then-else(equals(mul(div(divNum,divDenom),divDenom),divNum),neg(div(divNum,divDenom)),if-then-else(gt(divDenom,Z(0(#))),sub(neg(div(divNum,divDenom)),Z(1(#))),add(neg(div(divNum,divDenom)),Z(1(#))))))
Choices: true}
|
testEquality(String, String)[628] |
0.001s |
passed |
[629] divMinusDenom, divMinusDenom {
\find(div(divNum,neg(divDenom)))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(neg(div(divNum,divDenom)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[629] |
0.001s |
passed |
[62] allLeftHide, allLeftHide {
\find(all{u (variable)}(b)==>)
\addrules [insert_hidden {
\add [all{u (variable)}(b)]==>[]
Choices: true}] \replacewith([subst{u (variable)}(t,b)]==>[])
\heuristics(gamma_destructive)
Choices: true}
|
testEquality(String, String)[62] |
0.001s |
passed |
[630] divResOne1, divResOne1 {
\find(div(divNum,divDenom))
\add [imp(and(and(gt(divDenom,Z(0(#))),lt(divNum,Z(0(#)))),lt(neg(divDenom),divNum)),equals(div(divNum,divDenom),Z(neglit(1(#)))))]==>[]
Choices: true}
|
testEquality(String, String)[630] |
0.001s |
passed |
[631] divResOne2, divResOne2 {
\find(div(divNum,divDenom))
\add [imp(and(and(lt(divDenom,Z(0(#))),lt(divNum,Z(0(#)))),lt(divDenom,divNum)),equals(div(divNum,divDenom),Z(1(#))))]==>[]
Choices: true}
|
testEquality(String, String)[631] |
0.001s |
passed |
[632] divResZero1, divResZero1 {
\find(div(divNum,divDenom))
\add [imp(and(and(gt(divDenom,Z(0(#))),leq(Z(0(#)),divNum)),lt(divNum,divDenom)),equals(div(divNum,divDenom),Z(0(#))))]==>[]
Choices: true}
|
testEquality(String, String)[632] |
0.001s |
passed |
[633] divResZero2, divResZero2 {
\find(div(divNum,divDenom))
\add [imp(and(and(lt(divDenom,Z(0(#))),leq(Z(0(#)),divNum)),lt(divNum,neg(divDenom))),equals(div(divNum,divDenom),Z(0(#))))]==>[]
Choices: true}
|
testEquality(String, String)[633] |
0.001s |
passed |
[634] div_axiom, div_axiom {
\find(div(divNum,divDenom))
\sameUpdateLevel\add [or(equals(divDenom,Z(0(#))),and(and(equals(div(divNum,divDenom),quotient),leq(mul(quotient,divDenom),divNum)),if-then-else(geq(divDenom,Z(0(#))),geq(mul(quotient,divDenom),add(add(Z(1(#)),divNum),mul(Z(neglit(1(#))),divDenom))),geq(mul(quotient,divDenom),add(add(Z(1(#)),divNum),divDenom)))))]==>[]
\heuristics(notHumanReadable, polySimp_newSmallSym, defOps_div)
Choices: true}
|
testEquality(String, String)[634] |
0.001s |
passed |
[635] div_cancel1, div_cancel1 {
\find(div(mul(divNum,divDenom),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(divNum)
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[635] |
0.001s |
passed |
[636] div_cancel2, div_cancel2 {
\find(div(mul(divDenom,divNum),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(divNum)
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[636] |
0.001s |
passed |
[637] div_exists, div_exists {
\find(div(divNum,divDenom))
\add [all{cnom (variable)}(imp(not(equals(cnom,Z(0(#)))),all{a (variable)}(exists{qu (variable)}(exists{rm (variable)}(and(and(equals(a,add(mul(qu,cnom),rm)),leq(Z(0(#)),rm)),if-then-else(geq(cnom,Z(0(#))),and(geq(mul(qu,cnom),add(add(Z(1(#)),a),mul(Z(neglit(1(#))),cnom))),lt(rm,cnom)),and(geq(mul(qu,cnom),add(add(Z(1(#)),a),cnom)),lt(rm,neg(cnom))))))))))]==>[]
Choices: true}
|
testEquality(String, String)[637] |
0.001s |
passed |
[638] div_literals, div_literals {
\find(div(Z(iz),Z(jz)))
\replacewith(#div(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[638] |
0.001s |
passed |
[639] div_one, div_one {
\find(div(divNum,Z(1(#))))
\replacewith(divNum)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[639] |
0.001s |
passed |
[63] allObjectsAssignment, allObjectsAssignment {
\find(#allmodal ( (modal operator))\[{ ..
#v = \all_objects(#eObj.#a);
... }\] (post))
\replacewith(update-application(elem-update(#v (program Variable))(allObjects(#memberPVToField(#a))),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[63] |
0.001s |
passed |
[640] div_unique1, div_unique1 {
\find(div(divNum,divDenom))
\add [all{a (variable)}(all{cnom (variable)}(all{x (variable)}(all{y (variable)}(imp(and(and(and(and(gt(cnom,Z(0(#))),leq(mul(x,cnom),a)),leq(mul(y,cnom),a)),geq(mul(x,cnom),sub(add(Z(1(#)),a),cnom))),geq(mul(y,cnom),sub(add(Z(1(#)),a),cnom))),equals(x,y))))))]==>[]
Choices: true}
|
testEquality(String, String)[640] |
0.002s |
passed |
[641] div_unique2, div_unique2 {
\find(div(divNum,divDenom))
\add [all{a (variable)}(all{cnom (variable)}(all{x (variable)}(all{y (variable)}(imp(and(and(and(and(lt(cnom,Z(0(#))),leq(mul(x,cnom),a)),leq(mul(y,cnom),a)),geq(mul(x,cnom),add(add(Z(1(#)),a),cnom))),geq(mul(y,cnom),add(add(Z(1(#)),a),cnom))),equals(x,y))))))]==>[]
Choices: true}
|
testEquality(String, String)[641] |
0.001s |
passed |
[642] div_zero, div_zero {
\find(div(Z(0(#)),divDenom))
\add []==>[not(equals(divDenom,Z(0(#))))] ;
\replacewith(Z(0(#)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[642] |
0.003s |
passed |
[643] divide_eq0, divide_eq0 {
\assumes ([geq(divX,divXBoundPos)]==>[])
\find(equals(divProd,divProdBoundNonNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundPos,Z(1(#))),imp(geq(divProdBoundNonNeg,Z(0(#))),leq(divY,div(divProdBoundNonNeg,divXBoundPos)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[643] |
0.001s |
passed |
[644] divide_eq1, divide_eq1 {
\assumes ([geq(divX,divXBoundNonNeg)]==>[])
\find(equals(divProd,divProdBoundNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundNonNeg,Z(0(#))),imp(leq(divProdBoundNeg,Z(neglit(1(#)))),leq(divY,Z(neglit(1(#)))))))]==>[]
\heuristics(inEqSimp_nonLin_neg, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[644] |
0.001s |
passed |
[645] divide_eq2, divide_eq2 {
\assumes ([geq(divX,divXBoundPos)]==>[])
\find(equals(divProd,divProdBoundNonPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundPos,Z(1(#))),imp(leq(divProdBoundNonPos,Z(0(#))),geq(divY,div(sub(add(divProdBoundNonPos,divXBoundPos),Z(1(#))),divXBoundPos)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[645] |
0.001s |
passed |
[646] divide_eq3, divide_eq3 {
\assumes ([geq(divX,divXBoundNonNeg)]==>[])
\find(equals(divProd,divProdBoundPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundNonNeg,Z(0(#))),imp(geq(divProdBoundPos,Z(1(#))),geq(divY,Z(1(#))))))]==>[]
\heuristics(inEqSimp_nonLin_pos, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[646] |
0.001s |
passed |
[647] divide_eq4, divide_eq4 {
\assumes ([leq(divX,divXBoundNeg)]==>[])
\find(equals(divProd,divProdBoundNonPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNeg,Z(neglit(1(#)))),imp(leq(divProdBoundNonPos,Z(0(#))),leq(divY,div(divProdBoundNonPos,divXBoundNeg)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[647] |
0.001s |
passed |
[648] divide_eq5, divide_eq5 {
\assumes ([leq(divX,divXBoundNonPos)]==>[])
\find(equals(divProd,divProdBoundPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNonPos,Z(0(#))),imp(geq(divProdBoundPos,Z(1(#))),leq(divY,Z(neglit(1(#)))))))]==>[]
\heuristics(inEqSimp_nonLin_neg, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[648] |
0.001s |
passed |
[649] divide_eq6, divide_eq6 {
\assumes ([leq(divX,divXBoundNeg)]==>[])
\find(equals(divProd,divProdBoundNonNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNeg,Z(neglit(1(#)))),imp(geq(divProdBoundNonNeg,Z(0(#))),geq(divY,div(divProdBoundNonNeg,divXBoundNeg)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[649] |
0.001s |
passed |
[64] allRight, allRight {
\find(==>all{u (variable)}(b))
\replacewith([]==>[subst{u (variable)}(sk,b)])
\heuristics(delta)
Choices: true}
|
testEquality(String, String)[64] |
0s |
passed |
[650] divide_eq7, divide_eq7 {
\assumes ([leq(divX,divXBoundNonPos)]==>[])
\find(equals(divProd,divProdBoundNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNonPos,Z(0(#))),imp(leq(divProdBoundNeg,Z(neglit(1(#)))),geq(divY,Z(1(#))))))]==>[]
\heuristics(inEqSimp_nonLin_pos, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[650] |
0.001s |
passed |
[651] divide_equation, divide_equation {
\find(equals(elimGcdLeft,elimGcdRight))
\replacewith(if-then-else(and(and(geq(elimGcd,Z(1(#))),equals(mod(elimGcdLeft,elimGcd),Z(0(#)))),leq(mod(elimGcdRight,elimGcd),add(Z(neglit(1(#))),elimGcd))),and(equals(mod(elimGcdRight,elimGcd),Z(0(#))),equals(div(elimGcdLeft,elimGcd),div(elimGcdRight,elimGcd))),equals(elimGcdLeft,elimGcdRight)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[651] |
0.001s |
passed |
[652] divide_geq, divide_geq {
\find(geq(elimGcdLeft,elimGcdRight))
\replacewith(if-then-else(and(and(geq(elimGcd,Z(1(#))),equals(mod(elimGcdLeft,elimGcd),Z(0(#)))),leq(mod(elimGcdRight,elimGcd),add(Z(neglit(1(#))),elimGcd))),geq(div(elimGcdLeft,elimGcd),add(Z(1(#)),div(add(Z(neglit(1(#))),elimGcdRight),elimGcd))),geq(elimGcdLeft,elimGcdRight)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[652] |
0.001s |
passed |
[653] divide_inEq0, divide_inEq0 {
\assumes ([geq(divX,divXBoundPos)]==>[])
\find(leq(divProd,divProdBoundNonNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundPos,Z(1(#))),imp(geq(divProdBoundNonNeg,Z(0(#))),leq(divY,div(divProdBoundNonNeg,divXBoundPos)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[653] |
0.001s |
passed |
[654] divide_inEq1, divide_inEq1 {
\assumes ([geq(divX,divXBoundNonNeg)]==>[])
\find(leq(divProd,divProdBoundNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundNonNeg,Z(0(#))),imp(leq(divProdBoundNeg,Z(neglit(1(#)))),leq(divY,Z(neglit(1(#)))))))]==>[]
\heuristics(inEqSimp_nonLin_neg, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[654] |
0.001s |
passed |
[655] divide_inEq2, divide_inEq2 {
\assumes ([geq(divX,divXBoundPos)]==>[])
\find(geq(divProd,divProdBoundNonPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundPos,Z(1(#))),imp(leq(divProdBoundNonPos,Z(0(#))),geq(divY,div(sub(add(divProdBoundNonPos,divXBoundPos),Z(1(#))),divXBoundPos)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[655] |
0.001s |
passed |
[656] divide_inEq3, divide_inEq3 {
\assumes ([geq(divX,divXBoundNonNeg)]==>[])
\find(geq(divProd,divProdBoundPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(geq(divXBoundNonNeg,Z(0(#))),imp(geq(divProdBoundPos,Z(1(#))),geq(divY,Z(1(#))))))]==>[]
\heuristics(inEqSimp_nonLin_pos, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[656] |
0.001s |
passed |
[657] divide_inEq4, divide_inEq4 {
\assumes ([leq(divX,divXBoundNeg)]==>[])
\find(geq(divProd,divProdBoundNonPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNeg,Z(neglit(1(#)))),imp(leq(divProdBoundNonPos,Z(0(#))),leq(divY,div(divProdBoundNonPos,divXBoundNeg)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[657] |
0.001s |
passed |
[658] divide_inEq5, divide_inEq5 {
\assumes ([leq(divX,divXBoundNonPos)]==>[])
\find(geq(divProd,divProdBoundPos)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNonPos,Z(0(#))),imp(geq(divProdBoundPos,Z(1(#))),leq(divY,Z(neglit(1(#)))))))]==>[]
\heuristics(inEqSimp_nonLin_neg, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[658] |
0.007s |
passed |
[659] divide_inEq6, divide_inEq6 {
\assumes ([leq(divX,divXBoundNeg)]==>[])
\find(leq(divProd,divProdBoundNonNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNeg,Z(neglit(1(#)))),imp(geq(divProdBoundNonNeg,Z(0(#))),geq(divY,div(divProdBoundNonNeg,divXBoundNeg)))))]==>[]
\heuristics(inEqSimp_nonLin_divide, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[659] |
0.001s |
passed |
[65] all_bool, all_bool {
\find(all{x (variable)}(c))
\replacewith(and(subst{x (variable)}(FALSE,c),subst{x (variable)}(TRUE,c)))
\heuristics(boolean_cases)
Choices: true}
|
testEquality(String, String)[65] |
0.001s |
passed |
[660] divide_inEq7, divide_inEq7 {
\assumes ([leq(divX,divXBoundNonPos)]==>[])
\find(leq(divProd,divProdBoundNeg)==>)
\add [imp(equals(divProd,mul(divX,divY)),imp(leq(divXBoundNonPos,Z(0(#))),imp(leq(divProdBoundNeg,Z(neglit(1(#)))),geq(divY,Z(1(#))))))]==>[]
\heuristics(inEqSimp_nonLin_pos, inEqSimp_special_nonLin)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[660] |
0.003s |
passed |
[661] divide_leq, divide_leq {
\find(leq(elimGcdLeft,elimGcdRight))
\replacewith(if-then-else(and(and(geq(elimGcd,Z(1(#))),equals(mod(elimGcdLeft,elimGcd),Z(0(#)))),leq(mod(elimGcdRight,elimGcd),add(Z(neglit(1(#))),elimGcd))),leq(div(elimGcdLeft,elimGcd),div(elimGcdRight,elimGcd)),leq(elimGcdLeft,elimGcdRight)))
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[661] |
0.001s |
passed |
[662] doWhileUnwind, doWhileUnwind {
\find(#allmodal ( (modal operator))\[{ ..
do #s
while (#e);
... }\] (post))
\varcond(\newLabel (#innerLabel (program Label)), \newLabel (#outerLabel (program Label)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#unwind-loop(do #s
while (#e);)
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[662] |
0.001s |
passed |
[663] doubleImpLeft, doubleImpLeft {
\find(imp(b,imp(c,d))==>)
\replacewith([d]==>[]) ;
\replacewith([]==>[c]) ;
\replacewith([]==>[b])
\heuristics(beta)
Choices: true}
|
testEquality(String, String)[663] |
0.001s |
passed |
[664] double_not, double_not {
\find(not(not(b)))
\replacewith(b)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[664] |
0.001s |
passed |
[665] double_unary_minus_literal, double_unary_minus_literal {
\find(Z(neglit(neglit(iz))))
\replacewith(Z(iz))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[665] |
0.001s |
passed |
[666] dropEffectlessStores, dropEffectlessStores {
\find(store(h,o,f,x))
\varcond(\dropEffectlessStores(h (Heap term), o (java.lang.Object term), f (Field term), x (any term), result (Heap term)), )
\replacewith(result)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[666] |
0.002s |
passed |
[667] elementOfAllFields, elementOfAllFields {
\find(elementOf(o,f,allFields(o2)))
\replacewith(equals(o,o2))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[667] |
0.001s |
passed |
[668] elementOfAllLocs, elementOfAllLocs {
\find(elementOf(o,f,allLocs))
\replacewith(true)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[668] |
0.001s |
passed |
[669] elementOfAllObjects, elementOfAllObjects {
\find(elementOf(o,f,allObjects(f2)))
\replacewith(equals(f,f2))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[669] |
0.001s |
passed |
[66] all_pull_out0, all_pull_out0 {
\find(and(all{u (variable)}(b),c))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(all{u (variable)}(and(b,c)))
\heuristics(pullOutQuantifierAll)
Choices: true}
|
testEquality(String, String)[66] |
0.001s |
passed |
[670] elementOfArrayRange, elementOfArrayRange {
\find(elementOf(o,f,arrayRange(o2,lower,upper)))
\varcond(\notFreeIn(iv (variable), upper (int term)), \notFreeIn(iv (variable), lower (int term)), \notFreeIn(iv (variable), f (Field term)))
\replacewith(and(equals(o,o2),exists{iv (variable)}(and(and(equals(f,arr(iv)),leq(lower,iv)),leq(iv,upper)))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[670] |
0.001s |
passed |
[671] elementOfArrayRangeConcrete, elementOfArrayRangeConcrete {
\find(elementOf(o,arr(idx),arrayRange(o2,lower,upper)))
\replacewith(and(and(equals(o,o2),leq(lower,idx)),leq(idx,upper)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[671] |
0.001s |
passed |
[672] elementOfArrayRangeEQ, elementOfArrayRangeEQ {
\assumes ([equals(arrayRange(o2,lower,upper),EQ)]==>[])
\find(elementOf(o,f,EQ))
\sameUpdateLevel\varcond(\notFreeIn(iv (variable), upper (int term)), \notFreeIn(iv (variable), lower (int term)), \notFreeIn(iv (variable), f (Field term)))
\replacewith(and(equals(o,o2),exists{iv (variable)}(and(and(equals(f,arr(iv)),leq(lower,iv)),leq(iv,upper)))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[672] |
0.001s |
passed |
[673] elementOfEmpty, elementOfEmpty {
\find(elementOf(o,f,empty))
\replacewith(false)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[673] |
0.001s |
passed |
[674] elementOfFreshLocs, elementOfFreshLocs {
\find(elementOf(o,f,freshLocs(h)))
\replacewith(and(not(equals(o,null)),not(equals(boolean::select(h,o,java.lang.Object::<created>),TRUE))))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[674] |
0.001s |
passed |
[675] elementOfGuardedSet, elementOfGuardedSet {
\find(elementOf(o,f,if-then-else(phi,s,empty)))
\replacewith(and(phi,elementOf(o,f,s)))
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[675] |
0s |
passed |
[676] elementOfInfiniteUnion, elementOfInfiniteUnion {
\find(elementOf(o,f,infiniteUnion{av (variable)}(s)))
\varcond(\notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term)))
\replacewith(exists{av (variable)}(elementOf(o,f,s)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[676] |
0s |
passed |
[677] elementOfInfiniteUnion2Vars, elementOfInfiniteUnion2Vars {
\find(elementOf(o,f,infiniteUnion{av (variable), bv (variable)}(s)))
\varcond(\notFreeIn(bv (variable), f (Field term)), \notFreeIn(bv (variable), o (java.lang.Object term)), \notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term)))
\replacewith(exists{av (variable)}(exists{bv (variable)}(elementOf(o,f,s))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[677] |
0s |
passed |
[678] elementOfInfiniteUnion2VarsEQ, elementOfInfiniteUnion2VarsEQ {
\assumes ([equals(infiniteUnion{av (variable), bv (variable)}(s),EQ)]==>[])
\find(elementOf(o,f,EQ))
\sameUpdateLevel\varcond(\notFreeIn(bv (variable), f (Field term)), \notFreeIn(bv (variable), o (java.lang.Object term)), \notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term)))
\replacewith(exists{av (variable)}(exists{bv (variable)}(elementOf(o,f,s))))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[678] |
0s |
passed |
[679] elementOfInfiniteUnionEQ, elementOfInfiniteUnionEQ {
\assumes ([equals(infiniteUnion{av (variable)}(s),EQ)]==>[])
\find(elementOf(o,f,EQ))
\sameUpdateLevel\varcond(\notFreeIn(av (variable), f (Field term)), \notFreeIn(av (variable), o (java.lang.Object term)))
\replacewith(exists{av (variable)}(elementOf(o,f,s)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[679] |
0s |
passed |
[67] all_pull_out1, all_pull_out1 {
\find(and(c,all{u (variable)}(b)))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(all{u (variable)}(and(c,b)))
\heuristics(pullOutQuantifierAll)
Choices: true}
|
testEquality(String, String)[67] |
0.002s |
passed |
[680] elementOfIntersect, elementOfIntersect {
\find(elementOf(o,f,intersect(s,s2)))
\replacewith(and(elementOf(o,f,s),elementOf(o,f,s2)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[680] |
0.001s |
passed |
[681] elementOfIntersectEQ, elementOfIntersectEQ {
\assumes ([equals(intersect(s,s2),EQ)]==>[])
\find(elementOf(o,f,EQ))
\sameUpdateLevel\replacewith(and(elementOf(o,f,s),elementOf(o,f,s2)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[681] |
0.001s |
passed |
[682] elementOfSetMinus, elementOfSetMinus {
\find(elementOf(o,f,setMinus(s,s2)))
\replacewith(and(elementOf(o,f,s),not(elementOf(o,f,s2))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[682] |
0.001s |
passed |
[683] elementOfSetMinusEQ, elementOfSetMinusEQ {
\assumes ([equals(setMinus(s,s2),EQ)]==>[])
\find(elementOf(o,f,EQ))
\sameUpdateLevel\replacewith(and(elementOf(o,f,s),not(elementOf(o,f,s2))))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[683] |
0.002s |
passed |
[684] elementOfSingleton, elementOfSingleton {
\find(elementOf(o,f,singleton(o2,f2)))
\replacewith(and(equals(o,o2),equals(f,f2)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[684] |
0.001s |
passed |
[685] elementOfSubsetImpliesElementOfSuperset, elementOfSubsetImpliesElementOfSuperset {
\assumes ([subset(s,s2)]==>[])
\find(elementOf(o,f,s)==>)
\add [elementOf(o,f,s2)]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[685] |
0.001s |
passed |
[686] elementOfSubsetOfUnion1, elementOfSubsetOfUnion1 {
\assumes ([subset(s,union(s2,s3))]==>[elementOf(o,f,s2)])
\find(elementOf(o,f,s))
\sameUpdateLevel\add [equiv(elementOf(o,f,s),elementOf(o,f,intersect(s,s3)))]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[686] |
0.001s |
passed |
[687] elementOfSubsetOfUnion2, elementOfSubsetOfUnion2 {
\assumes ([subset(s,union(s2,s3))]==>[elementOf(o,f,s3)])
\find(elementOf(o,f,s))
\sameUpdateLevel\add [equiv(elementOf(o,f,s),elementOf(o,f,intersect(s,s2)))]==>[]
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[687] |
0.001s |
passed |
[688] elementOfUnion, elementOfUnion {
\find(elementOf(o,f,union(s,s2)))
\replacewith(or(elementOf(o,f,s),elementOf(o,f,s2)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[688] |
0.001s |
passed |
[689] elementOfUnionEQ, elementOfUnionEQ {
\assumes ([equals(union(s,s2),EQ)]==>[])
\find(elementOf(o,f,EQ))
\sameUpdateLevel\replacewith(or(elementOf(o,f,s),elementOf(o,f,s2)))
\heuristics(simplify_enlarging)
Choices: programRules:Java}
|
testEquality(String, String)[689] |
0.001s |
passed |
[68] all_pull_out2, all_pull_out2 {
\find(or(all{u (variable)}(b),c))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(all{u (variable)}(or(b,c)))
\heuristics(pullOutQuantifierAll)
Choices: true}
|
testEquality(String, String)[68] |
0.003s |
passed |
[690] elimGcdEq, elimGcdEq {
\find(equals(elimGcdLeft,elimGcdRight))
\replacewith(if-then-else(and(and(equals(mul(elimGcdLeftDiv,elimGcd),elimGcdLeft),leq(add(elimGcdRight,mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv)),add(Z(neglit(1(#))),elimGcd))),geq(add(elimGcdRight,mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv)),Z(0(#)))),and(equals(add(elimGcdRight,mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv)),Z(0(#))),equals(elimGcdLeftDiv,elimGcdRightDiv)),equals(elimGcdLeft,elimGcdRight)))
\heuristics(notHumanReadable… |
testEquality(String, String)[690] |
0.001s |
passed |
[691] elimGcdGeq, elimGcdGeq {
\find(geq(elimGcdLeft,elimGcdRight))
\replacewith(if-then-else(and(geq(add(add(add(add(sub(elimGcd,Z(1(#))),mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv)),elimGcdRight),mul(elimGcdLeftDiv,elimGcd)),mul(elimGcdLeft,Z(neglit(1(#))))),Z(0(#))),leq(add(add(add(mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv),elimGcdRight),mul(elimGcdLeftDiv,elimGcd)),mul(elimGcdLeft,Z(neglit(1(#))))),Z(0(#)))),geq(elimGcdLeftDiv,elimGcdRightDiv),geq(elimGcdLeft,elimGcdRight)))
\heuristics(notHumanReadable, i… |
testEquality(String, String)[691] |
0s |
passed |
[692] elimGcdGeq_antec, elimGcdGeq_antec {
\find(geq(elimGcdLeft,elimGcdRight)==>)
\replacewith([or(or(leq(elimGcd,Z(0(#))),leq(add(add(add(add(elimGcd,mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv)),elimGcdRight),mul(elimGcdLeftDiv,elimGcd)),mul(elimGcdLeft,Z(neglit(1(#))))),Z(0(#)))),geq(elimGcdLeftDiv,elimGcdRightDiv))]==>[])
\heuristics(notHumanReadable, inEqSimp_pullOutGcd_antec, inEqSimp_pullOutGcd_geq, inEqSimp_pullOutGcd)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[692] |
0s |
passed |
[693] elimGcdLeq, elimGcdLeq {
\find(leq(elimGcdLeft,elimGcdRight))
\replacewith(if-then-else(and(leq(add(add(add(add(sub(Z(1(#)),elimGcd),mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv)),elimGcdRight),mul(elimGcdLeftDiv,elimGcd)),mul(elimGcdLeft,Z(neglit(1(#))))),Z(0(#))),geq(add(add(add(mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv),elimGcdRight),mul(elimGcdLeftDiv,elimGcd)),mul(elimGcdLeft,Z(neglit(1(#))))),Z(0(#)))),leq(elimGcdLeftDiv,elimGcdRightDiv),leq(elimGcdLeft,elimGcdRight)))
\heuristics(notHumanReadable, i… |
testEquality(String, String)[693] |
0.001s |
passed |
[694] elimGcdLeq_antec, elimGcdLeq_antec {
\find(leq(elimGcdLeft,elimGcdRight)==>)
\replacewith([or(or(leq(elimGcd,Z(0(#))),geq(add(add(add(add(neg(elimGcd),mul(mul(elimGcd,Z(neglit(1(#)))),elimGcdRightDiv)),elimGcdRight),mul(elimGcdLeftDiv,elimGcd)),mul(elimGcdLeft,Z(neglit(1(#))))),Z(0(#)))),leq(elimGcdLeftDiv,elimGcdRightDiv))]==>[])
\heuristics(notHumanReadable, inEqSimp_pullOutGcd_antec, inEqSimp_pullOutGcd_leq, inEqSimp_pullOutGcd)
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[694] |
0.001s |
passed |
[695] elim_double_block, elim_double_block {
\find(#allmodal ( (modal operator))\[{
{
#slist
}
}\] (post))
\replacewith(#allmodal ( (modal operator))\[{
#slist
}\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[695] |
0.001s |
passed |
[696] elim_double_block_2, elim_double_block_2 {
\find(#allmodal ( (modal operator))\[{ ..
{
{
#slist
}
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[696] |
0.001s |
passed |
[697] elim_double_block_3, elim_double_block_3 {
\find(#allmodal ( (modal operator))\[{ ..
{
while (#e) #s
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
while (#e) #s
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[697] |
0.001s |
passed |
[698] elim_double_block_4, elim_double_block_4 {
\find(#allmodal ( (modal operator))\[{ ..
{
for (#loopInit; #guard; #forupdates) #s
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
for (#loopInit; #guard; #forupdates) #s
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[698] |
0s |
passed |
[699] elim_double_block_5, elim_double_block_5 {
\find(#allmodal ( (modal operator))\[{ ..
{
for (; #guard; #forupdates) #s
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
for (; #guard; #forupdates) #s
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[699] |
0s |
passed |
[69] all_pull_out3, all_pull_out3 {
\find(or(c,all{u (variable)}(b)))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(all{u (variable)}(or(c,b)))
\heuristics(pullOutQuantifierAll)
Choices: true}
|
testEquality(String, String)[69] |
0.001s |
passed |
[6] acosRange, acosRange {
\find(acosDouble(arg))
\add [imp(and(geqDouble(arg,negDouble(DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),leqDouble(arg,DFP(8(0(4(7(1(0(0(0(8(8(1(4(2(8(1(7(0(6(4(#)))))))))))))))))))))),and(geqDouble(acosDouble(arg),DFP(0(#))),leqDouble(acosDouble(arg),DFP(8(4(8(5(4(0(2(5(5(6(5(6(6(5(2(4(1(6(4(#)))))))))))))))))))))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[6] |
0.001s |
passed |
[700] elim_double_block_6, elim_double_block_6 {
\find(#allmodal ( (modal operator))\[{ ..
{
for (#loopInit; #guard; ) #s
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
for (#loopInit; #guard; ) #s
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[700] |
0s |
passed |
[701] elim_double_block_7, elim_double_block_7 {
\find(#allmodal ( (modal operator))\[{ ..
{
for (; #guard; ) #s
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
for (; #guard; ) #s
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[701] |
0.001s |
passed |
[702] elim_double_block_8, elim_double_block_8 {
\find(#allmodal ( (modal operator))\[{ ..
{
do #s
while (#e);
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
do #s
while (#e);
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[702] |
0.007s |
passed |
[703] elim_double_block_9, elim_double_block_9 {
\find(#allmodal ( (modal operator))\[{ ..
{
{
#slist
}
{
#slist1
}
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist
}
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[703] |
0s |
passed |
[704] elim_exists0, elim_exists0 {
\find(exists{Gvar (variable)}(equals(Gvar,subGterm)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[704] |
0.001s |
passed |
[705] elim_exists1, elim_exists1 {
\find(exists{Gvar (variable)}(equals(subGterm,Gvar)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[705] |
0.001s |
passed |
[706] elim_exists2, elim_exists2 {
\find(exists{Gvar (variable)}(equals(Gvar,Hterm)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(equals(G::instance(Hterm),TRUE))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[706] |
0.001s |
passed |
[707] elim_exists3, elim_exists3 {
\find(exists{Gvar (variable)}(equals(Hterm,Gvar)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(equals(G::instance(Hterm),TRUE))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[707] |
0.001s |
passed |
[708] elim_exists4, elim_exists4 {
\find(exists{Gvar (variable)}(and(phi,equals(Gvar,subGterm))))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,phi))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[708] |
0.001s |
passed |
[709] elim_exists5, elim_exists5 {
\find(exists{Gvar (variable)}(and(phi,equals(subGterm,Gvar))))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,phi))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[709] |
0.001s |
passed |
[70] all_pull_out4, all_pull_out4 {
\find(and(all{u (variable)}(b),all{u2 (variable)}(c)))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(all{u (variable)}(and(b,subst{u2 (variable)}(u,c))))
\heuristics(pullOutQuantifierUnifying, pullOutQuantifierAll)
Choices: true}
|
testEquality(String, String)[70] |
0.001s |
passed |
[710] elim_exists6, elim_exists6 {
\find(exists{Gvar (variable)}(and(phi,equals(Gvar,Hterm))))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(and(subst{Gvar (variable)}(G::cast(Hterm),phi),equals(G::instance(Hterm),TRUE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[710] |
0.001s |
passed |
[711] elim_exists7, elim_exists7 {
\find(exists{Gvar (variable)}(and(phi,equals(Hterm,Gvar))))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(and(subst{Gvar (variable)}(G::cast(Hterm),phi),equals(G::instance(Hterm),TRUE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[711] |
0.001s |
passed |
[712] elim_exists_leq, elim_exists_leq {
\find(exists{INTVar (variable)}(and(leq(INTVar,intTermLeft),geq(INTVar,intTermRight))))
\varcond(\notFreeIn(INTVar (variable), intTermRight (int term)), \notFreeIn(INTVar (variable), intTermLeft (int term)))
\replacewith(leq(intTermRight,intTermLeft))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[712] |
0.001s |
passed |
[713] elim_exists_nonSingleton0, elim_exists_nonSingleton0 {
\find(exists{nonSingleVar (variable)}(not(equals(nonSingleVar,Hterm))))
\varcond(\notFreeIn(nonSingleVar (variable), Hterm (H term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[713] |
0.001s |
passed |
[714] elim_exists_nonSingleton1, elim_exists_nonSingleton1 {
\find(exists{nonSingleVar (variable)}(not(equals(Hterm,nonSingleVar))))
\varcond(\notFreeIn(nonSingleVar (variable), Hterm (H term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[714] |
0.001s |
passed |
[715] elim_exists_nonSingleton2, elim_exists_nonSingleton2 {
\find(exists{INTVar (variable)}(geq(INTVar,intTerm)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[715] |
0.001s |
passed |
[716] elim_exists_nonSingleton3, elim_exists_nonSingleton3 {
\find(exists{INTVar (variable)}(leq(INTVar,intTerm)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[716] |
0.001s |
passed |
[717] elim_exists_nonSingleton4, elim_exists_nonSingleton4 {
\find(exists{INTVar (variable)}(geq(intTerm,INTVar)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[717] |
0.001s |
passed |
[718] elim_exists_nonSingleton5, elim_exists_nonSingleton5 {
\find(exists{INTVar (variable)}(leq(intTerm,INTVar)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(true)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[718] |
0.001s |
passed |
[719] elim_exists_sub_1, elim_exists_sub_1 {
\find(exists{locVar (variable)}(and(subset(locVar,locSetTermRight),subset(locSetTermLeft,locVar))))
\varcond(\notFreeIn(locVar (variable), locSetTermRight (LocSet term)), \notFreeIn(locVar (variable), locSetTermLeft (LocSet term)))
\replacewith(subset(locSetTermLeft,locSetTermRight))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[719] |
0s |
passed |
[71] all_unused, all_unused {
\find(all{u (variable)}(b))
\varcond(\notFreeIn(u (variable), b (formula)))
\replacewith(b)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[71] |
0.002s |
passed |
[720] elim_exists_sub_1_and_phi, elim_exists_sub_1_and_phi {
\find(exists{locVar (variable)}(and(and(subset(locVar,locSetTerm),subset(locSetTerm,locVar)),phi)))
\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term)))
\replacewith(exists{locVar (variable)}(and(equals(locVar,locSetTerm),phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[720] |
0.001s |
passed |
[721] elim_exists_sub_1_or_phi, elim_exists_sub_1_or_phi {
\find(exists{locVar (variable)}(or(and(subset(locVar,locSetTermRight),subset(locSetTermLeft,locVar)),phi)))
\varcond(\notFreeIn(locVar (variable), locSetTermRight (LocSet term)), \notFreeIn(locVar (variable), locSetTermLeft (LocSet term)))
\replacewith(or(subset(locSetTermLeft,locSetTermRight),exists{locVar (variable)}(phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[721] |
0.001s |
passed |
[722] elim_forall0, elim_forall0 {
\find(all{Gvar (variable)}(not(equals(Gvar,subGterm))))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[722] |
0.001s |
passed |
[723] elim_forall1, elim_forall1 {
\find(all{Gvar (variable)}(not(equals(subGterm,Gvar))))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[723] |
0.001s |
passed |
[724] elim_forall10, elim_forall10 {
\find(all{Gvar (variable)}(imp(equals(Gvar,Hterm),phi)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),phi),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[724] |
0.001s |
passed |
[725] elim_forall11, elim_forall11 {
\find(all{Gvar (variable)}(imp(equals(Hterm,Gvar),phi)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),phi),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[725] |
0.001s |
passed |
[726] elim_forall12, elim_forall12 {
\find(all{Gvar (variable)}(imp(and(psi,equals(Gvar,subGterm)),phi)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,imp(psi,phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[726] |
0.001s |
passed |
[727] elim_forall13, elim_forall13 {
\find(all{Gvar (variable)}(imp(and(psi,equals(subGterm,Gvar)),phi)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,imp(psi,phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[727] |
0.001s |
passed |
[728] elim_forall14, elim_forall14 {
\find(all{Gvar (variable)}(imp(and(psi,equals(Gvar,Hterm)),phi)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),imp(psi,phi)),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[728] |
0.001s |
passed |
[729] elim_forall15, elim_forall15 {
\find(all{Gvar (variable)}(imp(and(psi,equals(Hterm,Gvar)),phi)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),imp(psi,phi)),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[729] |
0.001s |
passed |
[72] allocateInstance, allocateInstance {
\find(==>#allmodal ( (modal operator))\[{ ..
#lhs = #t.#allocate()@#t;
... }\] (post))
\varcond(\hasSort(#t2 (program Type), alphaObj), )
\add [and(and(not(equals(#lhs,null)),imp(wellFormed(heap),equals(boolean::select(heap,#lhs,java.lang.Object::<created>),FALSE))),equals(alphaObj::exactInstance(#lhs),TRUE))]==>[] \replacewith([]==>[update-application(elem-update(heap)(create(heap,#lhs)),#allmodal(post))])
\heuristics(method_expand)
Choices: (programRules:Java & permissions:off)}
|
testEquality(String, String)[72] |
0.002s |
passed |
[730] elim_forall16, elim_forall16 {
\find(all{Gvar (variable)}(imp(and(equals(Gvar,subGterm),psi),phi)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,imp(psi,phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[730] |
0.001s |
passed |
[731] elim_forall17, elim_forall17 {
\find(all{Gvar (variable)}(imp(and(equals(subGterm,Gvar),psi),phi)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,imp(psi,phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[731] |
0.001s |
passed |
[732] elim_forall18, elim_forall18 {
\find(all{Gvar (variable)}(imp(and(equals(Gvar,Hterm),psi),phi)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),imp(psi,phi)),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[732] |
0.001s |
passed |
[733] elim_forall19, elim_forall19 {
\find(all{Gvar (variable)}(imp(and(equals(Hterm,Gvar),psi),phi)))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),imp(psi,phi)),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[733] |
0.001s |
passed |
[734] elim_forall2, elim_forall2 {
\find(all{Gvar (variable)}(not(equals(Gvar,Hterm))))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(equals(G::instance(Hterm),FALSE))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[734] |
0.001s |
passed |
[735] elim_forall3, elim_forall3 {
\find(all{Gvar (variable)}(not(equals(Hterm,Gvar))))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(equals(G::instance(Hterm),FALSE))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[735] |
0.001s |
passed |
[736] elim_forall4, elim_forall4 {
\find(all{Gvar (variable)}(or(phi,not(equals(Gvar,subGterm)))))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,phi))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[736] |
0s |
passed |
[737] elim_forall5, elim_forall5 {
\find(all{Gvar (variable)}(or(phi,not(equals(subGterm,Gvar)))))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,phi))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[737] |
0s |
passed |
[738] elim_forall6, elim_forall6 {
\find(all{Gvar (variable)}(or(phi,not(equals(Gvar,Hterm)))))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),phi),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[738] |
0.001s |
passed |
[739] elim_forall7, elim_forall7 {
\find(all{Gvar (variable)}(or(phi,not(equals(Hterm,Gvar)))))
\varcond(\notFreeIn(Gvar (variable), Hterm (H term)))
\replacewith(or(subst{Gvar (variable)}(G::cast(Hterm),phi),equals(G::instance(Hterm),FALSE)))
\heuristics(elimQuantifierWithCast, elimQuantifier)
Choices: true}
|
testEquality(String, String)[739] |
0.001s |
passed |
[73] allocateInstanceWithLength, allocateInstanceWithLength {
\find(==>#allmodal ( (modal operator))\[{ ..
#lhs = #t.#allocate(#len)@#t;
... }\] (post))
\varcond(\hasSort(#t2 (program Type), alphaObj), )
\add [and(and(not(equals(#lhs,null)),imp(wellFormed(heap),and(equals(boolean::select(heap,#lhs,java.lang.Object::<created>),FALSE),equals(length(#lhs),#len)))),equals(alphaObj::exactInstance(#lhs),TRUE))]==>[] \replacewith([]==>[update-application(elem-update(heap)(store(store(create(heap,#lhs),#lhs,java.lang.Object::<transient>,Z(0(#))… |
testEquality(String, String)[73] |
0.001s |
passed |
[740] elim_forall8, elim_forall8 {
\find(all{Gvar (variable)}(imp(equals(Gvar,subGterm),phi)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,phi))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[740] |
0.001s |
passed |
[741] elim_forall9, elim_forall9 {
\find(all{Gvar (variable)}(imp(equals(subGterm,Gvar),phi)))
\varcond(\notFreeIn(Gvar (variable), subGterm (subG term)))
\replacewith(subst{Gvar (variable)}(subGterm,phi))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[741] |
0.001s |
passed |
[742] elim_forall_eqSet_imp_phi, elim_forall_eqSet_imp_phi {
\find(all{locVar (variable)}(imp(and(subset(locVar,locSetTerm),subset(locSetTerm,locVar)),phi)))
\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term)))
\replacewith(all{locVar (variable)}(imp(equals(locSetTerm,locVar),phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[742] |
0.001s |
passed |
[743] elim_forall_leq, elim_forall_leq {
\find(all{INTVar (variable)}(or(leq(INTVar,intTermLeft),geq(INTVar,intTermRight))))
\varcond(\notFreeIn(INTVar (variable), intTermRight (int term)), \notFreeIn(INTVar (variable), intTermLeft (int term)))
\replacewith(leq(intTermRight,add(intTermLeft,Z(1(#)))))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[743] |
0.001s |
passed |
[744] elim_forall_nonSingleton0, elim_forall_nonSingleton0 {
\find(all{nonSingleVar (variable)}(equals(nonSingleVar,Hterm)))
\varcond(\notFreeIn(nonSingleVar (variable), Hterm (H term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[744] |
0.001s |
passed |
[745] elim_forall_nonSingleton1, elim_forall_nonSingleton1 {
\find(all{nonSingleVar (variable)}(equals(Hterm,nonSingleVar)))
\varcond(\notFreeIn(nonSingleVar (variable), Hterm (H term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[745] |
0.001s |
passed |
[746] elim_forall_nonSingleton2, elim_forall_nonSingleton2 {
\find(all{INTVar (variable)}(geq(INTVar,intTerm)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[746] |
0.001s |
passed |
[747] elim_forall_nonSingleton3, elim_forall_nonSingleton3 {
\find(all{INTVar (variable)}(leq(INTVar,intTerm)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[747] |
0.001s |
passed |
[748] elim_forall_nonSingleton4, elim_forall_nonSingleton4 {
\find(all{INTVar (variable)}(geq(intTerm,INTVar)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[748] |
0.001s |
passed |
[749] elim_forall_nonSingleton5, elim_forall_nonSingleton5 {
\find(all{INTVar (variable)}(leq(intTerm,INTVar)))
\varcond(\notFreeIn(INTVar (variable), intTerm (int term)))
\replacewith(false)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[749] |
0.001s |
passed |
[74] altAxiom, altAxiom {
\find(match(alt(rexp1,rexp2),string))
\replacewith(or(match(rexp1,string),match(rexp2,string)))
\heuristics(simplify)
Choices: Strings:on}
|
testEquality(String, String)[74] |
0.002s |
passed |
[750] elim_forall_subOfAll, elim_forall_subOfAll {
\find(all{locVar (variable)}(subset(locSetTerm,locVar)))
\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term)))
\replacewith(equals(locSetTerm,empty))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[750] |
0s |
passed |
[751] elim_forall_subOfAll_and_phi, elim_forall_subOfAll_and_phi {
\find(all{locVar (variable)}(and(subset(locSetTerm,locVar),phi)))
\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term)))
\replacewith(and(equals(locSetTerm,empty),all{locVar (variable)}(phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[751] |
0.001s |
passed |
[752] elim_forall_superOfAll, elim_forall_superOfAll {
\find(all{locVar (variable)}(subset(locVar,locSetTerm)))
\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term)))
\replacewith(equals(locSetTerm,allLocs))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[752] |
0.001s |
passed |
[753] elim_forall_superOfAll_and_phi, elim_forall_superOfAll_and_phi {
\find(all{locVar (variable)}(and(subset(locVar,locSetTerm),phi)))
\varcond(\notFreeIn(locVar (variable), locSetTerm (LocSet term)))
\replacewith(and(equals(locSetTerm,allLocs),all{locVar (variable)}(phi)))
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[753] |
0.001s |
passed |
[754] emptyEqualsSingleton, emptyEqualsSingleton {
\find(equals(empty,singleton(o,f)))
\replacewith(false)
\heuristics(concrete)
Choices: programRules:Java}
|
testEquality(String, String)[754] |
0.001s |
passed |
[755] emptyModality, emptyModality {
\find(#normal(post))
\replacewith(post)
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[755] |
0.001s |
passed |
[756] emptyModalityBoxTransaction, emptyModalityBoxTransaction {
\find(box_transaction(post))
\replacewith(true)
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[756] |
0.001s |
passed |
[757] emptyModalityDiamondTransaction, emptyModalityDiamondTransaction {
\find(diamond_transaction(post))
\replacewith(false)
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[757] |
0.001s |
passed |
[758] emptyStatement, emptyStatement {
\find(#allmodal ( (modal operator))\[{ ..
;
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[758] |
0s |
passed |
[759] endsWith, endsWith {
\find(clEndsWith(sourceStr,searchStr))
\replacewith(if-then-else(gt(seqLen(searchStr),seqLen(sourceStr)),false,equals(seqSub(sourceStr,sub(seqLen(sourceStr),seqLen(searchStr)),seqLen(sourceStr)),searchStr)))
\heuristics(defOpsStartsEndsWith)
Choices: Strings:on}
|
testEquality(String, String)[759] |
0.002s |
passed |
[75] andJIntDef, andJIntDef {
\find(andJint(left,right))
\replacewith(moduloInt(binaryAnd(left,right)))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[75] |
0.001s |
passed |
[760] enhancedfor_iterable, enhancedfor_iterable {
\find(#allmodal ( (modal operator))\[{ ..
for (#ty #id : #e) #stm
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
enhancedfor-elim(for (#ty #id : #e) #stm)
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[760] |
0.001s |
passed |
[761] eqClose, eqClose {
\find(equals(s,s))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[761] |
0.002s |
passed |
[762] eqSymm, eqSymm {
\find(equals(commEqLeft,commEqRight))
\replacewith(equals(commEqRight,commEqLeft))
\heuristics(order_terms)
Choices: true}
|
testEquality(String, String)[762] |
0.001s |
passed |
[763] eqTermCut, eqTermCut {
\find(t)
\sameUpdateLevel\add [not(equals(t,s))]==>[] ;
\add [equals(t,s)]==>[]
Choices: true}
|
testEquality(String, String)[763] |
0.001s |
passed |
[764] eq_add_iff1, eq_add_iff1 {
\find(equals(add(mul(i0,i1),i2),add(mul(i3,i1),i4)))
\replacewith(equals(add(mul(sub(i0,i3),i1),i2),i4))
Choices: true}
|
testEquality(String, String)[764] |
0.001s |
passed |
[765] eq_add_iff2, eq_add_iff2 {
\find(equals(add(mul(i0,i1),i2),add(mul(i3,i1),i4)))
\replacewith(equals(i2,add(mul(sub(i3,i0),i1),i4)))
Choices: true}
|
testEquality(String, String)[765] |
0.001s |
passed |
[766] eq_and, eq_and {
\find(and(phi,phi))
\replacewith(phi)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[766] |
0.001s |
passed |
[767] eq_and_2, eq_and_2 {
\find(and(and(psi,phi),phi))
\replacewith(and(psi,phi))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[767] |
0.001s |
passed |
[768] eq_eq, eq_eq {
\find(equiv(phi,phi))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[768] |
0.001s |
passed |
[769] eq_imp, eq_imp {
\find(imp(phi,phi))
\replacewith(true)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[769] |
0s |
passed |
[76] andLeft, andLeft {
\find(and(b,c)==>)
\replacewith([b,c]==>[])
\heuristics(alpha)
Choices: true}
|
testEquality(String, String)[76] |
0.001s |
passed |
[770] eq_or, eq_or {
\find(or(phi,phi))
\replacewith(phi)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[770] |
0s |
passed |
[771] eq_or_2, eq_or_2 {
\find(or(or(psi,phi),phi))
\replacewith(or(psi,phi))
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[771] |
0s |
passed |
[772] eq_sides, eq_sides {
\find(equals(i,j))
\replacewith(equals(sub(i,j),Z(0(#))))
Choices: true}
|
testEquality(String, String)[772] |
0.004s |
passed |
[773] equalCharacters, equalCharacters {
\find(equals(C(iz1),C(iz2)))
\replacewith(equals(Z(iz1),Z(iz2)))
\heuristics(stringsSimplify)
Choices: Strings:on}
|
testEquality(String, String)[773] |
0.002s |
passed |
[774] equalRegEx, equalRegEx {
\find(equals(rexp1,rexp2))
\varcond(\notFreeIn(string (variable), rexp2 (RegEx term)), \notFreeIn(string (variable), rexp1 (RegEx term)))
\replacewith(all{string (variable)}(equiv(match(rexp1,string),match(rexp2,string))))
Choices: Strings:on}
|
testEquality(String, String)[774] |
0.003s |
passed |
[775] equalUnique, equalUnique {
\find(equals(f,f2))
\varcond(\equalUnique (f (any term), f2 (any term), result (formula)), )
\replacewith(result)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[775] |
0.001s |
passed |
[776] equal_add, equal_add {
\find(==>equals(i0,i1))
\varcond(\notFreeIn(j2 (variable), i1 (int term)), \notFreeIn(j2 (variable), i0 (int term)))
\replacewith([]==>[exists{j2 (variable)}(equals(add(i0,j2),add(i1,j2)))])
Choices: true}
|
testEquality(String, String)[776] |
0s |
passed |
[777] equal_add_one, equal_add_one {
\find(equals(i0,i1))
\replacewith(equals(add(i0,Z(1(#))),add(i1,Z(1(#)))))
Choices: true}
|
testEquality(String, String)[777] |
0s |
passed |
[778] equal_bprod1, equal_bprod1 {
\find(==>equals(bprod{uSub1 (variable)}(i0,i1,t1),bprod{uSub2 (variable)}(i0,i1,t2)))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)))
\add []==>[all{uSub1 (variable)}(imp(and(geq(uSub1,i0),lt(uSub1,i1)),equals(t1,subst{uSub2 (variable)}(uSub1,t2))))]
\heuristics(c… |
testEquality(String, String)[778] |
0s |
passed |
[779] equal_bprod2, equal_bprod2 {
\assumes ([equals(bprod{uSub1 (variable)}(i0,i1,t1),i)]==>[])
\find(==>equals(bprod{uSub2 (variable)}(i0,i1,t2),i))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)))
\add []==>[all{uSub1 (variable)}(imp(and(geq(uSub1,i0),lt(uSub1,i1)),equals(t1,subst{uSub2 (variable… |
testEquality(String, String)[779] |
0.001s |
passed |
[77] andRight, andRight {
\find(==>and(b,c))
\replacewith([]==>[c]) ;
\replacewith([]==>[b])
\heuristics(beta)
Choices: true}
|
testEquality(String, String)[77] |
0.001s |
passed |
[780] equal_bprod3, equal_bprod3 {
\assumes ([equals(bprod{uSub1 (variable)}(i0,i1,t1),i),equals(bprod{uSub2 (variable)}(i0,i1,t2),j)]==>[])
\find(==>equals(j,i))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)))
\add []==>[all{uSub1 (variable)}(imp(and(geq(uSub1,i0),lt(uSub1,i1)),equals(t1,subst{uSu… |
testEquality(String, String)[780] |
0.001s |
passed |
[781] equal_bprod5, equal_bprod5 {
\find(==>equals(bprod{uSub1 (variable)}(i0,i1,t1),bprod{uSub2 (variable)}(i2,i3,t2)))
\varcond(\notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term… |
testEquality(String, String)[781] |
0s |
passed |
[782] equal_bprod_perm1, equal_bprod_perm1 {
\find(==>equals(bprod{uSub1 (variable)}(i0,i1,t1),bprod{uSub2 (variable)}(i2,i3,t2)))
\varcond(\notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int… |
testEquality(String, String)[782] |
0.001s |
passed |
[783] equal_bprod_perm2, equal_bprod_perm2 {
\assumes ([equals(bprod{uSub2 (variable)}(i2,i3,t2),t)]==>[])
\find(==>equals(bprod{uSub1 (variable)}(i0,i1,t1),t))
\varcond(\notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notF… |
testEquality(String, String)[783] |
0.001s |
passed |
[784] equal_bsum1, equal_bsum1 {
\find(==>equals(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i0,i1,t2)))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)))
\add []==>[all{uSub1 (variable)}(imp(and(geq(uSub1,i0),lt(uSub1,i1)),equals(t1,subst{uSub2 (variable)}(uSub1,t2))))]
\heuristics(comp… |
testEquality(String, String)[784] |
0.001s |
passed |
[785] equal_bsum2, equal_bsum2 {
\assumes ([equals(bsum{uSub1 (variable)}(i0,i1,t1),i)]==>[])
\find(==>equals(bsum{uSub2 (variable)}(i0,i1,t2),i))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)))
\add []==>[all{uSub1 (variable)}(imp(and(geq(uSub1,i0),lt(uSub1,i1)),equals(t1,subst{uSub2 (variable)}(… |
testEquality(String, String)[785] |
0s |
passed |
[786] equal_bsum3, equal_bsum3 {
\assumes ([equals(bsum{uSub1 (variable)}(i0,i1,t1),i),equals(bsum{uSub2 (variable)}(i0,i1,t2),j)]==>[])
\find(==>equals(j,i))
\varcond(\notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)), \notFreeIn(uSub2 (variable), t1 (int term)))
\add []==>[all{uSub1 (variable)}(imp(and(geq(uSub1,i0),lt(uSub1,i1)),equals(t1,subst{uSub2 … |
testEquality(String, String)[786] |
0.001s |
passed |
[787] equal_bsum5, equal_bsum5 {
\find(==>equals(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i2,i3,t2)))
\varcond(\notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int term)),… |
testEquality(String, String)[787] |
0.001s |
passed |
[788] equal_bsum_perm1, equal_bsum_perm1 {
\find(==>equals(bsum{uSub1 (variable)}(i0,i1,t1),bsum{uSub2 (variable)}(i2,i3,t2)))
\varcond(\notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), t2 (int te… |
testEquality(String, String)[788] |
0.001s |
passed |
[789] equal_bsum_perm2, equal_bsum_perm2 {
\assumes ([equals(bsum{uSub2 (variable)}(i2,i3,t2),t)]==>[])
\find(==>equals(bsum{uSub1 (variable)}(i0,i1,t1),t))
\varcond(\notFreeIn(uSub2 (variable), i3 (int term)), \notFreeIn(uSub1 (variable), i3 (int term)), \notFreeIn(uSub2 (variable), i2 (int term)), \notFreeIn(uSub1 (variable), i2 (int term)), \notFreeIn(uSub2 (variable), i1 (int term)), \notFreeIn(uSub1 (variable), i1 (int term)), \notFreeIn(uSub2 (variable), i0 (int term)), \notFreeIn(uSub1 (variable), i0 (int term)), \notFree… |
testEquality(String, String)[789] |
0.012s |
passed |
[78] applyEq, applyEq {
\assumes ([equals(s,t1)]==>[])
\find(s)
\sameUpdateLevel\replacewith(t1)
\heuristics(apply_select_eq, apply_equations)
Choices: true}
|
testEquality(String, String)[78] |
0.001s |
passed |
[790] equal_bsum_zero_cut, equal_bsum_zero_cut {
\find(==>equals(bsum{uSub1 (variable)}(i0,i1,t1),mul(bsum{uSub2 (variable)}(i2,i3,t2),t)))
\add [equals(bsum{uSub1 (variable)}(i0,i1,t1),Z(0(#)))]==>[] ;
\add []==>[equals(bsum{uSub1 (variable)}(i0,i1,t1),Z(0(#)))]
Choices: integerSimplificationRules:full}
|
testEquality(String, String)[790] |
0.001s |
passed |
[791] equal_literals, equal_literals {
\find(equals(Z(iz),Z(jz)))
\replacewith(#eq(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[791] |
0.001s |
passed |
[792] equalityToElementOf, equalityToElementOf {
\find(equals(s,s2))
\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term)))
\replacewith(all{ov (variable)}(all{fv (variable)}(equiv(elementOf(ov,fv,s),elementOf(ov,fv,s2)))))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[792] |
0.001s |
passed |
[793] equalityToElementOfRight, equalityToElementOfRight {
\find(==>equals(s,s2))
\varcond(\notFreeIn(fv (variable), s2 (LocSet term)), \notFreeIn(fv (variable), s (LocSet term)), \notFreeIn(ov (variable), s2 (LocSet term)), \notFreeIn(ov (variable), s (LocSet term)))
\replacewith([]==>[all{ov (variable)}(all{fv (variable)}(equiv(elementOf(ov,fv,s),elementOf(ov,fv,s2))))])
\heuristics(setEqualityBlastingRight)
Choices: programRules:Java}
|
testEquality(String, String)[793] |
0.001s |
passed |
[794] equalityToSelect, equalityToSelect {
\find(equals(h,h2))
\varcond(\notFreeIn(fv (variable), h2 (Heap term)), \notFreeIn(fv (variable), h (Heap term)), \notFreeIn(ov (variable), h2 (Heap term)), \notFreeIn(ov (variable), h (Heap term)))
\replacewith(all{ov (variable)}(all{fv (variable)}(equals(any::select(h,ov,fv),any::select(h2,ov,fv)))))
\heuristics(semantics_blasting)
Choices: programRules:Java}
|
testEquality(String, String)[794] |
0.001s |
passed |
[795] equalityToSeqGetAndSeqLen, equalityToSeqGetAndSeqLen {
\find(equals(left,right))
\varcond(\notFreeIn(iv (variable), right (Seq term)), \notFreeIn(iv (variable), left (Seq term)))
\replacewith(and(equals(seqLen(left),seqLen(right)),all{iv (variable)}(imp(and(leq(Z(0(#)),iv),lt(iv,seqLen(left))),equals(any::seqGet(left,iv),any::seqGet(right,iv))))))
\heuristics(defOpsSeqEquality)
Choices: sequences:on}
|
testEquality(String, String)[795] |
0.001s |
passed |
[796] equalityToSeqGetAndSeqLenLeft, equalityToSeqGetAndSeqLenLeft {
\find(equals(s,s2)==>)
\varcond(\notFreeIn(iv (variable), s2 (Seq term)), \notFreeIn(iv (variable), s (Seq term)))
\add [and(equals(seqLen(s),seqLen(s2)),all{iv (variable)}(imp(and(leq(Z(0(#)),iv),lt(iv,seqLen(s))),equals(any::seqGet(s,iv),any::seqGet(s2,iv)))))]==>[]
\heuristics(inReachableStateImplication)
Choices: sequences:on}
|
testEquality(String, String)[796] |
0s |
passed |
[797] equalityToSeqGetAndSeqLenRight, equalityToSeqGetAndSeqLenRight {
\find(==>equals(s,s2))
\varcond(\notFreeIn(iv (variable), s2 (Seq term)), \notFreeIn(iv (variable), s (Seq term)))
\replacewith([]==>[and(equals(seqLen(s),seqLen(s2)),all{iv (variable)}(imp(and(leq(Z(0(#)),iv),lt(iv,seqLen(s))),equals(any::seqGet(s,iv),any::seqGet(s2,iv)))))])
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[797] |
0s |
passed |
[798] equality_comparison_double, equality_comparison_double {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seDouble0 == #seDouble1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(eqDouble(#seDouble0,#seDouble1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[798] |
0s |
passed |
[799] equality_comparison_new, equality_comparison_new {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 == #senf1;
... }\] (post))
\replacewith(if-then-else(not(equals(#senf0,#senf1)),#allmodal ( (modal operator))\[{ ..
#lhs = false;
... }\] (post),#allmodal ( (modal operator))\[{ ..
#lhs = true;
... }\] (post)))
\heuristics(split_if, simplify_prog, obsolete)
Choices: programRules:Java}
|
testEquality(String, String)[799] |
0s |
passed |
[79] applyEqReverse, applyEqReverse {
\assumes ([equals(s,t1)]==>[])
\find(t1)
\sameUpdateLevel\replacewith(s)
\heuristics(apply_auxiliary_eq)
Choices: true}
|
testEquality(String, String)[79] |
0.002s |
passed |
[7] activeUseAddition, activeUseAddition {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left + #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left + #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[7] |
0.002s |
passed |
[800] equality_comparison_simple, equality_comparison_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 == #senf1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(equals(#senf0,#senf1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[800] |
0s |
passed |
[801] equality_comparison_simple_float, equality_comparison_simple_float {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seFloat0 == #seFloat1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(eqFloat(#seFloat0,#seFloat1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[801] |
0.001s |
passed |
[802] equivAllRight, equivAllRight {
\find(==>equiv(all{u (variable)}(b),all{e2 (variable)}(c)))
\varcond(\notFreeIn(e2 (variable), b (formula)), \notFreeIn(u (variable), c (formula)))
\add []==>[all{u (variable)}(equiv(b,subst{e2 (variable)}(u,c)))]
Choices: true}
|
testEquality(String, String)[802] |
0.001s |
passed |
[803] equiv_left, equiv_left {
\find(equiv(b,c)==>)
\replacewith([]==>[b,c]) ;
\replacewith([b,c]==>[])
\heuristics(beta)
Choices: true}
|
testEquality(String, String)[803] |
0.001s |
passed |
[804] equiv_right, equiv_right {
\find(==>equiv(b,c))
\replacewith([c]==>[b]) ;
\replacewith([b]==>[c])
\heuristics(beta)
Choices: true}
|
testEquality(String, String)[804] |
0s |
passed |
[805] eval_array_this_access, eval_array_this_access {
\find(#allmodal ( (modal operator))\[{ ..
this[#nse] = #se0;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v0 = #nse;
this[#v0] = #se0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[805] |
0.001s |
passed |
[806] eval_order_access1, eval_order_access1 {
\find(#allmodal ( (modal operator))\[{ ..
#nv.#attribute = #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nv (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nv) #v0 = #nv;
#v0.#attribute = #e;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[806] |
0.001s |
passed |
[807] eval_order_access2, eval_order_access2 {
\find(#allmodal ( (modal operator))\[{ ..
#v = #nv.#attribute;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nv (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nv) #v0 = #nv;
#v = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[807] |
0.001s |
passed |
[808] eval_order_access4, eval_order_access4 {
\find(#allmodal ( (modal operator))\[{ ..
#v.#a = #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#v (program Variable))), \not \static(#a (program Variable)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#v) #v0 = #v;
#typeof(#nse) #v1 = #nse;
#v0.#a = #v1;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[808] |
0.001s |
passed |
[809] eval_order_access4_this, eval_order_access4_this {
\find(#allmodal ( (modal operator))\[{ ..
#v.#a = #nse;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \not \static(#a (program Variable)), \isThisReference (#v (program Variable)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nse) #v1 = #nse;
#v.#a = #v1;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[809] |
0.001s |
passed |
[80] applyEqRigid, applyEqRigid {
\assumes ([equals(sr,tr1)]==>[])
\find(sr)
\replacewith(tr1)
\heuristics(apply_equations)
Choices: true}
|
testEquality(String, String)[80] |
0.001s |
passed |
[810] eval_order_array_access1, eval_order_array_access1 {
\find(#allmodal ( (modal operator))\[{ ..
#nv[#e] = #e0;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nv (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nv) #v0 = #nv;
#v0[#e] = #e0;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[810] |
0.001s |
passed |
[811] eval_order_array_access2, eval_order_array_access2 {
\find(#allmodal ( (modal operator))\[{ ..
#v[#nse] = #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#ar1 (program Variable), \typeof(#v (program Variable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#v) #ar1 = #v;
#typeof(#nse) #v0 = #nse;
#ar1[#v0] = #e;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[811] |
0s |
passed |
[812] eval_order_array_access3, eval_order_array_access3 {
\find(#allmodal ( (modal operator))\[{ ..
#v[#se] = #nse;
... }\] (post))
\varcond(\new(#v2 (program Variable), \typeof(#se (program SimpleExpression))), \new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#v0 (program Variable), \typeof(#v (program Variable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#v) #v0 = #v;
#typeof(#se) #v2 = #se;
#typeof(#nse) #v1 = #nse;
#v0[#v2] = #v1;
... }\] (post))
\heuristics(simplify_prog_sub… |
testEquality(String, String)[812] |
0.001s |
passed |
[813] eval_order_array_access4, eval_order_array_access4 {
\find(#allmodal ( (modal operator))\[{ ..
#v = #nv[#e];
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nv (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nv) #v0 = #nv;
#v = #v0[#e];
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[813] |
0.001s |
passed |
[814] eval_order_array_access5, eval_order_array_access5 {
\find(#allmodal ( (modal operator))\[{ ..
#v = #v0[#nse];
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#nse (program NonSimpleExpression))), \new(#ar1 (program Variable), \typeof(#v0 (program Variable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#v0) #ar1 = #v0;
#typeof(#nse) #v1 = #nse;
#v = #ar1[#v1];
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[814] |
0.001s |
passed |
[815] eval_order_array_access6, eval_order_array_access6 {
\find(#allmodal ( (modal operator))\[{ ..
#v = #nv.#length;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#nv (program NonSimpleExpression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#nv) #v0 = #nv;
#v = #v0.#length;
... }\] (post))
\heuristics(simplify_prog_subset, simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[815] |
0.001s |
passed |
[816] eval_order_iterated_assignments_0_0, eval_order_iterated_assignments_0_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] = #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = #e1;
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[816] |
0s |
passed |
[817] eval_order_iterated_assignments_0_1, eval_order_iterated_assignments_0_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute = #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = #e;
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[817] |
0s |
passed |
[818] eval_order_iterated_assignments_10_0, eval_order_iterated_assignments_10_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] |= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] | #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[818] |
0.001s |
passed |
[819] eval_order_iterated_assignments_10_1, eval_order_iterated_assignments_10_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute |= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute |
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[819] |
0.001s |
passed |
[81] applyEq_and_gen0, applyEq_and_gen0 {
\find(and(equals(applyEqLeft,applyEqOther),equals(applyEqLeft,applyEqRight)))
\replacewith(and(equals(applyEqRight,applyEqOther),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[81] |
0.002s |
passed |
[820] eval_order_iterated_assignments_11_0, eval_order_iterated_assignments_11_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] ^= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] ^ #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[820] |
0.001s |
passed |
[821] eval_order_iterated_assignments_11_1, eval_order_iterated_assignments_11_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute ^= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute ^
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[821] |
0.001s |
passed |
[822] eval_order_iterated_assignments_1_0, eval_order_iterated_assignments_1_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] *= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] * #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[822] |
0.001s |
passed |
[823] eval_order_iterated_assignments_1_1, eval_order_iterated_assignments_1_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute *= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute *
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[823] |
0.001s |
passed |
[824] eval_order_iterated_assignments_2_0, eval_order_iterated_assignments_2_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] /= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] / #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[824] |
0s |
passed |
[825] eval_order_iterated_assignments_2_1, eval_order_iterated_assignments_2_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute /= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute /
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[825] |
0.001s |
passed |
[826] eval_order_iterated_assignments_3_0, eval_order_iterated_assignments_3_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] %= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] % #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[826] |
0.001s |
passed |
[827] eval_order_iterated_assignments_3_1, eval_order_iterated_assignments_3_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute %= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute %
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[827] |
0.001s |
passed |
[828] eval_order_iterated_assignments_4_0, eval_order_iterated_assignments_4_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] += #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] + #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[828] |
0.001s |
passed |
[829] eval_order_iterated_assignments_4_1, eval_order_iterated_assignments_4_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute += #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute +
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[829] |
0.001s |
passed |
[82] applyEq_and_gen1, applyEq_and_gen1 {
\find(and(and(b,equals(applyEqLeft,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\replacewith(and(and(b,equals(applyEqRight,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[82] |
0.001s |
passed |
[830] eval_order_iterated_assignments_5_0, eval_order_iterated_assignments_5_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] -= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] - #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[830] |
0s |
passed |
[831] eval_order_iterated_assignments_5_1, eval_order_iterated_assignments_5_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute -= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute -
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[831] |
0.001s |
passed |
[832] eval_order_iterated_assignments_6_0, eval_order_iterated_assignments_6_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] <<= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] << #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[832] |
0.001s |
passed |
[833] eval_order_iterated_assignments_6_1, eval_order_iterated_assignments_6_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute <<= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute <<
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[833] |
0.001s |
passed |
[834] eval_order_iterated_assignments_7_0, eval_order_iterated_assignments_7_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] >>= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] >> #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[834] |
0.001s |
passed |
[835] eval_order_iterated_assignments_7_1, eval_order_iterated_assignments_7_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute >>= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute >>
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[835] |
0.001s |
passed |
[836] eval_order_iterated_assignments_8_0, eval_order_iterated_assignments_8_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] >>>= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] >>> #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[836] |
0.001s |
passed |
[837] eval_order_iterated_assignments_8_1, eval_order_iterated_assignments_8_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute >>>= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute >>>
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[837] |
0.002s |
passed |
[838] eval_order_iterated_assignments_9_0, eval_order_iterated_assignments_9_0 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0[#e] &= #e1;
... }\] (post))
\varcond(\new(#v1 (program Variable), \typeof(#e (program Expression))), \new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#typeof(#e) #v1 = #e;
#v0[#v1] = (#typeof(#e0[#e])) (#v0[#v1] & #e1);
#lhs0 = #v0[#v1];
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[838] |
0.001s |
passed |
[839] eval_order_iterated_assignments_9_1, eval_order_iterated_assignments_9_1 {
\find(#allmodal ( (modal operator))\[{ ..
#lhs0 = #e0.#attribute &= #e;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#e0 (program Expression))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#e0) #v0 = #e0;
#v0.#attribute = (#typeof(#attribute)) (#v0.#attribute &
#e);
#lhs0 = #v0.#attribute;
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[839] |
0.001s |
passed |
[83] applyEq_and_gen2, applyEq_and_gen2 {
\find(and(not(equals(applyEqLeft,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\replacewith(and(not(equals(applyEqRight,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[83] |
0.001s |
passed |
[840] exLeft, exLeft {
\find(exists{u (variable)}(b)==>)
\replacewith([subst{u (variable)}(sk,b)]==>[])
\heuristics(delta)
Choices: true}
|
testEquality(String, String)[840] |
0.001s |
passed |
[841] exRight, exRight {
\find(==>exists{u (variable)}(b))
\add []==>[subst{u (variable)}(t,b)]
\heuristics(gamma)
Choices: true}
|
testEquality(String, String)[841] |
0s |
passed |
[842] exRightHide, exRightHide {
\find(==>exists{u (variable)}(b))
\addrules [insert_hidden {
\add []==>[exists{u (variable)}(b)]
Choices: true}] \replacewith([]==>[subst{u (variable)}(t,b)])
\heuristics(gamma_destructive)
Choices: true}
|
testEquality(String, String)[842] |
0s |
passed |
[843] ex_bool, ex_bool {
\find(exists{x (variable)}(c))
\replacewith(or(subst{x (variable)}(FALSE,c),subst{x (variable)}(TRUE,c)))
\heuristics(boolean_cases)
Choices: true}
|
testEquality(String, String)[843] |
0s |
passed |
[844] ex_pull_out0, ex_pull_out0 {
\find(and(exists{u (variable)}(b),c))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(exists{u (variable)}(and(b,c)))
\heuristics(pullOutQuantifierEx)
Choices: true}
|
testEquality(String, String)[844] |
0s |
passed |
[845] ex_pull_out1, ex_pull_out1 {
\find(and(c,exists{u (variable)}(b)))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(exists{u (variable)}(and(c,b)))
\heuristics(pullOutQuantifierEx)
Choices: true}
|
testEquality(String, String)[845] |
0s |
passed |
[846] ex_pull_out2, ex_pull_out2 {
\find(or(exists{u (variable)}(b),c))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(exists{u (variable)}(or(b,c)))
\heuristics(pullOutQuantifierEx)
Choices: true}
|
testEquality(String, String)[846] |
0s |
passed |
[847] ex_pull_out3, ex_pull_out3 {
\find(or(c,exists{u (variable)}(b)))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(exists{u (variable)}(or(c,b)))
\heuristics(pullOutQuantifierEx)
Choices: true}
|
testEquality(String, String)[847] |
0s |
passed |
[848] ex_pull_out4, ex_pull_out4 {
\find(or(exists{u (variable)}(b),exists{u2 (variable)}(c)))
\varcond(\notFreeIn(u (variable), c (formula)))
\replacewith(exists{u (variable)}(or(b,subst{u2 (variable)}(u,c))))
\heuristics(pullOutQuantifierUnifying, pullOutQuantifierEx)
Choices: true}
|
testEquality(String, String)[848] |
0.001s |
passed |
[849] ex_unused, ex_unused {
\find(exists{u (variable)}(b))
\varcond(\notFreeIn(u (variable), b (formula)))
\replacewith(b)
\heuristics(elimQuantifier)
Choices: true}
|
testEquality(String, String)[849] |
0.001s |
passed |
[84] applyEq_and_gen3, applyEq_and_gen3 {
\find(and(and(b,not(equals(applyEqLeft,applyEqOther))),equals(applyEqLeft,applyEqRight)))
\replacewith(and(and(b,not(equals(applyEqRight,applyEqOther))),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[84] |
0.001s |
passed |
[850] exact_instance_definition_boolean, exact_instance_definition_boolean {
\find(equals(boolean::exactInstance(bool),TRUE))
\varcond(\notFreeIn(bv (variable), bool (boolean term)))
\replacewith(exists{bv (variable)}(equals(bool,bv)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[850] |
0.001s |
passed |
[851] exact_instance_definition_int, exact_instance_definition_int {
\find(equals(int::exactInstance(idx0),TRUE))
\varcond(\notFreeIn(iv (variable), idx0 (int term)))
\replacewith(exists{iv (variable)}(equals(idx0,iv)))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[851] |
0.001s |
passed |
[852] exact_instance_definition_null, exact_instance_definition_null {
\find(equals(Null::exactInstance(obj),TRUE))
\varcond(\notFreeIn(bv (variable), bool (boolean term)))
\replacewith(equals(obj,null))
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[852] |
0.001s |
passed |
[853] exact_instance_for_interfaces_or_abstract_classes, exact_instance_for_interfaces_or_abstract_classes {
\find(G::exactInstance(obj))
\varcond(\isAbstractOrInterface (G), )
\replacewith(FALSE)
\heuristics(simplify)
Choices: programRules:Java}
|
testEquality(String, String)[853] |
0s |
passed |
[854] exact_instance_known_dynamic_type, exact_instance_known_dynamic_type {
\assumes ([equals(G::exactInstance(a),TRUE)]==>[])
\find(H::exactInstance(a))
\sameUpdateLevel\varcond(\not\same(G, H), )
\replacewith(FALSE)
\heuristics(evaluate_instanceof, simplify)
Choices: true}
|
testEquality(String, String)[854] |
0.002s |
passed |
[855] execBreak, execBreak {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Break) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[855] |
0.001s |
passed |
[856] execBreakEliminateBreakLabel, execBreakEliminateBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Break #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[856] |
0.001s |
passed |
[857] execBreakEliminateBreakLabelWildcard, execBreakEliminateBreakLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Break *) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[857] |
0.001s |
passed |
[858] execBreakEliminateContinue, execBreakEliminateContinue {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[858] |
0.001s |
passed |
[859] execBreakEliminateContinueLabel, execBreakEliminateContinueLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Continue #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[859] |
0s |
passed |
[85] applyEq_and_int0, applyEq_and_int0 {
\find(and(geq(applyEqLeft,applyEqOther),equals(applyEqLeft,applyEqRight)))
\replacewith(and(geq(applyEqRight,applyEqOther),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[85] |
0.001s |
passed |
[860] execBreakEliminateContinueLabelWildcard, execBreakEliminateContinueLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[860] |
0.002s |
passed |
[861] execBreakEliminateExcCcatch, execBreakEliminateExcCcatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (#t #v0) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[861] |
0.001s |
passed |
[862] execBreakEliminateReturn, execBreakEliminateReturn {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Return) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
break;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[862] |
0.001s |
passed |
[863] execBreakEliminateReturnVal, execBreakEliminateReturnVal {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
break;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[863] |
0.001s |
passed |
[864] execBreakLabelEliminateBreak, execBreakLabelEliminateBreak {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Break) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
break;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[864] |
0s |
passed |
[865] execBreakLabelEliminateBreakLabelNoMatch, execBreakLabelEliminateBreakLabelNoMatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Break #lb1) {
#slist1
}#cs
... }\] (post))
\varcond(\different (#lb (program Label), #lb1 (program Label)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
break;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[865] |
0.005s |
passed |
[866] execBreakLabelEliminateContinue, execBreakLabelEliminateContinue {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[866] |
0.001s |
passed |
[867] execBreakLabelEliminateContinueLabel, execBreakLabelEliminateContinueLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Continue #lb1) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[867] |
0.010s |
passed |
[868] execBreakLabelEliminateContinueLabelWildcard, execBreakLabelEliminateContinueLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[868] |
0.002s |
passed |
[869] execBreakLabelEliminateExcCcatch, execBreakLabelEliminateExcCcatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (#t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
break;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[869] |
0.001s |
passed |
[86] applyEq_and_int1, applyEq_and_int1 {
\find(and(and(b,geq(applyEqLeft,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\replacewith(and(and(b,geq(applyEqRight,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[86] |
0.008s |
passed |
[870] execBreakLabelEliminateReturn, execBreakLabelEliminateReturn {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Return) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
break;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[870] |
0.001s |
passed |
[871] execBreakLabelEliminateReturnVal, execBreakLabelEliminateReturnVal {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
break;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[871] |
0.001s |
passed |
[872] execBreakLabelMatch, execBreakLabelMatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Break #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[872] |
0s |
passed |
[873] execBreakLabelWildcard, execBreakLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
break;
#slist
} ccatch (\Break *) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[873] |
0.001s |
passed |
[874] execCatchThrow, execCatchThrow {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (#t #v0) {
#slist1
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#se == null) {
exec {
throw new java.lang.NullPointerException();
} ccatch (#t #v0) {
#slist1
}
} else if (#se instanceof #t) {
#t #v0;
#v0 = (#t) #se;
#slist1
} else {
throw #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[874] |
0.001s |
passed |
[875] execContinue, execContinue {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[875] |
0s |
passed |
[876] execContinueEliminateBreak, execContinueEliminateBreak {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Break) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[876] |
0s |
passed |
[877] execContinueEliminateBreakLabel, execContinueEliminateBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Break #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[877] |
0.001s |
passed |
[878] execContinueEliminateBreakLabelWildcard, execContinueEliminateBreakLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Break *) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[878] |
0.001s |
passed |
[879] execContinueEliminateExcCcatch, execContinueEliminateExcCcatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (#t #v0) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
continue;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[879] |
0.001s |
passed |
[87] applyEq_and_int2, applyEq_and_int2 {
\find(and(leq(applyEqLeft,applyEqOther),equals(applyEqLeft,applyEqRight)))
\replacewith(and(leq(applyEqRight,applyEqOther),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[87] |
0.001s |
passed |
[880] execContinueEliminateReturn, execContinueEliminateReturn {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Return) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[880] |
0.001s |
passed |
[881] execContinueEliminateReturnVal, execContinueEliminateReturnVal {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[881] |
0s |
passed |
[882] execContinueLabelEliminateBreak, execContinueLabelEliminateBreak {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Break) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[882] |
0s |
passed |
[883] execContinueLabelEliminateBreakLabel, execContinueLabelEliminateBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Break #lb1) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[883] |
0s |
passed |
[884] execContinueLabelEliminateBreakLabelWildcard, execContinueLabelEliminateBreakLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Break *) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[884] |
0.001s |
passed |
[885] execContinueLabelEliminateContinue, execContinueLabelEliminateContinue {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[885] |
0.001s |
passed |
[886] execContinueLabelEliminateContinueLabelNoMatch, execContinueLabelEliminateContinueLabelNoMatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Continue #lb1) {
#slist1
}#cs
... }\] (post))
\varcond(\different (#lb (program Label), #lb1 (program Label)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[886] |
0.001s |
passed |
[887] execContinueLabelEliminateExcCcatch, execContinueLabelEliminateExcCcatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (#t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
continue;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[887] |
0.001s |
passed |
[888] execContinueLabelEliminateReturn, execContinueLabelEliminateReturn {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Return) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[888] |
0.001s |
passed |
[889] execContinueLabelEliminateReturnVal, execContinueLabelEliminateReturnVal {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
continue;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[889] |
0.001s |
passed |
[88] applyEq_and_int3, applyEq_and_int3 {
\find(and(and(b,leq(applyEqLeft,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\replacewith(and(and(b,leq(applyEqRight,applyEqOther)),equals(applyEqLeft,applyEqRight)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[88] |
0s |
passed |
[890] execContinueLabelMatch, execContinueLabelMatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Continue #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[890] |
0.001s |
passed |
[891] execContinueLabelWildcard, execContinueLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
continue;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[891] |
0.001s |
passed |
[892] execEmpty, execEmpty {
\find(#allmodal ( (modal operator))\[{ ..
exec {}#cs
... }\] (post))
\replacewith(#allmodal(post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[892] |
0s |
passed |
[893] execMultipleCatchThrow, execMultipleCatchThrow {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (#t #v0) {
#slist1
} ccatch (#t2 #v1) {
#slist3
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
if (#se == null) {
exec {
throw new java.lang.NullPointerException();
} ccatch (#t #v0) {
#slist1
} ccatch (#t2 #v1) {
#slist3
}#cs
} else if (#se instanceof #t) {
#t #v0;
#v0 = (#t) #se;
#slist1
} else {
exec {
… |
testEquality(String, String)[893] |
0.002s |
passed |
[894] execNoCcatch, execNoCcatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
#slist
}
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[894] |
0.001s |
passed |
[895] execReturn, execReturn {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Return) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[895] |
0s |
passed |
[896] execReturnEliminateBreak, execReturnEliminateBreak {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Break) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[896] |
0.001s |
passed |
[897] execReturnEliminateBreakLabel, execReturnEliminateBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Break #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[897] |
0.001s |
passed |
[898] execReturnEliminateBreakLabelWildcard, execReturnEliminateBreakLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Break *) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[898] |
0.001s |
passed |
[899] execReturnEliminateContinue, execReturnEliminateContinue {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[899] |
0.002s |
passed |
[89] applyEq_and_int4, applyEq_and_int4 {
\find(and(equals(applyEqLeft,applyEqRight),geq(applyEqLeft,applyEqOther)))
\replacewith(and(equals(applyEqLeft,applyEqRight),geq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[89] |
0.001s |
passed |
[8] activeUseBitwiseAnd, activeUseBitwiseAnd {
\find(#allmodal ( (modal operator))\[{ ..
#sv = #left & #right;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = #left & #right;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[8] |
0.004s |
passed |
[900] execReturnEliminateContinueLabel, execReturnEliminateContinueLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Continue #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[900] |
0s |
passed |
[901] execReturnEliminateContinueLabelWildcard, execReturnEliminateContinueLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[901] |
0.001s |
passed |
[902] execReturnEliminateExcCcatch, execReturnEliminateExcCcatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (#t #v0) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[902] |
0s |
passed |
[903] execReturnEliminateReturnVal, execReturnEliminateReturnVal {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[903] |
0.010s |
passed |
[904] execReturnVal, execReturnVal {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\varcond(\sub(\typeof(#se (program SimpleExpression)), \typeof(#v (program Variable))), )
\replacewith(#allmodal ( (modal operator))\[{ ..
{
#t #v;
#v = (#t) #se;
#slist1
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[904] |
0s |
passed |
[905] execReturnValEliminateBreak, execReturnValEliminateBreak {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Break) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[905] |
0s |
passed |
[906] execReturnValEliminateBreakLabel, execReturnValEliminateBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Break #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[906] |
0.001s |
passed |
[907] execReturnValEliminateBreakLabelWildcard, execReturnValEliminateBreakLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Break *) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[907] |
0s |
passed |
[908] execReturnValEliminateContinue, execReturnValEliminateContinue {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[908] |
0s |
passed |
[909] execReturnValEliminateContinueLabel, execReturnValEliminateContinueLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Continue #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[909] |
0.001s |
passed |
[90] applyEq_and_int5, applyEq_and_int5 {
\find(and(and(b,equals(applyEqLeft,applyEqRight)),geq(applyEqLeft,applyEqOther)))
\replacewith(and(and(b,equals(applyEqLeft,applyEqRight)),geq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[90] |
0.001s |
passed |
[910] execReturnValEliminateContinueLabelWildcard, execReturnValEliminateContinueLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[910] |
0s |
passed |
[911] execReturnValEliminateExcCcatch, execReturnValEliminateExcCcatch {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (#t #v0) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
return #se;
}
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[911] |
0.001s |
passed |
[912] execReturnValEliminateReturn, execReturnValEliminateReturn {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Return) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[912] |
0s |
passed |
[913] execReturnValNonMatchingType, execReturnValNonMatchingType {
\find(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\varcond(\not\sub(\typeof(#se (program SimpleExpression)), \typeof(#v (program Variable))), )
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
return #se;
#slist
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[913] |
0s |
passed |
[914] execThrowEliminateBreak, execThrowEliminateBreak {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Break) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[914] |
0.003s |
passed |
[915] execThrowEliminateBreakLabel, execThrowEliminateBreakLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Break #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[915] |
0.001s |
passed |
[916] execThrowEliminateBreakLabelWildcard, execThrowEliminateBreakLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Break *) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[916] |
0s |
passed |
[917] execThrowEliminateContinue, execThrowEliminateContinue {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[917] |
0.001s |
passed |
[918] execThrowEliminateContinueLabel, execThrowEliminateContinueLabel {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Continue #lb) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[918] |
0s |
passed |
[919] execThrowEliminateContinueLabelWildcard, execThrowEliminateContinueLabelWildcard {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Continue) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[919] |
0s |
passed |
[91] applyEq_and_int6, applyEq_and_int6 {
\find(and(equals(applyEqLeft,applyEqRight),leq(applyEqLeft,applyEqOther)))
\replacewith(and(equals(applyEqLeft,applyEqRight),leq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[91] |
0.002s |
passed |
[920] execThrowEliminateReturn, execThrowEliminateReturn {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Return) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[920] |
0.001s |
passed |
[921] execThrowEliminateReturnVal, execThrowEliminateReturnVal {
\find(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
#slist
} ccatch (\Return #t #v) {
#slist1
}#cs
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
exec {
throw #se;
}#cs
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[921] |
0s |
passed |
[922] expIsInfinite, expIsInfinite {
\find(expDouble(arg))
\add [imp(and(doubleIsInfinite(arg),gtDouble(arg,DFP(0(#)))),and(doubleIsInfinite(expDouble(arg)),gtDouble(expDouble(arg),DFP(0(#)))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[922] |
0s |
passed |
[923] expIsNaN, expIsNaN {
\find(expDouble(arg))
\add [imp(doubleIsNaN(arg),doubleIsNaN(expDouble(arg)))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[923] |
0.001s |
passed |
[924] expIsZero, expIsZero {
\find(expDouble(arg))
\add [imp(and(doubleIsInfinite(arg),ltDouble(arg,DFP(0(#)))),equals(expDouble(arg),DFP(0(#))))]==>[]
\heuristics(userTaclets1)
Choices: true}
|
testEquality(String, String)[924] |
0s |
passed |
[925] expandInRangeByte, expandInRangeByte {
\find(inRangeByte(i))
\replacewith(and(leq(i,byte_MAX),leq(byte_MIN,i)))
\heuristics(delayedExpansion, defOps_expandRanges)
Choices: programRules:Java}
|
testEquality(String, String)[925] |
0s |
passed |
[926] expandInRangeChar, expandInRangeChar {
\find(inRangeChar(i))
\replacewith(and(leq(i,char_MAX),leq(char_MIN,i)))
\heuristics(delayedExpansion, defOps_expandRanges)
Choices: programRules:Java}
|
testEquality(String, String)[926] |
0s |
passed |
[927] expandInRangeInt, expandInRangeInt {
\find(inRangeInt(i))
\replacewith(and(leq(i,int_MAX),leq(int_MIN,i)))
\heuristics(delayedExpansion, defOps_expandRanges)
Choices: programRules:Java}
|
testEquality(String, String)[927] |
0.001s |
passed |
[928] expandInRangeLong, expandInRangeLong {
\find(inRangeLong(i))
\replacewith(and(leq(i,long_MAX),leq(long_MIN,i)))
\heuristics(delayedExpansion, defOps_expandRanges)
Choices: programRules:Java}
|
testEquality(String, String)[928] |
0s |
passed |
[929] expandInRangeShort, expandInRangeShort {
\find(inRangeShort(i))
\replacewith(and(leq(i,short_MAX),leq(short_MIN,i)))
\heuristics(delayedExpansion, defOps_expandRanges)
Choices: programRules:Java}
|
testEquality(String, String)[929] |
0.001s |
passed |
[92] applyEq_and_int7, applyEq_and_int7 {
\find(and(and(b,equals(applyEqLeft,applyEqRight)),leq(applyEqLeft,applyEqOther)))
\replacewith(and(and(b,equals(applyEqLeft,applyEqRight)),leq(applyEqRight,applyEqOther)))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[92] |
0.002s |
passed |
[930] expand_addJint, expand_addJint {
\find(addJint(i,i1))
\replacewith(moduloInt(add(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[930] |
0s |
passed |
[931] expand_addJlong, expand_addJlong {
\find(addJlong(i,i1))
\replacewith(moduloLong(add(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[931] |
0s |
passed |
[932] expand_divJint, expand_divJint {
\find(divJint(i,i1))
\replacewith(moduloInt(jdiv(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[932] |
0s |
passed |
[933] expand_divJlong, expand_divJlong {
\find(divJlong(i,i1))
\replacewith(moduloLong(jdiv(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[933] |
0s |
passed |
[934] expand_modJint, expand_modJint {
\find(modJint(i,i1))
\replacewith(moduloInt(jmod(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[934] |
0.001s |
passed |
[935] expand_modJlong, expand_modJlong {
\find(modJlong(i,i1))
\replacewith(moduloLong(jmod(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[935] |
0s |
passed |
[936] expand_moduloByte, expand_moduloByte {
\find(moduloByte(i))
\replacewith(add(byte_MIN,mod(add(byte_HALFRANGE,i),byte_RANGE)))
\heuristics(delayedExpansion, defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[936] |
0.010s |
passed |
[937] expand_moduloChar, expand_moduloChar {
\find(moduloChar(i))
\replacewith(mod(i,add(char_MAX,Z(1(#)))))
\heuristics(delayedExpansion, defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[937] |
0.001s |
passed |
[938] expand_moduloInteger, expand_moduloInteger {
\find(moduloInt(i))
\replacewith(add(int_MIN,mod(add(int_HALFRANGE,i),int_RANGE)))
\heuristics(delayedExpansion, defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[938] |
0.001s |
passed |
[939] expand_moduloLong, expand_moduloLong {
\find(moduloLong(i))
\replacewith(add(long_MIN,mod(add(long_HALFRANGE,i),long_RANGE)))
\heuristics(delayedExpansion, defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[939] |
0.001s |
passed |
[93] applyEq_or_gen0, applyEq_or_gen0 {
\find(or(equals(applyEqLeft,applyEqOther),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(equals(applyEqRight,applyEqOther),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[93] |
0.001s |
passed |
[940] expand_moduloShort, expand_moduloShort {
\find(moduloShort(i))
\replacewith(add(short_MIN,mod(add(short_HALFRANGE,i),short_RANGE)))
\heuristics(delayedExpansion, defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[940] |
0.001s |
passed |
[941] expand_mulJint, expand_mulJint {
\find(mulJint(i,i1))
\replacewith(moduloInt(mul(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[941] |
0.001s |
passed |
[942] expand_mulJlong, expand_mulJlong {
\find(mulJlong(i,i1))
\replacewith(moduloLong(mul(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[942] |
0.001s |
passed |
[943] expand_subJint, expand_subJint {
\find(subJint(i,i1))
\replacewith(moduloInt(sub(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[943] |
0.001s |
passed |
[944] expand_subJlong, expand_subJlong {
\find(subJlong(i,i1))
\replacewith(moduloLong(sub(i,i1)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[944] |
0.001s |
passed |
[945] expand_unaryMinusJint, expand_unaryMinusJint {
\find(unaryMinusJint(i))
\replacewith(moduloInt(neg(i)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[945] |
0.001s |
passed |
[946] expand_unaryMinusJlong, expand_unaryMinusJlong {
\find(unaryMinusJlong(i))
\replacewith(moduloLong(neg(i)))
\heuristics(defOps_expandJNumericOp)
Choices: true}
|
testEquality(String, String)[946] |
0.001s |
passed |
[947] false_right, false_right {
\find(==>false)
\replacewith([]==>[])
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[947] |
0.001s |
passed |
[948] false_to_not_true, false_to_not_true {
\find(equals(bo,FALSE))
\replacewith(not(equals(bo,TRUE)))
\heuristics(concrete, simplify_boolean)
Choices: true}
|
testEquality(String, String)[948] |
0.001s |
passed |
[949] finishJavaCardTransactionBox, finishJavaCardTransactionBox {
\find(==>box_transaction\[{ ..
#finishJavaCardTransaction;
... }\] (post))
\replacewith([]==>[box(post)])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[949] |
0.001s |
passed |
[94] applyEq_or_gen1, applyEq_or_gen1 {
\find(or(or(b,equals(applyEqLeft,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(or(b,equals(applyEqRight,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[94] |
0.001s |
passed |
[950] finishJavaCardTransactionDiamond, finishJavaCardTransactionDiamond {
\find(==>diamond_transaction\[{ ..
#finishJavaCardTransaction;
... }\] (post))
\replacewith([]==>[diamond(post)])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[950] |
0.002s |
passed |
[951] firstOfPair, firstOfPair {
\find(first(pair(t,t1)))
\replacewith(t)
\heuristics(concrete)
Choices: true}
|
testEquality(String, String)[951] |
0.001s |
passed |
[952] forInitUnfold, forInitUnfold {
\find(#allmodal ( (modal operator))\[{ ..
for (#loopInit; #guard; #forupdates) #s
... }\] (post))
\replacewith(#allmodal ( (modal operator))\[{ ..
{
forInitUnfoldTransformer(#loopInit)
for (; #guard; #forupdates) #s
}
... }\] (post))
\heuristics(loop_expand)
Choices: programRules:Java}
|
testEquality(String, String)[952] |
0.001s |
passed |
[953] for_to_while, for_to_while {
\find(#allmodal ( (modal operator))\[{ ..
#forloop
... }\] (post))
\varcond(\newLabel (#innerLabel (program Label)), \newLabel (#outerLabel (program Label)), )
\replacewith(#allmodal ( (modal operator))\[{ ..
#for-to-while(#forloop)
... }\] (post))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[953] |
0.001s |
passed |
[954] geq_add, geq_add {
\find(==>geq(i0,i1))
\varcond(\notFreeIn(j2 (variable), i1 (int term)), \notFreeIn(j2 (variable), i0 (int term)))
\replacewith([]==>[exists{j2 (variable)}(geq(add(i0,j2),add(i1,j2)))])
Choices: true}
|
testEquality(String, String)[954] |
0.001s |
passed |
[955] geq_add_one, geq_add_one {
\find(geq(i0,i1))
\replacewith(geq(add(i0,Z(1(#))),add(i1,Z(1(#)))))
Choices: true}
|
testEquality(String, String)[955] |
0s |
passed |
[956] geq_diff_1, geq_diff_1 {
\find(geq(add(i0,Z(1(#))),i0))
\replacewith(true)
\heuristics(int_arithmetic)
Choices: true}
|
testEquality(String, String)[956] |
0s |
passed |
[957] geq_to_leq, geq_to_leq {
\find(geq(i,i0))
\replacewith(leq(i0,i))
Choices: true}
|
testEquality(String, String)[957] |
0s |
passed |
[958] geq_to_lt, geq_to_lt {
\find(geq(i,j))
\replacewith(not(lt(i,j)))
Choices: true}
|
testEquality(String, String)[958] |
0.001s |
passed |
[959] geq_to_lt_alt, geq_to_lt_alt {
\find(geq(i,j))
\replacewith(or(gt(i,j),equals(i,j)))
Choices: true}
|
testEquality(String, String)[959] |
0.001s |
passed |
[95] applyEq_or_gen2, applyEq_or_gen2 {
\find(or(not(equals(applyEqLeft,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(not(equals(applyEqRight,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[95] |
0.002s |
passed |
[960] getAnyOfArray2seq, getAnyOfArray2seq {
\find(any::seqGet(array2seq(h,a),idx))
\add []==>[and(leq(Z(0(#)),idx),lt(idx,length(a)))] ;
\replacewith(any::select(h,a,arr(idx)))
Choices: sequences:on}
|
testEquality(String, String)[960] |
0s |
passed |
[961] getJavaCardTransient, getJavaCardTransient {
\find(==>#allmodal ( (modal operator))\[{ ..
#lhs
=
#jcsystemType.#getTransient(#se)@#jcsystemType;
... }\] (post))
\replacewith([]==>[not(equals(#se,null))]) ;
\replacewith([]==>[update-application(elem-update(#lhs (program LeftHandSide))(int::select(heap,#se,java.lang.Object::<transient>)),#allmodal(post))])
\heuristics(simplify_prog)
Choices: (programRules:Java & JavaCard:on)}
|
testEquality(String, String)[961] |
0.001s |
passed |
[962] getOfArray2seq, getOfArray2seq {
\find(alpha::seqGet(array2seq(h,a),idx))
\add []==>[and(leq(Z(0(#)),idx),lt(idx,length(a)))] ;
\replacewith(alpha::select(h,a,arr(idx)))
Choices: sequences:on}
|
testEquality(String, String)[962] |
0.001s |
passed |
[963] getOfMapEmpty, getOfMapEmpty {
\find(mapGet(mapEmpty,x))
\sameUpdateLevel\replacewith(mapUndef)
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[963] |
0.001s |
passed |
[964] getOfMapForeach, getOfMapForeach {
\find(mapGet(mapForeach{v (variable)}(b,y),x))
\sameUpdateLevel\replacewith(if-then-else(inDomain(mapForeach{v (variable)}(b,y),x),subst{v (variable)}(alpha::cast(x),y),mapUndef))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[964] |
0.001s |
passed |
[965] getOfMapOverride, getOfMapOverride {
\find(mapGet(mapOverride(m0,m1),x))
\sameUpdateLevel\replacewith(if-then-else(inDomain(m1,x),mapGet(m1,x),mapGet(m0,x)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[965] |
0.001s |
passed |
[966] getOfMapRemove, getOfMapRemove {
\find(mapGet(mapRemove(m,key),x))
\sameUpdateLevel\replacewith(if-then-else(equals(x,key),mapUndef,mapGet(m,x)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[966] |
0.001s |
passed |
[967] getOfMapSingleton, getOfMapSingleton {
\find(mapGet(mapSingleton(x,y),z))
\sameUpdateLevel\replacewith(if-then-else(equals(x,z),y,mapUndef))
\heuristics(simplify)
Choices: true}
|
testEquality(String, String)[967] |
0s |
passed |
[968] getOfMapUpdate, getOfMapUpdate {
\find(mapGet(mapUpdate(m,key,value),x))
\sameUpdateLevel\replacewith(if-then-else(equals(x,key),value,mapGet(m,x)))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[968] |
0s |
passed |
[969] getOfSeq2Map, getOfSeq2Map {
\find(mapGet(seq2map(s),x))
\sameUpdateLevel\replacewith(if-then-else(and(and(equals(int::instance(x),TRUE),leq(Z(0(#)),int::cast(x))),lt(int::cast(x),seqLen(s))),any::seqGet(s,int::cast(x)),mapUndef))
\heuristics(simplify_enlarging)
Choices: true}
|
testEquality(String, String)[969] |
0.001s |
passed |
[96] applyEq_or_gen3, applyEq_or_gen3 {
\find(or(or(b,not(equals(applyEqLeft,applyEqOther))),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(or(b,not(equals(applyEqRight,applyEqOther))),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[96] |
0.001s |
passed |
[970] getOfSeqConcat, getOfSeqConcat {
\find(alpha::seqGet(seqConcat(seq,seq2),idx))
\replacewith(if-then-else(lt(idx,seqLen(seq)),alpha::seqGet(seq,idx),alpha::seqGet(seq2,sub(idx,seqLen(seq)))))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[970] |
0s |
passed |
[971] getOfSeqConcatEQ, getOfSeqConcatEQ {
\assumes ([equals(seqConcat(seq,seq2),EQ)]==>[])
\find(alpha::seqGet(EQ,idx))
\sameUpdateLevel\replacewith(if-then-else(lt(idx,seqLen(seq)),alpha::seqGet(seq,idx),alpha::seqGet(seq2,sub(idx,seqLen(seq)))))
\heuristics(simplify_enlarging, no_self_application)
Choices: sequences:on}
|
testEquality(String, String)[971] |
0s |
passed |
[972] getOfSeqDef, getOfSeqDef {
\find(alpha::seqGet(seqDef{uSub (variable)}(from,to,t),idx))
\varcond(\notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(if-then-else(and(leq(Z(0(#)),idx),lt(idx,sub(to,from))),alpha::cast(subst{uSub (variable)}(add(idx,from),t)),alpha::cast(seqGetOutside)))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[972] |
0s |
passed |
[973] getOfSeqDefEQ, getOfSeqDefEQ {
\assumes ([equals(seqDef{uSub (variable)}(from,to,t),EQ)]==>[])
\find(alpha::seqGet(EQ,idx))
\sameUpdateLevel\varcond(\notFreeIn(uSub (variable), to (int term)), \notFreeIn(uSub (variable), from (int term)))
\replacewith(if-then-else(and(leq(Z(0(#)),idx),lt(idx,sub(to,from))),alpha::cast(subst{uSub (variable)}(add(idx,from),t)),alpha::cast(seqGetOutside)))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[973] |
0.009s |
passed |
[974] getOfSeqReverse, getOfSeqReverse {
\find(alpha::seqGet(seqReverse(seq),idx))
\replacewith(alpha::seqGet(seq,sub(sub(seqLen(seq),Z(1(#))),idx)))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[974] |
0.001s |
passed |
[975] getOfSeqReverseEQ, getOfSeqReverseEQ {
\assumes ([equals(seqReverse(seq),EQ)]==>[])
\find(alpha::seqGet(EQ,idx))
\sameUpdateLevel\replacewith(alpha::seqGet(seq,sub(sub(seqLen(seq),Z(1(#))),idx)))
\heuristics(simplify_enlarging, no_self_application)
Choices: sequences:on}
|
testEquality(String, String)[975] |
0s |
passed |
[976] getOfSeqSingleton, getOfSeqSingleton {
\find(alpha::seqGet(seqSingleton(x),idx))
\replacewith(if-then-else(equals(idx,Z(0(#))),alpha::cast(x),alpha::cast(seqGetOutside)))
\heuristics(simplify)
Choices: sequences:on}
|
testEquality(String, String)[976] |
0.001s |
passed |
[977] getOfSeqSingletonConcrete, getOfSeqSingletonConcrete {
\find(alpha::seqGet(seqSingleton(x),Z(0(#))))
\replacewith(alpha::cast(x))
\heuristics(concrete)
Choices: sequences:on}
|
testEquality(String, String)[977] |
0.001s |
passed |
[978] getOfSeqSingletonEQ, getOfSeqSingletonEQ {
\assumes ([equals(seqSingleton(x),EQ)]==>[])
\find(alpha::seqGet(EQ,idx))
\sameUpdateLevel\replacewith(if-then-else(equals(idx,Z(0(#))),alpha::cast(x),alpha::cast(seqGetOutside)))
\heuristics(simplify_enlarging, no_self_application)
Choices: sequences:on}
|
testEquality(String, String)[978] |
0.001s |
passed |
[979] getOfSeqSub, getOfSeqSub {
\find(alpha::seqGet(seqSub(seq,from,to),idx))
\replacewith(if-then-else(and(leq(Z(0(#)),idx),lt(idx,sub(to,from))),alpha::seqGet(seq,add(idx,from)),alpha::cast(seqGetOutside)))
\heuristics(simplify_enlarging)
Choices: sequences:on}
|
testEquality(String, String)[979] |
0.001s |
passed |
[97] applyEq_or_int0, applyEq_or_int0 {
\find(or(geq(applyEqLeft,applyEqOther),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(geq(applyEqRight,applyEqOther),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[97] |
0.001s |
passed |
[980] getOfSeqSubEQ, getOfSeqSubEQ {
\assumes ([equals(seqSub(seq,from,to),EQ)]==>[])
\find(alpha::seqGet(EQ,idx))
\sameUpdateLevel\replacewith(if-then-else(and(leq(Z(0(#)),idx),lt(idx,sub(to,from))),alpha::seqGet(seq,add(idx,from)),alpha::cast(seqGetOutside)))
\heuristics(simplify_enlarging, no_self_application)
Choices: sequences:on}
|
testEquality(String, String)[980] |
0.001s |
passed |
[981] greater, greater {
\find(gt(i,i0))
\replacewith(lt(i0,i))
Choices: true}
|
testEquality(String, String)[981] |
0s |
passed |
[982] greater_add, greater_add {
\find(==>gt(i0,i1))
\varcond(\notFreeIn(j2 (variable), i1 (int term)), \notFreeIn(j2 (variable), i0 (int term)))
\replacewith([]==>[exists{j2 (variable)}(gt(add(i0,j2),add(i1,j2)))])
Choices: true}
|
testEquality(String, String)[982] |
0s |
passed |
[983] greater_add_one, greater_add_one {
\find(gt(i0,i1))
\replacewith(gt(add(i0,Z(1(#))),add(i1,Z(1(#)))))
Choices: true}
|
testEquality(String, String)[983] |
0s |
passed |
[984] greater_equal_than_comparison_new, greater_equal_than_comparison_new {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 >= #senf1;
... }\] (post))
\replacewith(if-then-else(geq(#senf0,#senf1),#allmodal ( (modal operator))\[{ ..
#lhs = true;
... }\] (post),#allmodal ( (modal operator))\[{ ..
#lhs = false;
... }\] (post)))
\heuristics(split_if, simplify_prog, obsolete)
Choices: programRules:Java}
|
testEquality(String, String)[984] |
0s |
passed |
[985] greater_equal_than_comparison_simple, greater_equal_than_comparison_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 >= #senf1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(geq(#senf0,#senf1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[985] |
0s |
passed |
[986] greater_equal_than_comparison_simple_double, greater_equal_than_comparison_simple_double {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seDouble0 >= #seDouble1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(geqDouble(#seDouble0,#seDouble1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[986] |
0.001s |
passed |
[987] greater_equal_than_comparison_simple_float, greater_equal_than_comparison_simple_float {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seFloat0 >= #seFloat1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(geqFloat(#seFloat0,#seFloat1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[987] |
0.001s |
passed |
[988] greater_literals, greater_literals {
\find(gt(Z(iz),Z(jz)))
\replacewith(#greater(Z(iz),Z(jz)))
\heuristics(simplify_literals)
Choices: true}
|
testEquality(String, String)[988] |
0s |
passed |
[989] greater_than_comparison_new, greater_than_comparison_new {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 > #senf1;
... }\] (post))
\replacewith(if-then-else(gt(#senf0,#senf1),#allmodal ( (modal operator))\[{ ..
#lhs = true;
... }\] (post),#allmodal ( (modal operator))\[{ ..
#lhs = false;
... }\] (post)))
\heuristics(split_if, simplify_prog, obsolete)
Choices: programRules:Java}
|
testEquality(String, String)[989] |
0.001s |
passed |
[98] applyEq_or_int1, applyEq_or_int1 {
\find(or(or(b,geq(applyEqLeft,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(or(b,geq(applyEqRight,applyEqOther)),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[98] |
0.001s |
passed |
[990] greater_than_comparison_simple, greater_than_comparison_simple {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #senf0 > #senf1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(gt(#senf0,#senf1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[990] |
0s |
passed |
[991] greater_than_comparison_simple_double, greater_than_comparison_simple_double {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seDouble0 > #seDouble1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(gtDouble(#seDouble0,#seDouble1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[991] |
0.001s |
passed |
[992] greater_than_comparison_simple_float, greater_than_comparison_simple_float {
\find(#allmodal ( (modal operator))\[{ ..
#lhs = #seFloat0 > #seFloat1;
... }\] (post))
\replacewith(update-application(elem-update(#lhs (program LeftHandSide))(if-then-else(gtFloat(#seFloat0,#seFloat1),TRUE,FALSE)),#allmodal(post)))
\heuristics(simplify_prog)
Choices: programRules:Java}
|
testEquality(String, String)[992] |
0s |
passed |
[993] gt_diff_1, gt_diff_1 {
\find(gt(add(i0,Z(1(#))),i0))
\replacewith(true)
\heuristics(int_arithmetic)
Choices: true}
|
testEquality(String, String)[993] |
0s |
passed |
[994] gt_to_lt, gt_to_lt {
\find(gt(i,i0))
\replacewith(lt(i0,i))
Choices: true}
|
testEquality(String, String)[994] |
0.001s |
passed |
[995] hashCodeBase, hashCodeBase {
\find(clHashCode(seqEmpty))
\replacewith(Z(0(#)))
\heuristics(simplify_literals)
Choices: Strings:on}
|
testEquality(String, String)[995] |
0.003s |
passed |
[996] hideAuxiliaryEq, hideAuxiliaryEq {
\find(equals(result,auxiliarySK)==>)
\addrules [replaceKnownAuxiliaryConstant {
\find(auxiliarySK)
\inSequentState\replacewith(result)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([]==>[])
\heuristics(hide_auxiliary_eq)
Choices: programRules:Java}
|
testEquality(String, String)[996] |
0.001s |
passed |
[997] hideAuxiliaryEqConcrete, hideAuxiliaryEqConcrete {
\find(equals(auxiliarySK,TRUE)==>)
\addrules [replaceKnownAuxiliaryConstant {
\find(auxiliarySK)
\inSequentState\replacewith(TRUE)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([]==>[])
\heuristics(hide_auxiliary_eq_const)
Choices: programRules:Java}
|
testEquality(String, String)[997] |
0s |
passed |
[998] hideAuxiliaryEqConcrete2, hideAuxiliaryEqConcrete2 {
\find(==>equals(auxiliarySK,TRUE))
\addrules [replaceKnownAuxiliaryConstant {
\find(auxiliarySK)
\inSequentState\replacewith(FALSE)
\heuristics(concrete)
Choices: programRules:Java}] \replacewith([]==>[])
\heuristics(hide_auxiliary_eq_const)
Choices: programRules:Java}
|
testEquality(String, String)[998] |
0s |
passed |
[999] hide_left, hide_left {
\find(b==>)
\addrules [insert_hidden {
\add [b]==>[]
Choices: true}] \replacewith([]==>[])
Choices: true}
|
testEquality(String, String)[999] |
0s |
passed |
[99] applyEq_or_int2, applyEq_or_int2 {
\find(or(leq(applyEqLeft,applyEqOther),not(equals(applyEqLeft,applyEqRight))))
\replacewith(or(leq(applyEqRight,applyEqOther),not(equals(applyEqLeft,applyEqRight))))
\heuristics(apply_equations_andOr)
Choices: true}
|
testEquality(String, String)[99] |
0.001s |
passed |
[9] activeUseBitwiseNegation, activeUseBitwiseNegation {
\find(#allmodal ( (modal operator))\[{ ..
#sv = ~#left;
... }\] (post))
\varcond(\new(#v0 (program Variable), \typeof(#sv (program StaticVariable))))
\replacewith(#allmodal ( (modal operator))\[{ ..
#typeof(#sv) #v0 = ~#left;
@(#sv) = #v0;
... }\] (post))
\heuristics(simplify_expression)
Choices: (programRules:Java & initialisation:disableStaticInitialisation)}
|
testEquality(String, String)[9] |
0.003s |
passed |