adtProgramDecompositionRules.key

Taclets

Enabled under choices: programRules:Java

setUnionUnfoldLeft

setUnionUnfoldLeft { \schemaVar \program Variable #v, #vLeftNew; \schemaVar \program NonSimpleExpression #nseLeft; \schemaVar \program Expression #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \set_union(#nseLeft, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseLeft) #vLeftNew=#nseLeft; #v = \set_union(#vLeftNew, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "setUnionUnfold" };defined in: adtProgramDecompositionRules.key Line: 15 Offset :4

setUnionUnfoldRight

setUnionUnfoldRight { \schemaVar \program Variable #v, #vRightNew; \schemaVar \program SimpleExpression #seLeft; \schemaVar \program NonSimpleExpression #nseRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \set_union(#seLeft, #nseRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseRight) #vRightNew=#nseRight; #v = \set_union(#seLeft, #vRightNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "setUnionUnfold" };defined in: adtProgramDecompositionRules.key Line: 28 Offset :4

setIntersectUnfoldLeft

setIntersectUnfoldLeft { \schemaVar \program Variable #v, #vLeftNew; \schemaVar \program NonSimpleExpression #nseLeft; \schemaVar \program Expression #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \intersect(#nseLeft, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseLeft) #vLeftNew=#nseLeft; #v = \intersect(#vLeftNew, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "setIntersectUnfold" };defined in: adtProgramDecompositionRules.key Line: 41 Offset :4

setIntersectUnfoldRight

setIntersectUnfoldRight { \schemaVar \program Variable #v, #vRightNew; \schemaVar \program SimpleExpression #seLeft; \schemaVar \program NonSimpleExpression #nseRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \intersect(#seLeft, #nseRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseRight) #vRightNew=#nseRight; #v = \intersect(#seLeft, #vRightNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "setIntersectUnfold" };defined in: adtProgramDecompositionRules.key Line: 54 Offset :4

setMinusUnfoldLeft

setMinusUnfoldLeft { \schemaVar \program Variable #v, #vLeftNew; \schemaVar \program NonSimpleExpression #nseLeft; \schemaVar \program Expression #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \set_minus(#nseLeft, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseLeft) #vLeftNew=#nseLeft; #v = \set_minus(#vLeftNew, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "setMinusUnfold" };defined in: adtProgramDecompositionRules.key Line: 67 Offset :4

setMinusUnfoldRight

setMinusUnfoldRight { \schemaVar \program Variable #v, #vRightNew; \schemaVar \program SimpleExpression #seLeft; \schemaVar \program NonSimpleExpression #nseRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \set_minus(#seLeft, #nseRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseRight) #vRightNew=#nseRight; #v = \set_minus(#seLeft, #vRightNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "setMinusUnfold" };defined in: adtProgramDecompositionRules.key Line: 80 Offset :4

singletonUnfold

singletonUnfold { \schemaVar \program Variable #v, #a, #vObjNew; \schemaVar \program NonSimpleExpression #nseObj; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \singleton(#nseObj.#a); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseObj) #vObjNew=#nseObj; #v = \singleton(#vObjNew.#a); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "singletonUnfold" };defined in: adtProgramDecompositionRules.key Line: 93 Offset :4

singletonAssignment

singletonAssignment { \schemaVar \program Variable #v, #a; \schemaVar \program SimpleExpression #seObj; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \singleton(#seObj.#a); ...}\endmodality ( post )) \replacewith ( { #v:= singleton ( #seObj, #memberPVToField ( #a))} \modality{#allmodal}{.. ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "singletonAssignment" };defined in: adtProgramDecompositionRules.key Line: 106 Offset :4

allObjectsAssignment

allObjectsAssignment { \schemaVar \program Variable #v, #a; \schemaVar \program Expression #eObj; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \all_objects(#eObj.#a); ...}\endmodality ( post )) \replacewith ( { #v:= allObjects ( #memberPVToField ( #a))} \modality{#allmodal}{.. ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "allObjectsAssignment" };defined in: adtProgramDecompositionRules.key Line: 118 Offset :4

allFieldsUnfold

allFieldsUnfold { \schemaVar \program Variable #v, #vObjNew; \schemaVar \program NonSimpleExpression #nseObj; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \all_fields(#nseObj); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseObj) #vObjNew=#nseObj; #v = \all_fields(#vObjNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "allFieldsAssignment" };defined in: adtProgramDecompositionRules.key Line: 130 Offset :4

Taclets

Enabled under choices: programRules:Java

seqConcatUnfoldLeft

seqConcatUnfoldLeft { \schemaVar \program Variable #v, #vLeftNew; \schemaVar \program NonSimpleExpression #nseLeft; \schemaVar \program Expression #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_concat(#nseLeft, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseLeft) #vLeftNew=#nseLeft; #v = \seq_concat(#vLeftNew, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqConcatUnfold" };defined in: adtProgramDecompositionRules.key Line: 148 Offset :4

seqConcatUnfoldRight

seqConcatUnfoldRight { \schemaVar \program Variable #v, #vRightNew; \schemaVar \program SimpleExpression #seLeft; \schemaVar \program NonSimpleExpression #nseRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_concat(#seLeft, #nseRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseRight) #vRightNew=#nseRight; #v = \seq_concat(#seLeft, #vRightNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqConcatUnfold" };defined in: adtProgramDecompositionRules.key Line: 161 Offset :4

seqGetUnfoldLeft

seqGetUnfoldLeft { \schemaVar \program Variable #v, #vLeftNew; \schemaVar \program NonSimpleExpression #nseLeft; \schemaVar \program Expression #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_get(#nseLeft, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseLeft) #vLeftNew=#nseLeft; #v = \seq_get(#vLeftNew, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqGetUnfold" };defined in: adtProgramDecompositionRules.key Line: 174 Offset :4

seqGetUnfoldRight

seqGetUnfoldRight { \schemaVar \program Variable #v, #vRightNew; \schemaVar \program SimpleExpression #seLeft; \schemaVar \program NonSimpleExpression #nseRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_get(#seLeft, #nseRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseRight) #vRightNew=#nseRight; #v = \seq_get(#seLeft, #vRightNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqGetUnfold" };defined in: adtProgramDecompositionRules.key Line: 187 Offset :4

seqIndexOfUnfoldLeft

seqIndexOfUnfoldLeft { \schemaVar \program Variable #v, #vLeftNew; \schemaVar \program NonSimpleExpression #nseLeft; \schemaVar \program Expression #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \indexOf(#nseLeft, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseLeft) #vLeftNew=#nseLeft; #v = \indexOf(#vLeftNew, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqIndexOfUnfold" };defined in: adtProgramDecompositionRules.key Line: 200 Offset :4

seqIndexOfUnfoldRight

seqIndexOfUnfoldRight { \schemaVar \program Variable #v, #vRightNew; \schemaVar \program SimpleExpression #seLeft; \schemaVar \program NonSimpleExpression #nseRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \indexOf(#seLeft, #nseRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseRight) #vRightNew=#nseRight; #v = \indexOf(#seLeft, #vRightNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqIndexOfUnfold" };defined in: adtProgramDecompositionRules.key Line: 213 Offset :4

seqSubUnfoldLeft

seqSubUnfoldLeft { \schemaVar \program Variable #v, #vLeftNew; \schemaVar \program NonSimpleExpression #nseLeft; \schemaVar \program Expression #eMiddle, #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_sub(#nseLeft, #eMiddle, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseLeft) #vLeftNew=#nseLeft; #v = \seq_sub(#vLeftNew, #eMiddle, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqSubUnfold" };defined in: adtProgramDecompositionRules.key Line: 226 Offset :4

seqSubUnfoldMiddle

seqSubUnfoldMiddle { \schemaVar \program Variable #v, #vMiddleNew; \schemaVar \program SimpleExpression #seLeft; \schemaVar \program NonSimpleExpression #nseMiddle; \schemaVar \program Expression #eRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_sub(#seLeft, #nseMiddle, #eRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseMiddle) #vMiddleNew=#nseMiddle; #v = \seq_sub(#seLeft, #vMiddleNew, #eRight); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqSubUnfold" };defined in: adtProgramDecompositionRules.key Line: 239 Offset :4

seqSubUnfoldRight

seqSubUnfoldRight { \schemaVar \program Variable #v, #vRightNew; \schemaVar \program SimpleExpression #seLeft, #seMiddle; \schemaVar \program NonSimpleExpression #nseRight; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_sub(#seLeft, #seMiddle, #nseRight); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nseRight) #vRightNew=#nseRight; #v = \seq_sub(#seLeft, #seMiddle, #vRightNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqSubUnfold" };defined in: adtProgramDecompositionRules.key Line: 254 Offset :4

seqSingletonUnfold

seqSingletonUnfold { \schemaVar \program Variable #v, #vNew; \schemaVar \program NonSimpleExpression #nse; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_singleton(#nse); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nse) #vNew=#nse; #v = \seq_singleton(#vNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqSingletonUnfold" };defined in: adtProgramDecompositionRules.key Line: 267 Offset :4

seqLengthUnfold

seqLengthUnfold { \schemaVar \program Variable #v, #vNew; \schemaVar \program NonSimpleExpression #nse; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_length(#nse); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nse) #vNew=#nse; #v = \seq_length(#vNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqLengthUnfold" };defined in: adtProgramDecompositionRules.key Line: 280 Offset :4

seqReverseUnfold

seqReverseUnfold { \schemaVar \program Variable #v, #vNew; \schemaVar \program NonSimpleExpression #nse; \schemaVar \formula post ; \find ( \modality{#allmodal}{.. #v = \seq_reverse(#nse); ...}\endmodality ( post )) \varcond \replacewith ( \modality{#allmodal}{.. #typeof(#nse) #vNew=#nse; #v = \seq_reverse(#vNew); ...}\endmodality ( post )) \heuristics (simplify_prog ) \displayname "seqReverseUnfold" };defined in: adtProgramDecompositionRules.key Line: 293 Offset :4