0 JBC
↳1 JBCToGraph (⇒, 2183 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIntTRSProof (⇒, 82 ms)
↳7 intTRS
↳8 LinearRankingProcessor (⇔, 0 ms)
↳9 intTRS
↳10 LinearRankingProcessor (⇔, 10 ms)
↳11 YES
↳12 JBCTerminationSCC
↳13 SCCToIntTRSProof (⇒, 205 ms)
↳14 intTRS
↳15 PolynomialOrderProcessor (⇒, 0 ms)
↳16 intTRS
↳17 PolynomialOrderProcessor (⇔, 0 ms)
↳18 YES
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 rules. Obtained 24 IRules
P rules:
f4250_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412) → f4252_0_imprimer_FieldAccess(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412, java.lang.Object(Carre(EOC, i28)))
f4252_0_imprimer_FieldAccess(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412, java.lang.Object(Carre(EOC, i28))) → f4254_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412, i28)
f4254_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412, i28) → f4258_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412, i28)
f4258_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412, i28) → f4261_0_imprimer_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412) | <(i412, i28)
f4261_0_imprimer_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412) → f4265_0_imprimer_Store(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, 0)
f4265_0_imprimer_Store(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, matching1) → f4268_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, 0) | =(matching1, 0)
f4268_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, matching1) → f4302_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, 0) | =(matching1, 0)
f4302_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i414) → f4341_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i414)
f4341_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i417) → f4394_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i417)
f4394_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i422) → f5062_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i422)
f5062_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450) → f5606_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450)
f5606_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450) → f5607_0_imprimer_FieldAccess(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, java.lang.Object(Carre(EOC, i28)))
f5607_0_imprimer_FieldAccess(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, java.lang.Object(Carre(EOC, i28))) → f5609_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, i28)
f5609_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, i28) → f5611_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, i28)
f5609_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, i28) → f5612_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, i28)
f5611_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, i28) → f5613_0_imprimer_Inc(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412) | >=(i450, i28)
f5613_0_imprimer_Inc(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412) → f5616_0_imprimer_JMP(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), +(i412, 1)) | >=(i412, 0)
f5616_0_imprimer_JMP(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i474) → f5625_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i474)
f5625_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i474) → f4247_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i474)
f4247_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412) → f4250_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i412)
f5612_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450, i450, i28) → f5615_0_imprimer_Inc(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450) | <(i450, i28)
f5615_0_imprimer_Inc(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i450) → f5618_0_imprimer_JMP(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, +(i450, 1)) | >=(i450, 0)
f5618_0_imprimer_JMP(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i475) → f5632_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i475)
f5632_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i475) → f5062_0_imprimer_Load(EOS, java.lang.Object(Carre(EOC, i28)), java.lang.Object(Carre(EOC, i28)), i412, i475)
Combined rules. Obtained 2 IRules
P rules:
f5609_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, x2, x2, x0) → f5609_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), +(x1, 1), 0, 0, x0) | &&(&&(>=(x2, x0), <(+(x1, 1), x0)), >(+(x1, 1), 0))
f5609_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, x2, x2, x0) → f5609_0_imprimer_GE(EOS, java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, +(x2, 1), +(x2, 1), x0) | &&(<(x2, x0), >(+(x2, 1), 0))
Filtered ground terms:
f5609_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7) → f5609_0_imprimer_GE(x2, x3, x4, x5, x6, x7)
Cond_f5609_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f5609_0_imprimer_GE(x1, x3, x4, x5, x6, x7, x8)
Cond_f5609_0_imprimer_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f5609_0_imprimer_GE1(x1, x3, x4, x5, x6, x7, x8)
Carre(x1, x2) → Carre(x2)
Filtered duplicate terms:
f5609_0_imprimer_GE(x1, x2, x3, x4, x5, x6) → f5609_0_imprimer_GE(x2, x3, x5)
Cond_f5609_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_f5609_0_imprimer_GE(x1, x3, x4, x6)
Cond_f5609_0_imprimer_GE1(x1, x2, x3, x4, x5, x6, x7) → Cond_f5609_0_imprimer_GE1(x1, x3, x4, x6)
Filtered unneeded terms:
Cond_f5609_0_imprimer_GE(x1, x2, x3, x4) → Cond_f5609_0_imprimer_GE(x1, x2, x3)
Prepared 2 rules for path length conversion:
P rules:
f5609_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, x2, x0) → f5609_0_imprimer_GE(java.lang.Object(Carre(x0)), +(x1, 1), 0, x0) | &&(&&(>=(x2, x0), <(+(x1, 1), x0)), >(+(x1, 1), 0))
f5609_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, x2, x0) → f5609_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, +(x2, 1), x0) | &&(<(x2, x0), >(+(x2, 1), 0))
Finished conversion. Obtained 2 rules.
P rules:
f5609_0_imprimer_GE(v10, x1, x2, x0) → f5609_0_imprimer_GE(v11, +(x1, 1), 0, x0) | &&(&&(&&(&&(&&(&&(>=(x2, x0), >(x1, -1)), <(+(x1, 1), x0)), <=(+(x0, 2), v10)), >(+(v11, 1), 1)), <=(v11, v10)), >(+(v10, 1), 1))
f5609_0_imprimer_GE(v12, x4, x5, x3) → f5609_0_imprimer_GE(v13, x4, +(x5, 1), x3) | &&(&&(&&(&&(&&(>(x5, -1), <(x5, x3)), <=(+(x3, 2), v12)), >(+(v13, 1), 1)), <=(v13, v12)), >(+(v12, 1), 1))
Linear ranking:
where x = (x1, ... ,xn).
Therefore the following rule(s) have been dropped:
Linear ranking:
where x = (x1, ... ,xn).
Therefore the following rule(s) have been dropped:
Generated rules. Obtained 32 IRules
P rules:
f2555_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i266, i266) → f2561_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i266, i266, 3)
f2561_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i273, matching1) → f2563_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i273, 3) | =(matching1, 3)
f2563_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i273, matching1) → f2567_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273) | &&(<(i273, 3), =(matching1, 3))
f2567_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273) → f2571_0_init_Store(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, 0)
f2571_0_init_Store(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, matching1) → f2577_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, 0) | =(matching1, 0)
f2577_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, matching1) → f2684_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, 0) | =(matching1, 0)
f2684_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i291) → f2789_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i291)
f2789_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i313) → f2891_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i313)
f2891_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i333) → f2897_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i333, i333)
f2897_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i333, i333) → f2904_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i333, i333, 3)
f2904_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, i345, matching1) → f2919_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, i345, 3) | =(matching1, 3)
f2904_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, matching1, matching2, matching3) → f2920_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, 3, 3, 3) | &&(&&(&&(=(i333, 3), =(matching1, 3)), =(matching2, 3)), =(matching3, 3))
f2919_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, i345, matching1) → f2923_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345) | &&(<(i345, 3), =(matching1, 3))
f2923_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345) → f2928_0_init_FieldAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))))
f2928_0_init_FieldAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28))))) → f2934_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i28)))
f2934_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i28))) → f2958_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i28)), i273)
f2958_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i28)), i273) → f3158_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i28)), i273)
f3158_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i28)), i273) → f3162_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, o2019) | <(i273, i28)
f3162_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, o2019) → f3165_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, o2019, i345)
f3165_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, o2019, i345) → f3168_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, o2019, i345, 0)
f3168_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(o2029put), i345, matching1) → f3173_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(o2029put), i345, 0) | =(matching1, 0)
f3173_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i363)), i345, matching1) → f3177_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i363)), i345, 0) | &&(>=(i363, 0), =(matching1, 0))
f3177_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i363)), i345, matching1) → f3181_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i363)), i345, 0) | =(matching1, 0)
f3181_0_init_ArrayAccess(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345, java.lang.Object(ARRAY(i363)), i345, matching1) → f3199_0_init_Inc(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345) | &&(<(i345, i363), =(matching1, 0))
f3199_0_init_Inc(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i345) → f3203_0_init_JMP(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, +(i345, 1)) | >=(i345, 0)
f3203_0_init_JMP(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i367) → f3217_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i367)
f3217_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i367) → f2891_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, i367)
f2920_0_init_GE(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273, matching1, matching2, matching3) → f2924_0_init_Inc(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273) | &&(&&(=(matching1, 3), =(matching2, 3)), =(matching3, 3))
f2924_0_init_Inc(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i273) → f2929_0_init_JMP(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), +(i273, 1)) | >=(i273, 0)
f2929_0_init_JMP(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i346) → f2951_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i346)
f2951_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i346) → f2552_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i346)
f2552_0_init_Load(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i266) → f2555_0_init_ConstantStackPush(EOS, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i28)))), i266, i266)
Combined rules. Obtained 2 IRules
P rules:
f2904_0_init_GE(EOS, 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) → f2904_0_init_GE(EOS, 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), <(x1, x0)), <(x2, 3))
f2904_0_init_GE(EOS, 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) → f2904_0_init_GE(EOS, 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, 2), >(+(x1, 1), 0))
Filtered ground terms:
f2904_0_init_GE(x1, x2, x3, x4, x5, x6, x7, x8) → f2904_0_init_GE(x2, x3, x4, x5, x6, x7)
Cond_f2904_0_init_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f2904_0_init_GE(x1, x3, x4, x5, x6, x7, x8)
Cond_f2904_0_init_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f2904_0_init_GE1(x1, x3, x4, x5, x6)
Carre(x1, x2) → Carre(x2)
Filtered duplicate terms:
f2904_0_init_GE(x1, x2, x3, x4, x5, x6) → f2904_0_init_GE(x3, x4, x6)
Cond_f2904_0_init_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_f2904_0_init_GE(x1, x4, x5, x7)
Cond_f2904_0_init_GE1(x1, x2, x3, x4, x5) → Cond_f2904_0_init_GE1(x1, x4, x5)
Prepared 2 rules for path length conversion:
P rules:
f2904_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2, x0) → f2904_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, +(x2, 1), x0) | &&(&&(>(+(x2, 1), 0), <(x1, x0)), <(x2, 3))
f2904_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3, x0) → f2904_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), +(x1, 1), 0, x0) | &&(<(x1, 2), >(+(x1, 1), 0))
Finished conversion. Obtained 2 rules.
P rules:
f2904_0_init_GE(v9, x1, x2, x0) → f2904_0_init_GE(v10, x1, +(x2, 1), x0) | &&(&&(&&(&&(&&(>(x2, -1), <(x2, 3)), <(x1, x0)), >=(v9, v10)), >(+(v9, 1), 3)), >(+(v10, 1), 3))
f2904_0_init_GE(v11, x4, c3, x3) → f2904_0_init_GE(v12, +(x4, 1), 0, x3) | &&(&&(&&(&&(&&(>(x4, -1), <(x4, 2)), >(+(v12, 1), 3)), <=(v12, v11)), >(+(v11, 1), 3)), =(3, c3))
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped:
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped: