Skip to content

Commit a442cdf

Browse files
Fixed operator replacements in WD taclets after changes in PR #3436 (#3484)
2 parents 64126d9 + 73dac81 commit a442cdf

4 files changed

Lines changed: 18 additions & 19 deletions

File tree

key.core/src/main/java/de/uka/ilkd/key/speclang/WellDefinednessCheck.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -669,11 +669,10 @@ static RewriteTaclet createTaclet(String name, Term find1, Term find2, Term goal
669669
assert find1.sub(0).op().name().equals(find2.sub(0).op().name());
670670
assert find1.sub(0).arity() == find2.sub(0).arity();
671671

672-
Map<ProgramVariable, ProgramVariable> map =
673-
new LinkedHashMap<>();
672+
Map<Operator, Operator> map = new LinkedHashMap<>();
674673
int i = 0;
675674
for (Term sub : find1.sub(0).subs()) {
676-
map.put((ProgramVariable) find2.sub(0).sub(i).op(), (ProgramVariable) sub.op());
675+
map.put(find2.sub(0).sub(i).op(), sub.op());
677676
i++;
678677
}
679678
final OpReplacer or = new OpReplacer(map, services.getTermFactory());

key.core/src/test/resources/de/uka/ilkd/key/nparser/taclets.old.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5400,7 +5400,7 @@ Choices: sequences:on}
54005400
defOfSeqUpd {
54015401
\find(seqUpd(seq,idx,value))
54025402
\varcond(\notFreeIn(uSub (variable), seq (Seq term)), \notFreeIn(uSub (variable), value (any term)), \notFreeIn(uSub (variable), idx (int term)))
5403-
\replacewith(seqDef{uSub (variable)}(Z(0(#)),seqLen(seq),if-then-else(equals(uSub,idx),value,any::seqGet(seq,uSub))))
5403+
\replacewith(seqDef{uSub (variable)}(Z(0(#)),seqLen(seq),if-then-else(equals(uSub,idx),value,any::seqGet(seq,uSub))))
54045404

54055405
Choices: sequences:on}
54065406
-----------------------------------------------------
@@ -9697,7 +9697,7 @@ Choices: sequences:on}
96979697
== getOfSeqUpd (getOfSeqUpd) =========================================
96989698
getOfSeqUpd {
96999699
\find(alpha::seqGet(seqUpd(seq,idx,value),jdx))
9700-
\replacewith(if-then-else(and(and(leq(Z(0(#)),jdx),lt(jdx,seqLen(seq))),equals(idx,jdx)),alpha::cast(value),alpha::seqGet(seq,jdx)))
9700+
\replacewith(if-then-else(and(and(leq(Z(0(#)),jdx),lt(jdx,seqLen(seq))),equals(idx,jdx)),alpha::cast(value),alpha::seqGet(seq,jdx)))
97019701
\heuristics(simplify_enlarging)
97029702
Choices: sequences:on}
97039703
-----------------------------------------------------
@@ -12135,7 +12135,7 @@ Choices: sequences:on}
1213512135
== lenOfSeqUpd (lenOfSeqUpd) =========================================
1213612136
lenOfSeqUpd {
1213712137
\find(seqLen(seqUpd(seq,idx,value)))
12138-
\replacewith(seqLen(seq))
12138+
\replacewith(seqLen(seq))
1213912139
\heuristics(simplify)
1214012140
Choices: sequences:on}
1214112141
-----------------------------------------------------
@@ -16555,22 +16555,22 @@ Choices: true}
1655516555
== ssubsortDirect (ssubsortDirect) =========================================
1655616556
ssubsortDirect {
1655716557
\find(ssubsort(alphSub::ssort,alph::ssort))
16558-
\replacewith(true)
16558+
\replacewith(true)
1655916559
\heuristics(simplify)
1656016560
Choices: true}
1656116561
-----------------------------------------------------
1656216562
== ssubsortSup (ssubsortSup) =========================================
1656316563
ssubsortSup {
1656416564
\find(ssubsort(alph::ssort,alphSub::ssort))
1656516565
\varcond(\not\same(alphSub, alph))
16566-
\replacewith(false)
16566+
\replacewith(false)
1656716567
\heuristics(simplify)
1656816568
Choices: true}
1656916569
-----------------------------------------------------
1657016570
== ssubsortTop (ssubsortTop) =========================================
1657116571
ssubsortTop {
1657216572
\find(ssubsort(s,anySORT))
16573-
\replacewith(true)
16573+
\replacewith(true)
1657416574
\heuristics(simplify)
1657516575
Choices: true}
1657616576
-----------------------------------------------------
@@ -17071,8 +17071,8 @@ Choices: programRules:Java}
1707117071
-----------------------------------------------------
1707217072
== subsortTrans (subsortTrans) =========================================
1707317073
subsortTrans {
17074-
\assumes ([ssubsort(s1,s2),ssubsort(s2,s3)]==>[])
17075-
\add [ssubsort(s1,s3)]==>[]
17074+
\assumes ([ssubsort(s1,s2),ssubsort(s2,s3)]==>[])
17075+
\add [ssubsort(s1,s3)]==>[]
1707617076
\heuristics(simplify_enlarging)
1707717077
Choices: true}
1707817078
-----------------------------------------------------

key.core/tacletProofs/seqPerm/Taclet_seqSwapPreservesSeqPerm.proof

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
\profile "Java Profile";
22

33
\settings // Proof-Settings-Config-File
4-
{
5-
"Choice" : {
4+
{
5+
"Choice" : {
66
"JavaCard" : "JavaCard:off",
77
"Strings" : "Strings:on",
88
"assertions" : "assertions:safe",
@@ -24,10 +24,10 @@
2424
"wdChecks" : "wdChecks:off",
2525
"wdOperator" : "wdOperator:L"
2626
}
27-
}
27+
}
2828

2929
\proofObligation // Proof-Obligation settings
30-
{
30+
{
3131
"class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput",
3232
"name" : "seqSwapPreservesSeqPerm"
3333
}

key.core/tacletProofs/seqPerm/Taclet_seqSwapPreservesSeqPermEQ.proof

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
\profile "Java Profile";
22

33
\settings // Proof-Settings-Config-File
4-
{
5-
"Choice" : {
4+
{
5+
"Choice" : {
66
"JavaCard" : "JavaCard:off",
77
"Strings" : "Strings:on",
88
"assertions" : "assertions:safe",
@@ -24,10 +24,10 @@
2424
"wdChecks" : "wdChecks:off",
2525
"wdOperator" : "wdOperator:L"
2626
}
27-
}
27+
}
2828

2929
\proofObligation // Proof-Obligation settings
30-
{
30+
{
3131
"class" : "de.uka.ilkd.key.taclettranslation.lemma.TacletProofObligationInput",
3232
"name" : "seqSwapPreservesSeqPermEQ"
3333
}

0 commit comments

Comments
 (0)