0 JBC
↳1 JBCToGraph (⇒, 1330 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIDPv1Proof (⇒, 230 ms)
↳7 IDP
↳8 IDPNonInfProof (⇒, 2080 ms)
↳9 IDP
↳10 IDependencyGraphProof (⇔, 0 ms)
↳11 IDP
↳12 IDPNonInfProof (⇒, 370 ms)
↳13 IDP
↳14 IDependencyGraphProof (⇔, 0 ms)
↳15 TRUE
↳16 JBCTerminationSCC
↳17 SCCToIDPv1Proof (⇒, 670 ms)
↳18 IDP
↳19 IDPNonInfProof (⇒, 350 ms)
↳20 AND
↳21 IDP
↳22 IDependencyGraphProof (⇔, 0 ms)
↳23 IDP
↳24 IDPNonInfProof (⇒, 200 ms)
↳25 AND
↳26 IDP
↳27 IDependencyGraphProof (⇔, 0 ms)
↳28 TRUE
↳29 IDP
↳30 IDependencyGraphProof (⇔, 0 ms)
↳31 TRUE
↳32 IDP
↳33 IDependencyGraphProof (⇔, 0 ms)
↳34 IDP
↳35 IDPNonInfProof (⇒, 110 ms)
↳36 AND
↳37 IDP
↳38 IDependencyGraphProof (⇔, 0 ms)
↳39 TRUE
↳40 IDP
↳41 IDependencyGraphProof (⇔, 0 ms)
↳42 TRUE
class Curseur{
private int X=0, Y=0, maxX, maxY;
private boolean torique=false;
public Curseur(int maxX, int maxY, boolean espaceTorique){
super();
this.maxX=maxX;
this.maxY=maxY;
this.torique=espaceTorique;
}
public void centrer(){
int cX=maxX/2;
int cY=maxY/2;
X=cX;
Y=cY;
}
public void haut(){
Y--;
if(torique&&Y<0) Y=maxY-1;
}
public void bas(){
Y++;
if(torique&&Y==maxY) Y=0;
}
public void droite(){
X++;
if(torique&&X==maxX) X=0;
}
public void gauche(){
X--;
if(torique&&X<0) X=maxX-1;
}
public int getX(){
return X;
}
public int getY(){
return Y;
}
public void imprimer(){
//System.out.println("Curseur@["+getX()+","+getY()+"]");
}
}
public class Carre {
private Curseur curseur=null;
private int cote=0;
public Carre(int cote){
if(cote>1&cote%2==1){
this.cote=cote;
}else{
//System.out.println("Cette classe ne genere pas les carres magiques d\'ordre pair.");
//System.exit(0);
}
this.curseur=new Curseur(cote,cote,true);
}
private int [][] carre=null;
public void init(){
carre=new int[cote][cote];
int n=0;
for(int x=0;x<3;x++) for(int y=0;y<3;y++) carre[x][y]=0;
curseur.centrer();
}
public void peupler(){
curseur.bas();
int nbre=1;
int cpteur=1;
while(cpteur<3){
if(!ajouter(nbre,curseur.getX(),curseur.getY())){
curseur.bas();
curseur.gauche();
cpteur++;
}else{
cpteur=1;
curseur.bas();
curseur.droite();
nbre++;
}
}
}
public Curseur curseur(){
return curseur;
}
public int cote(){
return cote;
}
public boolean ajouter(int nombre, int X, int Y){
if(carre[X][Y]!=0) return false;
carre[X][Y]=nombre;
return true;
}
public void imprimer(){
for(int j=0;j<cote;j++){
for(int i=0;i<cote;i++){
//System.out.print(carre[i][j]+"\t");
}
//System.out.println();
}
}
public static void main(String args[]){
Random.args = args;
Carre carre=new Carre(2*Random.random()+1);
carre.init();
//carre.peupler();
carre.imprimer();
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
if (index >= args.length)
return 0;
String string = args[index];
index++;
return string.length();
}
}
Generated 24 rules for P and 0 rules for R.
P rules:
2695_0_imprimer_Load(EOS(STATIC_2695), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407) → 2696_0_imprimer_FieldAccess(EOS(STATIC_2696), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407, java.lang.Object(Carre(EOC, i27)))
2696_0_imprimer_FieldAccess(EOS(STATIC_2696), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407, java.lang.Object(Carre(EOC, i27))) → 2698_0_imprimer_GE(EOS(STATIC_2698), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407, i27)
2698_0_imprimer_GE(EOS(STATIC_2698), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407, i27) → 2700_0_imprimer_GE(EOS(STATIC_2700), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407, i27)
2700_0_imprimer_GE(EOS(STATIC_2700), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407, i27) → 2703_0_imprimer_ConstantStackPush(EOS(STATIC_2703), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407) | <(i407, i27)
2703_0_imprimer_ConstantStackPush(EOS(STATIC_2703), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407) → 2706_0_imprimer_Store(EOS(STATIC_2706), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, 0)
2706_0_imprimer_Store(EOS(STATIC_2706), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, matching1) → 2708_0_imprimer_Load(EOS(STATIC_2708), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, 0) | =(matching1, 0)
2708_0_imprimer_Load(EOS(STATIC_2708), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, matching1) → 2719_0_imprimer_Load(EOS(STATIC_2719), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, 0) | =(matching1, 0)
2719_0_imprimer_Load(EOS(STATIC_2719), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i409) → 2731_0_imprimer_Load(EOS(STATIC_2731), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i409)
2731_0_imprimer_Load(EOS(STATIC_2731), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i412) → 2749_0_imprimer_Load(EOS(STATIC_2749), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i412)
2749_0_imprimer_Load(EOS(STATIC_2749), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i417) → 2768_0_imprimer_Load(EOS(STATIC_2768), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i417)
2768_0_imprimer_Load(EOS(STATIC_2768), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422) → 2770_0_imprimer_Load(EOS(STATIC_2770), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422)
2770_0_imprimer_Load(EOS(STATIC_2770), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422) → 2771_0_imprimer_FieldAccess(EOS(STATIC_2771), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, java.lang.Object(Carre(EOC, i27)))
2771_0_imprimer_FieldAccess(EOS(STATIC_2771), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, java.lang.Object(Carre(EOC, i27))) → 2773_0_imprimer_GE(EOS(STATIC_2773), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, i27)
2773_0_imprimer_GE(EOS(STATIC_2773), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, i27) → 2774_0_imprimer_GE(EOS(STATIC_2774), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, i27)
2773_0_imprimer_GE(EOS(STATIC_2773), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, i27) → 2775_0_imprimer_GE(EOS(STATIC_2775), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, i27)
2774_0_imprimer_GE(EOS(STATIC_2774), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, i27) → 2776_0_imprimer_Inc(EOS(STATIC_2776), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407) | >=(i422, i27)
2776_0_imprimer_Inc(EOS(STATIC_2776), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407) → 2779_0_imprimer_JMP(EOS(STATIC_2779), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), +(i407, 1)) | >=(i407, 0)
2779_0_imprimer_JMP(EOS(STATIC_2779), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i424) → 2784_0_imprimer_Load(EOS(STATIC_2784), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i424)
2784_0_imprimer_Load(EOS(STATIC_2784), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i424) → 2694_0_imprimer_Load(EOS(STATIC_2694), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i424)
2694_0_imprimer_Load(EOS(STATIC_2694), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407) → 2695_0_imprimer_Load(EOS(STATIC_2695), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i407)
2775_0_imprimer_GE(EOS(STATIC_2775), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422, i422, i27) → 2778_0_imprimer_Inc(EOS(STATIC_2778), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422) | <(i422, i27)
2778_0_imprimer_Inc(EOS(STATIC_2778), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i422) → 2780_0_imprimer_JMP(EOS(STATIC_2780), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, +(i422, 1)) | >=(i422, 0)
2780_0_imprimer_JMP(EOS(STATIC_2780), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i425) → 2787_0_imprimer_Load(EOS(STATIC_2787), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i425)
2787_0_imprimer_Load(EOS(STATIC_2787), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i425) → 2768_0_imprimer_Load(EOS(STATIC_2768), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i407, i425)
R rules:
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
2773_0_imprimer_GE(EOS(STATIC_2773), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, x2, x2, x0) → 2773_0_imprimer_GE(EOS(STATIC_2773), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), +(x1, 1), 0, 0, x0) | &&(&&(>=(x2, x0), >(+(x1, 1), 0)), >(x0, +(x1, 1)))
2773_0_imprimer_GE(EOS(STATIC_2773), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, x2, x2, x0) → 2773_0_imprimer_GE(EOS(STATIC_2773), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, +(x2, 1), +(x2, 1), x0) | &&(>(+(x2, 1), 0), <(x2, x0))
R rules:
Filtered ground terms:
2773_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7) → 2773_0_imprimer_GE(x2, x3, x4, x5, x6, x7)
Carre(x1, x2) → Carre(x2)
EOS(x1) → EOS
Cond_2773_0_imprimer_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2773_0_imprimer_GE1(x1, x3, x4, x5, x6, x7, x8)
Cond_2773_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2773_0_imprimer_GE(x1, x3, x4, x5, x6, x7, x8)
Filtered duplicate args:
2773_0_imprimer_GE(x1, x2, x3, x4, x5, x6) → 2773_0_imprimer_GE(x2, x3, x5)
Cond_2773_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_2773_0_imprimer_GE(x1, x3, x4, x6)
Cond_2773_0_imprimer_GE1(x1, x2, x3, x4, x5, x6, x7) → Cond_2773_0_imprimer_GE1(x1, x3, x4, x6)
Filtered unneeded arguments:
Cond_2773_0_imprimer_GE(x1, x2, x3, x4) → Cond_2773_0_imprimer_GE(x1, x2, x3)
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
2773_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, x2) → 2773_0_imprimer_GE(java.lang.Object(Carre(x0)), +(x1, 1), 0) | &&(&&(>=(x2, x0), >(x1, -1)), >(x0, +(x1, 1)))
2773_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, x2) → 2773_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, +(x2, 1)) | &&(>(x2, -1), <(x2, x0))
R rules:
Finished conversion. Obtained 4 rules for P and 0 rules for R. System has predefined symbols.
P rules:
2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), x1, x2) → COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2, x0), >(x1, -1)), >(x0, +(x1, 1))), java.lang.Object(Carre(x0)), x1, x2)
COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0)), x1, x2) → 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), +(x1, 1), 0)
2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), x1, x2) → COND_2773_0_IMPRIMER_GE1(&&(>(x2, -1), <(x2, x0)), java.lang.Object(Carre(x0)), x1, x2)
COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0)), x1, x2) → 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), x1, +(x2, 1))
R rules:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x2[0] >= x0[0] && x1[0] > -1 && x0[0] > x1[0] + 1 ∧java.lang.Object(Carre(x0[0])) →* java.lang.Object(Carre(x0[1]))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) -> (0), if (java.lang.Object(Carre(x0[1])) →* java.lang.Object(Carre(x0[0]))∧x1[1] + 1 →* x1[0]∧0 →* x2[0])
(1) -> (2), if (java.lang.Object(Carre(x0[1])) →* java.lang.Object(Carre(x0[2]))∧x1[1] + 1 →* x1[2]∧0 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < x0[2] ∧java.lang.Object(Carre(x0[2])) →* java.lang.Object(Carre(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(3) -> (0), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[0]))∧x1[3] →* x1[0]∧x2[3] + 1 →* x2[0])
(3) -> (2), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(1) (&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1)))=TRUE∧java.lang.Object(Carre(x0[0]))=java.lang.Object(Carre(x0[1]))∧x1[0]=x1[1]∧x2[0]=x2[1] ⇒ 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])∧(UIncreasing(COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥))
(2) (>(x0[0], +(x1[0], 1))=TRUE∧>=(x2[0], x0[0])=TRUE∧>(x1[0], -1)=TRUE ⇒ 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])∧(UIncreasing(COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥))
(3) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x1[0] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(4) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x1[0] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(5) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x1[0] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(6) (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x1[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(7) (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(8) (&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1)))=TRUE∧java.lang.Object(Carre(x0[0]))=java.lang.Object(Carre(x0[1]))∧x1[0]=x1[1]∧x2[0]=x2[1]∧java.lang.Object(Carre(x0[1]))=java.lang.Object(Carre(x0[0]1))∧+(x1[1], 1)=x1[0]1∧0=x2[0]1 ⇒ COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥NonInfC∧COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(9) (>(x0[0], +(x1[0], 1))=TRUE∧>=(x2[0], x0[0])=TRUE∧>(x1[0], -1)=TRUE ⇒ COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), +(x1[0], 1), 0)∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(10) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(11) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(12) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(13) (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x1[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(14) (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(15) (&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1)))=TRUE∧java.lang.Object(Carre(x0[0]))=java.lang.Object(Carre(x0[1]))∧x1[0]=x1[1]∧x2[0]=x2[1]∧java.lang.Object(Carre(x0[1]))=java.lang.Object(Carre(x0[2]))∧+(x1[1], 1)=x1[2]∧0=x2[2] ⇒ COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥NonInfC∧COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(16) (>(x0[0], +(x1[0], 1))=TRUE∧>=(x2[0], x0[0])=TRUE∧>(x1[0], -1)=TRUE ⇒ COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), +(x1[0], 1), 0)∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(17) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(18) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(19) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(20) (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x1[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(21) (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(22) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(23) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(24) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]x1[2] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(25) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]x1[2] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(26) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]x1[2] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(27) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_29] = 0∧[bni_29 + (-1)Bound*bni_29] + [bni_29]x0[2] ≥ 0∧0 = 0∧[(-1)bso_30] ≥ 0)
(28) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_29] = 0∧[(2)bni_29 + (-1)Bound*bni_29] + [bni_29]x2[2] + [bni_29]x0[2] ≥ 0∧0 = 0∧[(-1)bso_30] ≥ 0)
(29) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3]∧java.lang.Object(Carre(x0[3]))=java.lang.Object(Carre(x0[0]))∧x1[3]=x1[0]∧+(x2[3], 1)=x2[0] ⇒ COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥NonInfC∧COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(30) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], +(x2[2], 1))∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(31) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(32) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(33) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(34) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[bni_31 + (-1)Bound*bni_31] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(35) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[(2)bni_31 + (-1)Bound*bni_31] + [bni_31]x2[2] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(36) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3]∧java.lang.Object(Carre(x0[3]))=java.lang.Object(Carre(x0[2]1))∧x1[3]=x1[2]1∧+(x2[3], 1)=x2[2]1 ⇒ COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥NonInfC∧COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(37) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], +(x2[2], 1))∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(38) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(39) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(40) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(41) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[bni_31 + (-1)Bound*bni_31] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(42) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[(2)bni_31 + (-1)Bound*bni_31] + [bni_31]x2[2] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = [2]
POL(2773_0_IMPRIMER_GE(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = [-1] + x1
POL(Carre(x1)) = [-1] + [-1]x1
POL(COND_2773_0_IMPRIMER_GE(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2 + [-1]x1
POL(&&(x1, x2)) = 0
POL(>=(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(0) = 0
POL(COND_2773_0_IMPRIMER_GE1(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2 + [-1]x1
POL(<(x1, x2)) = [-1]
COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1]) → 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)
2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0]) → COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])
COND_2773_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1]) → 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)
2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0]) → COND_2773_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])
2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2]) → COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])
COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3]) → 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))
TRUE1 → &&(TRUE, TRUE)1
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(FALSE, FALSE)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(3) -> (0), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[0]))∧x1[3] →* x1[0]∧x2[3] + 1 →* x2[0])
(3) -> (2), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < x0[2] ∧java.lang.Object(Carre(x0[2])) →* java.lang.Object(Carre(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < x0[2] ∧java.lang.Object(Carre(x0[2])) →* java.lang.Object(Carre(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3]∧java.lang.Object(Carre(x0[3]))=java.lang.Object(Carre(x0[2]1))∧x1[3]=x1[2]1∧+(x2[3], 1)=x2[2]1 ⇒ COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥NonInfC∧COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(2) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], +(x2[2], 1))∧(UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(3) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧[1 + (-1)bso_20] ≥ 0)
(4) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧[1 + (-1)bso_20] ≥ 0)
(5) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧[1 + (-1)bso_20] ≥ 0)
(6) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧0 = 0∧[bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧0 = 0∧[1 + (-1)bso_20] ≥ 0)
(7) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧0 = 0∧[(2)bni_19 + (-1)Bound*bni_19] + [bni_19]x0[2] ≥ 0∧0 = 0∧[1 + (-1)bso_20] ≥ 0)
(8) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(9) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(10) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧[(-1)bso_22] ≥ 0)
(11) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧[(-1)bso_22] ≥ 0)
(12) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧[(-1)bso_22] ≥ 0)
(13) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧0 = 0∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧0 = 0∧[(-1)bso_22] ≥ 0)
(14) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧0 = 0∧[(2)bni_21 + (-1)Bound*bni_21] + [bni_21]x0[2] ≥ 0∧0 = 0∧[(-1)bso_22] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = [2]
POL(COND_2773_0_IMPRIMER_GE1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2
POL(java.lang.Object(x1)) = [-1] + x1
POL(Carre(x1)) = [-1] + [-1]x1
POL(2773_0_IMPRIMER_GE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x1
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3]) → 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))
COND_2773_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3]) → 2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))
2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2]) → COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])
2773_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2]) → COND_2773_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])
TRUE1 → &&(TRUE, TRUE)1
FALSE1 → &&(FALSE, FALSE)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
Generated 32 rules for P and 0 rules for R.
P rules:
1970_0_init_ConstantStackPush(EOS(STATIC_1970), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i258, i258) → 1977_0_init_GE(EOS(STATIC_1977), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i258, i258, 3)
1977_0_init_GE(EOS(STATIC_1977), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i268, matching1) → 1979_0_init_GE(EOS(STATIC_1979), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i268, 3) | =(matching1, 3)
1979_0_init_GE(EOS(STATIC_1979), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i268, matching1) → 1983_0_init_ConstantStackPush(EOS(STATIC_1983), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268) | &&(<(i268, 3), =(matching1, 3))
1983_0_init_ConstantStackPush(EOS(STATIC_1983), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268) → 1988_0_init_Store(EOS(STATIC_1988), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, 0)
1988_0_init_Store(EOS(STATIC_1988), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, matching1) → 1992_0_init_Load(EOS(STATIC_1992), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, 0) | =(matching1, 0)
1992_0_init_Load(EOS(STATIC_1992), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, matching1) → 2097_0_init_Load(EOS(STATIC_2097), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, 0) | =(matching1, 0)
2097_0_init_Load(EOS(STATIC_2097), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i284) → 2196_0_init_Load(EOS(STATIC_2196), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i284)
2196_0_init_Load(EOS(STATIC_2196), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i314) → 2301_0_init_Load(EOS(STATIC_2301), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i314)
2301_0_init_Load(EOS(STATIC_2301), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i339) → 2306_0_init_ConstantStackPush(EOS(STATIC_2306), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i339, i339)
2306_0_init_ConstantStackPush(EOS(STATIC_2306), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i339, i339) → 2314_0_init_GE(EOS(STATIC_2314), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i339, i339, 3)
2314_0_init_GE(EOS(STATIC_2314), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, i351, matching1) → 2323_0_init_GE(EOS(STATIC_2323), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, i351, 3) | =(matching1, 3)
2314_0_init_GE(EOS(STATIC_2314), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, matching1, matching2, matching3) → 2324_0_init_GE(EOS(STATIC_2324), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, 3, 3, 3) | &&(&&(=(matching1, 3), =(matching2, 3)), =(matching3, 3))
2323_0_init_GE(EOS(STATIC_2323), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, i351, matching1) → 2328_0_init_Load(EOS(STATIC_2328), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351) | &&(<(i351, 3), =(matching1, 3))
2328_0_init_Load(EOS(STATIC_2328), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351) → 2333_0_init_FieldAccess(EOS(STATIC_2333), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))))
2333_0_init_FieldAccess(EOS(STATIC_2333), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27))))) → 2338_0_init_Load(EOS(STATIC_2338), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i27)))
2338_0_init_Load(EOS(STATIC_2338), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i27))) → 2349_0_init_ArrayAccess(EOS(STATIC_2349), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i27)), i268)
2349_0_init_ArrayAccess(EOS(STATIC_2349), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i27)), i268) → 2352_0_init_ArrayAccess(EOS(STATIC_2352), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i27)), i268)
2352_0_init_ArrayAccess(EOS(STATIC_2352), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i27)), i268) → 2356_0_init_Load(EOS(STATIC_2356), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, o1648) | <(i268, i27)
2356_0_init_Load(EOS(STATIC_2356), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, o1648) → 2360_0_init_ConstantStackPush(EOS(STATIC_2360), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, o1648, i351)
2360_0_init_ConstantStackPush(EOS(STATIC_2360), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, o1648, i351) → 2363_0_init_ArrayAccess(EOS(STATIC_2363), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, o1648, i351, 0)
2363_0_init_ArrayAccess(EOS(STATIC_2363), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(o1657put), i351, matching1) → 2369_0_init_ArrayAccess(EOS(STATIC_2369), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(o1657put), i351, 0) | =(matching1, 0)
2369_0_init_ArrayAccess(EOS(STATIC_2369), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i359)), i351, matching1) → 2374_0_init_ArrayAccess(EOS(STATIC_2374), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i359)), i351, 0) | &&(>=(i359, 0), =(matching1, 0))
2374_0_init_ArrayAccess(EOS(STATIC_2374), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i359)), i351, matching1) → 2378_0_init_ArrayAccess(EOS(STATIC_2378), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i359)), i351, 0) | =(matching1, 0)
2378_0_init_ArrayAccess(EOS(STATIC_2378), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351, java.lang.Object(ARRAY(i359)), i351, matching1) → 2390_0_init_Inc(EOS(STATIC_2390), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351) | &&(<(i351, i359), =(matching1, 0))
2390_0_init_Inc(EOS(STATIC_2390), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i351) → 2395_0_init_JMP(EOS(STATIC_2395), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, +(i351, 1)) | >=(i351, 0)
2395_0_init_JMP(EOS(STATIC_2395), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i362) → 2405_0_init_Load(EOS(STATIC_2405), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i362)
2405_0_init_Load(EOS(STATIC_2405), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i362) → 2301_0_init_Load(EOS(STATIC_2301), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, i362)
2324_0_init_GE(EOS(STATIC_2324), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268, matching1, matching2, matching3) → 2329_0_init_Inc(EOS(STATIC_2329), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268) | &&(&&(=(matching1, 3), =(matching2, 3)), =(matching3, 3))
2329_0_init_Inc(EOS(STATIC_2329), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i268) → 2335_0_init_JMP(EOS(STATIC_2335), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), +(i268, 1)) | >=(i268, 0)
2335_0_init_JMP(EOS(STATIC_2335), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i352) → 2341_0_init_Load(EOS(STATIC_2341), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i352)
2341_0_init_Load(EOS(STATIC_2341), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i352) → 1967_0_init_Load(EOS(STATIC_1967), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i352)
1967_0_init_Load(EOS(STATIC_1967), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i258) → 1970_0_init_ConstantStackPush(EOS(STATIC_1970), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i258, i258)
R rules:
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
2314_0_init_GE(EOS(STATIC_2314), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), x1, x2, x2, 3) → 2314_0_init_GE(EOS(STATIC_2314), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), x1, +(x2, 1), +(x2, 1), 3) | &&(&&(>(+(x2, 1), 0), <(x2, 3)), <(x1, x0))
2314_0_init_GE(EOS(STATIC_2314), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), x1, 3, 3, 3) → 2314_0_init_GE(EOS(STATIC_2314), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), +(x1, 1), 0, 0, 3) | &&(>(+(x1, 1), 0), <(x1, 2))
R rules:
Filtered ground terms:
2314_0_init_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 2314_0_init_GE(x2, x3, x4, x5, x6, x7)
Carre(x1, x2) → Carre(x2)
EOS(x1) → EOS
Cond_2314_0_init_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_2314_0_init_GE1(x1, x3, x4, x5, x6)
Cond_2314_0_init_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_2314_0_init_GE(x1, x3, x4, x5, x6, x7, x8)
Filtered duplicate args:
2314_0_init_GE(x1, x2, x3, x4, x5, x6) → 2314_0_init_GE(x3, x4, x6)
Cond_2314_0_init_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_2314_0_init_GE(x1, x4, x5, x7)
Cond_2314_0_init_GE1(x1, x2, x3, x4, x5) → Cond_2314_0_init_GE1(x1, x4, x5)
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
2314_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2) → 2314_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, +(x2, 1)) | &&(&&(>(x2, -1), <(x2, 3)), <(x1, x0))
2314_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3) → 2314_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), +(x1, 1), 0) | &&(>(x1, -1), <(x1, 2))
R rules:
Finished conversion. Obtained 4 rules for P and 0 rules for R. System has predefined symbols.
P rules:
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2) → COND_2314_0_INIT_GE(&&(&&(>(x2, -1), <(x2, 3)), <(x1, x0)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2)
COND_2314_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2) → 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, +(x2, 1))
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3) → COND_2314_0_INIT_GE1(&&(>(x1, -1), <(x1, 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3)
COND_2314_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3) → 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), +(x1, 1), 0)
R rules:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x2[0] > -1 && x2[0] < 3 && x1[0] < x0[0] ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[1] →* x1[0]∧x2[1] + 1 →* x2[0])
(1) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[1] →* x1[2]∧x2[1] + 1 →* 3)
(2) -> (3), if (x1[2] > -1 && x1[2] < 2 ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2] →* x1[3])
(3) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[3] + 1 →* x1[0]∧0 →* x2[0])
(3) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[3] + 1 →* x1[2]∧0 →* 3)
(1) (&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0]))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0]=x1[1]∧x2[0]=x2[1] ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(2) (<(x1[0], x0[0])=TRUE∧>(x2[0], -1)=TRUE∧<(x2[0], 3)=TRUE ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(3) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(4) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(5) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(6) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(7) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(8) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(9) (COND_2314_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥NonInfC∧COND_2314_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))∧(UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥))
(10) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)
(11) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)
(12) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)
(13) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_15] ≥ 0)
(14) (&&(>(x1[2], -1), <(x1[2], 2))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2]=x1[3] ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(15) (>(x1[2], -1)=TRUE∧<(x1[2], 2)=TRUE ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(16) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] + [bni_16]x0[2] ≥ 0∧[(-1)bso_17] ≥ 0)
(17) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] + [bni_16]x0[2] ≥ 0∧[(-1)bso_17] ≥ 0)
(18) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] + [bni_16]x0[2] ≥ 0∧[(-1)bso_17] ≥ 0)
(19) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[bni_16] = 0∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] ≥ 0∧0 = 0∧[(-1)bso_17] ≥ 0)
(20) (COND_2314_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥NonInfC∧COND_2314_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)∧(UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥))
(21) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)
(22) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)
(23) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)
(24) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_19] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(2314_0_INIT_GE(x1, x2, x3)) = [-1] + [-1]x2 + x1
POL(java.lang.Object(x1)) = x1
POL(Carre(x1)) = x1
POL(ARRAY(x1)) = x1
POL(COND_2314_0_INIT_GE(x1, x2, x3, x4)) = [-1] + [-1]x3 + x2
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(3) = [3]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(COND_2314_0_INIT_GE1(x1, x2, x3, x4)) = [-1] + [-1]x3 + x2
POL(2) = [2]
POL(0) = 0
COND_2314_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3) → 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
COND_2314_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1]) → 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3) → COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(1) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[1] →* x1[0]∧x2[1] + 1 →* x2[0])
(0) -> (1), if (x2[0] > -1 && x2[0] < 3 && x1[0] < x0[0] ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[1] →* x1[2]∧x2[1] + 1 →* 3)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(1) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[1] →* x1[0]∧x2[1] + 1 →* x2[0])
(0) -> (1), if (x2[0] > -1 && x2[0] < 3 && x1[0] < x0[0] ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) (COND_2314_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥NonInfC∧COND_2314_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))∧(UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥))
(2) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(3) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(4) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(5) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_11] ≥ 0)
(6) (&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0]))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0]=x1[1]∧x2[0]=x2[1] ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(7) (<(x1[0], x0[0])=TRUE∧>(x2[0], -1)=TRUE∧<(x2[0], 3)=TRUE ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(8) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(9) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(10) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(11) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(12) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(13) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_2314_0_INIT_GE(x1, x2, x3, x4)) = [-1] + [-1]x3 + x2 + [-1]x4
POL(java.lang.Object(x1)) = x1
POL(Carre(x1)) = x1
POL(ARRAY(x1)) = x1
POL(2314_0_INIT_GE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + x1
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(3) = [3]
COND_2314_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1]) → 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2314_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(1) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[1] →* x1[2]∧x2[1] + 1 →* 3)
(3) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[3] + 1 →* x1[2]∧0 →* 3)
(2) -> (3), if (x1[2] > -1 && x1[2] < 2 ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2] →* x1[3])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[3] + 1 →* x1[2]∧0 →* 3)
(2) -> (3), if (x1[2] > -1 && x1[2] < 2 ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2] →* x1[3])
(1) (COND_2314_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥NonInfC∧COND_2314_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)∧(UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥))
(2) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(3) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(4) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(5) ((UIncreasing(2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧0 = 0∧[1 + (-1)bso_13] ≥ 0)
(6) (&&(>(x1[2], -1), <(x1[2], 2))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2]=x1[3] ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(7) (>(x1[2], -1)=TRUE∧<(x1[2], 2)=TRUE ⇒ 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(8) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_14 + (-1)Bound*bni_14] + [(-1)bni_14]x1[2] ≥ 0∧[(-1)bso_15] ≥ 0)
(9) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_14 + (-1)Bound*bni_14] + [(-1)bni_14]x1[2] ≥ 0∧[(-1)bso_15] ≥ 0)
(10) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_14 + (-1)Bound*bni_14] + [(-1)bni_14]x1[2] ≥ 0∧[(-1)bso_15] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_2314_0_INIT_GE1(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(java.lang.Object(x1)) = [-1]
POL(Carre(x1)) = [-1]
POL(ARRAY(x1)) = [-1]
POL(3) = [3]
POL(2314_0_INIT_GE(x1, x2, x3)) = [-1] + [-1]x2
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(0) = 0
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(2) = [2]
COND_2314_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3) → 2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3) → COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)
2314_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3) → COND_2314_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer