/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 2856 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToQDPProof [SOUND, 1668 ms] (9) QDP (10) DependencyGraphProof [EQUIVALENT, 0 ms] (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) JBCTerminationSCC (15) SCCToIRSProof [SOUND, 376 ms] (16) IRSwT (17) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (18) IRSwT (19) IRSwTTerminationDigraphProof [EQUIVALENT, 107 ms] (20) IRSwT (21) IntTRSCompressionProof [EQUIVALENT, 0 ms] (22) IRSwT (23) TempFilterProof [SOUND, 77 ms] (24) IntTRS (25) PolynomialOrderProcessor [EQUIVALENT, 14 ms] (26) IntTRS (27) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (28) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: package Terms; public final class FunctionApplication extends Term { FunctionSymbol fs; List args; public FunctionApplication(FunctionSymbol f, List a) { this.fs = f; this.args = a; } public void collectVariables(List vars) { List cur = this.args; while (cur != null) { cur.value.collectVariables(vars); cur = cur.next; } } public Map extendMatchingSubstitution(Map sigma, Term that) { if (that instanceof Variable) { return null; } FunctionApplication fThat = (FunctionApplication) that; if (this.fs.equals(fThat.fs)) { List curThisArg = this.args; List curThatArg = fThat.args; while (curThisArg != null && curThatArg != null) { sigma = curThisArg.value.extendMatchingSubstitution(sigma, curThatArg.value); if (sigma == null) { return null; } curThisArg = curThisArg.next; curThatArg = curThatArg.next; } return sigma; } else { return null; } } public int getDepth(){ int currentMaximum=0; List cur = this.args; while (cur != null) { int currentDepth = cur.value.getDepth()+1; if (currentDepth > currentMaximum) currentMaximum=currentDepth; cur = cur.next; } return currentMaximum; } public boolean equals(Object o) { if (o instanceof FunctionApplication) { FunctionApplication oFA = (FunctionApplication) o; return (this.fs.equals(oFA.fs) && this.args.equals(oFA.args)); } return false; } public int hashCode() { return args.hashCode() * fs.hashCode(); } } package Terms; public final class FunctionSymbol { int number; public FunctionSymbol(int id) { this.number = id; } public int getArity() { return this.number; } public boolean equals(Object o) { if (o instanceof FunctionSymbol) { return this.number == ((FunctionSymbol) o).number; } return false; } public int hashCode() { return this.number; } } package Terms; public final class List { public T value; public List next; public void add(T v) { List newEle = new List(); newEle.value = this.value; newEle.next = this.next; this.next = newEle; this.value = v; } } package Terms; public final class Map { private K key; private V value; private Map next; public void put(K k, V v) { Map newEntry = new Map(); newEntry.key = this.key; newEntry.value = this.value; newEntry.next = this.next; this.next = newEntry; this.key = k; this.value = v; } public V get(K k) { if (this.key.equals(k)) { return this.value; } if (this.next != null) { return this.next.get(k); } return null; } } package Terms; public class Random { static String[] args; static int index = 0; public static int random() { String string = args[index]; index++; return string.length(); } } package Terms; public abstract class Term { /** * @param n maximal depth of the return term * @return some term of maximal depth n */ public static Term create(int n) { if (n <= 1) { return new Variable(Random.random()); } else { int arity = Random.random(); List args = new List(); for (int i = 0; i < arity; i++) { args.add(Term.create(n-1)); } return new FunctionApplication(new FunctionSymbol(arity), args); } } public final boolean matches(final Term that) { Map sigma = new Map(); sigma = this.extendMatchingSubstitution(sigma, that); return sigma != null; } public abstract Map extendMatchingSubstitution(Map sigma, Term that); public abstract void collectVariables(List vars); public final List getVariables() { final List vars = new List(); this.collectVariables(vars); return vars; } public abstract int getDepth(); } package Terms; public class TermsCreateMatch { public static void main(String[] args) { Random.args = args; Term t1 = Term.create(Random.random()); Term t2 = Term.create(Random.random()); t1.matches(t2); } } package Terms; public final class Variable extends Term { int number; public Variable(int id) { this.number = id; } public void collectVariables(List vars) { vars.add(this); } public Map extendMatchingSubstitution(Map sigma, Term that) { Term thisSigma = sigma.get(this); if (thisSigma == null) { sigma.put(this, that); return sigma; } else { if (thisSigma.equals(that)) { return sigma; } else { return null; } } } public int getDepth(){ return 0; } public boolean equals(Object o) { if (o instanceof Variable) { return this.number == ((Variable) o).number; } return false; } public int hashCode() { return number; } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: package Terms; public final class FunctionApplication extends Term { FunctionSymbol fs; List args; public FunctionApplication(FunctionSymbol f, List a) { this.fs = f; this.args = a; } public void collectVariables(List vars) { List cur = this.args; while (cur != null) { cur.value.collectVariables(vars); cur = cur.next; } } public Map extendMatchingSubstitution(Map sigma, Term that) { if (that instanceof Variable) { return null; } FunctionApplication fThat = (FunctionApplication) that; if (this.fs.equals(fThat.fs)) { List curThisArg = this.args; List curThatArg = fThat.args; while (curThisArg != null && curThatArg != null) { sigma = curThisArg.value.extendMatchingSubstitution(sigma, curThatArg.value); if (sigma == null) { return null; } curThisArg = curThisArg.next; curThatArg = curThatArg.next; } return sigma; } else { return null; } } public int getDepth(){ int currentMaximum=0; List cur = this.args; while (cur != null) { int currentDepth = cur.value.getDepth()+1; if (currentDepth > currentMaximum) currentMaximum=currentDepth; cur = cur.next; } return currentMaximum; } public boolean equals(Object o) { if (o instanceof FunctionApplication) { FunctionApplication oFA = (FunctionApplication) o; return (this.fs.equals(oFA.fs) && this.args.equals(oFA.args)); } return false; } public int hashCode() { return args.hashCode() * fs.hashCode(); } } package Terms; public final class FunctionSymbol { int number; public FunctionSymbol(int id) { this.number = id; } public int getArity() { return this.number; } public boolean equals(Object o) { if (o instanceof FunctionSymbol) { return this.number == ((FunctionSymbol) o).number; } return false; } public int hashCode() { return this.number; } } package Terms; public final class List { public T value; public List next; public void add(T v) { List newEle = new List(); newEle.value = this.value; newEle.next = this.next; this.next = newEle; this.value = v; } } package Terms; public final class Map { private K key; private V value; private Map next; public void put(K k, V v) { Map newEntry = new Map(); newEntry.key = this.key; newEntry.value = this.value; newEntry.next = this.next; this.next = newEntry; this.key = k; this.value = v; } public V get(K k) { if (this.key.equals(k)) { return this.value; } if (this.next != null) { return this.next.get(k); } return null; } } package Terms; public class Random { static String[] args; static int index = 0; public static int random() { String string = args[index]; index++; return string.length(); } } package Terms; public abstract class Term { /** * @param n maximal depth of the return term * @return some term of maximal depth n */ public static Term create(int n) { if (n <= 1) { return new Variable(Random.random()); } else { int arity = Random.random(); List args = new List(); for (int i = 0; i < arity; i++) { args.add(Term.create(n-1)); } return new FunctionApplication(new FunctionSymbol(arity), args); } } public final boolean matches(final Term that) { Map sigma = new Map(); sigma = this.extendMatchingSubstitution(sigma, that); return sigma != null; } public abstract Map extendMatchingSubstitution(Map sigma, Term that); public abstract void collectVariables(List vars); public final List getVariables() { final List vars = new List(); this.collectVariables(vars); return vars; } public abstract int getDepth(); } package Terms; public class TermsCreateMatch { public static void main(String[] args) { Random.args = args; Term t1 = Term.create(Random.random()); Term t2 = Term.create(Random.random()); t1.matches(t2); } } package Terms; public final class Variable extends Term { int number; public Variable(int id) { this.number = id; } public void collectVariables(List vars) { vars.add(this); } public Map extendMatchingSubstitution(Map sigma, Term that) { Term thisSigma = sigma.get(this); if (thisSigma == null) { sigma.put(this, that); return sigma; } else { if (thisSigma.equals(that)) { return sigma; } else { return null; } } } public int getDepth(){ return 0; } public boolean equals(Object o) { if (o instanceof Variable) { return this.number == ((Variable) o).number; } return false; } public int hashCode() { return number; } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: Terms.TermsCreateMatch.main([Ljava/lang/String;)V: Graph of 480 nodes with 0 SCCs. Terms.Term.create(I)LTerms/Term;: Graph of 274 nodes with 1 SCC. Terms.Map.get(Ljava/lang/Object;)Ljava/lang/Object;: Graph of 24 nodes with 0 SCCs. Terms.FunctionApplication.extendMatchingSubstitution(LTerms/Map;LTerms/Term;)LTerms/Map;: Graph of 374 nodes with 1 SCC. Terms.FunctionSymbol.equals(Ljava/lang/Object;)Z: Graph of 26 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 2 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Terms.FunctionApplication.extendMatchingSubstitution(LTerms/Map;LTerms/Term;)LTerms/Map; SCC calls the following helper methods: Terms.FunctionApplication.extendMatchingSubstitution(LTerms/Map;LTerms/Term;)LTerms/Map;, Terms.FunctionSymbol.equals(Ljava/lang/Object;)Z, Terms.Map.get(Ljava/lang/Object;)Ljava/lang/Object; Performed SCC analyses: *Used field analysis yielded the following read fields: *Terms.FunctionApplication: [fs, args] *Terms.List: [value, next] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToQDPProof (SOUND) Transformed TerminationGraph SCC to QDP. Log: Generated rules. Obtained 91 IRulesP rules: f6931_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6931), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6936_0_extendMatchingSubstitution_Load(EOS(STATIC_6936), java.lang.Object(o9308sub), NULL, o8960, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: i6627 > 1 f6931_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6931), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6936_1_extendMatchingSubstitution_Load(EOS(STATIC_6936), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: i6627 > 1 f6936_0_extendMatchingSubstitution_Load(EOS(STATIC_6936), java.lang.Object(o9308sub), NULL, o8960, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6945_0_extendMatchingSubstitution_Load(EOS(STATIC_6945), java.lang.Object(o9308sub), NULL, o8960, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: TRUE f6945_0_extendMatchingSubstitution_Load(EOS(STATIC_6945), java.lang.Object(o9308sub), NULL, o8960, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6953_0_extendMatchingSubstitution_Load(EOS(STATIC_6953), java.lang.Object(o9308sub), NULL, o8960, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL, o9015[List.value]o9308) :|: o9015[List.value]o9308 = 1 f6953_0_extendMatchingSubstitution_Load(EOS(STATIC_6953), java.lang.Object(o9384sub), NULL, o9386, o9389, java.lang.Object(o9384sub), java.lang.Object(Terms.Map(EOC)), NULL, o9389[List.value]o9384) -> f6971_0_extendMatchingSubstitution_Load(EOS(STATIC_6971), java.lang.Object(o9384sub), NULL, java.lang.Object(o9384sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: TRUE f6971_0_extendMatchingSubstitution_Load(EOS(STATIC_6971), java.lang.Object(o9384sub), NULL, java.lang.Object(o9384sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6509_0_extendMatchingSubstitution_Load(EOS(STATIC_6509), java.lang.Object(o9384sub), NULL, java.lang.Object(o9384sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: TRUE f6509_0_extendMatchingSubstitution_Load(EOS(STATIC_6509), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), o6449) -> f6510_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6510), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), o6449, o6449) :|: TRUE f6510_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6510), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6450sub), java.lang.Object(o6450sub)) -> f6511_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6511), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6450sub), java.lang.Object(o6450sub)) :|: TRUE f6511_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6511), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), java.lang.Object(o6452sub)) -> f6514_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6514), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), java.lang.Object(o6452sub)) :|: TRUE f6514_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6514), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), java.lang.Object(o6452sub)) -> f6517_0_extendMatchingSubstitution_EQ(EOS(STATIC_6517), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), 0) :|: TRUE f6517_0_extendMatchingSubstitution_EQ(EOS(STATIC_6517), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), matching1) -> f6520_0_extendMatchingSubstitution_Load(EOS(STATIC_6520), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) :|: TRUE && matching1 = 0 f6520_0_extendMatchingSubstitution_Load(EOS(STATIC_6520), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) -> f6523_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6523), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) :|: TRUE f6523_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6523), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) -> f6526_0_extendMatchingSubstitution_Store(EOS(STATIC_6526), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) :|: TRUE f6526_0_extendMatchingSubstitution_Store(EOS(STATIC_6526), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) -> f6528_0_extendMatchingSubstitution_Load(EOS(STATIC_6528), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) :|: TRUE f6528_0_extendMatchingSubstitution_Load(EOS(STATIC_6528), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub)) -> f6532_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6532), o6440, o6441, java.lang.Object(o6447sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), java.lang.Object(o6447sub)) :|: TRUE f6532_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6532), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578)))) -> f6534_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6534), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578)))) :|: TRUE f6534_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6534), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578)))) -> f6536_0_extendMatchingSubstitution_Load(EOS(STATIC_6536), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), o6577) :|: TRUE f6536_0_extendMatchingSubstitution_Load(EOS(STATIC_6536), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), o6577) -> f6538_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6538), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o6452sub), o6577, java.lang.Object(o6452sub)) :|: TRUE f6538_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6538), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), o6577, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637)))) -> f6540_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6540), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), o6577, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637)))) :|: TRUE f6540_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6540), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), o6577, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637)))) -> f6541_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6541), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6577, o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), o6577, o6636) :|: TRUE f6541_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6541), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) -> f6543_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6543), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) :|: TRUE f6543_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6543), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) -> f6546_0_equals_Load(EOS(STATIC_6546), java.lang.Object(o6638sub), o6636, o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) :|: i6311 > 1 f6543_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6543), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) -> f6546_1_equals_Load(EOS(STATIC_6546), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) :|: i6311 > 1 f6546_0_equals_Load(EOS(STATIC_6546), java.lang.Object(o6638sub), o6636, o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) -> f7267_0_equals_Load(EOS(STATIC_7267), java.lang.Object(o6638sub), o6636, o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub), o6578))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636, o6637))), java.lang.Object(o6638sub), o6636) :|: TRUE f6617_0_equals_Return(EOS(STATIC_6617), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), matching1) -> f6623_0_equals_Return(EOS(STATIC_6623), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), 0) :|: TRUE && matching1 = 0 f6623_0_equals_Return(EOS(STATIC_6623), o6844, o6845, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), i6356) -> f6625_0_extendMatchingSubstitution_EQ(EOS(STATIC_6625), o6844, o6845, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), i6356) :|: TRUE f6625_0_extendMatchingSubstitution_EQ(EOS(STATIC_6625), o6844, o6845, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), matching1) -> f6627_0_extendMatchingSubstitution_EQ(EOS(STATIC_6627), o6844, o6845, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), 1) :|: TRUE && matching1 = 1 f6627_0_extendMatchingSubstitution_EQ(EOS(STATIC_6627), o6844, o6845, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), matching1) -> f6629_0_extendMatchingSubstitution_Load(EOS(STATIC_6629), o6844, o6845, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856)))) :|: 1 > 0 && matching1 = 1 f6629_0_extendMatchingSubstitution_Load(EOS(STATIC_6629), o6844, o6845, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856)))) -> f6633_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6633), o6844, o6845, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852)))) :|: TRUE f6633_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6633), o6844, o6845, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6852)))) -> f6634_0_extendMatchingSubstitution_Store(EOS(STATIC_6634), o6844, o6845, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), o6852) :|: TRUE f6634_0_extendMatchingSubstitution_Store(EOS(STATIC_6634), o6844, o6845, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), o6852) -> f6635_0_extendMatchingSubstitution_Load(EOS(STATIC_6635), o6844, o6845, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), o6852) :|: TRUE f6635_0_extendMatchingSubstitution_Load(EOS(STATIC_6635), o6844, o6845, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856))), o6852) -> f6636_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6636), o6844, o6845, java.lang.Object(Terms.Map(EOC)), o6852, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856)))) :|: TRUE f6636_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6636), o6844, o6845, java.lang.Object(Terms.Map(EOC)), o6852, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6856)))) -> f6637_0_extendMatchingSubstitution_Store(EOS(STATIC_6637), o6844, o6845, java.lang.Object(Terms.Map(EOC)), o6852, o6856) :|: TRUE f6637_0_extendMatchingSubstitution_Store(EOS(STATIC_6637), o6844, o6845, java.lang.Object(Terms.Map(EOC)), o6852, o6856) -> f6638_0_extendMatchingSubstitution_Load(EOS(STATIC_6638), o6844, o6845, java.lang.Object(Terms.Map(EOC)), o6852, o6856) :|: TRUE f6638_0_extendMatchingSubstitution_Load(EOS(STATIC_6638), o6844, o6845, java.lang.Object(Terms.Map(EOC)), o6852, o6856) -> f6861_0_extendMatchingSubstitution_Load(EOS(STATIC_6861), o6844, o6845, java.lang.Object(Terms.Map(EOC)), o6852, o6856) :|: TRUE f6861_0_extendMatchingSubstitution_Load(EOS(STATIC_6861), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o8968, o8969) -> f6863_0_extendMatchingSubstitution_NULL(EOS(STATIC_6863), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o8968, o8969, o8968) :|: TRUE f6863_0_extendMatchingSubstitution_NULL(EOS(STATIC_6863), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), o8969, java.lang.Object(o8992sub)) -> f6865_0_extendMatchingSubstitution_NULL(EOS(STATIC_6865), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), o8969, java.lang.Object(o8992sub)) :|: TRUE f6865_0_extendMatchingSubstitution_NULL(EOS(STATIC_6865), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), o8969, java.lang.Object(o8992sub)) -> f6867_0_extendMatchingSubstitution_Load(EOS(STATIC_6867), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), o8969) :|: TRUE f6867_0_extendMatchingSubstitution_Load(EOS(STATIC_6867), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), o8969) -> f6870_0_extendMatchingSubstitution_NULL(EOS(STATIC_6870), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), o8969, o8969) :|: TRUE f6870_0_extendMatchingSubstitution_NULL(EOS(STATIC_6870), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), java.lang.Object(o8993sub), java.lang.Object(o8993sub)) -> f6873_0_extendMatchingSubstitution_NULL(EOS(STATIC_6873), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), java.lang.Object(o8993sub), java.lang.Object(o8993sub)) :|: TRUE f6873_0_extendMatchingSubstitution_NULL(EOS(STATIC_6873), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), java.lang.Object(o8993sub), java.lang.Object(o8993sub)) -> f6876_0_extendMatchingSubstitution_Load(EOS(STATIC_6876), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), java.lang.Object(o8993sub)) :|: TRUE f6876_0_extendMatchingSubstitution_Load(EOS(STATIC_6876), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), java.lang.Object(o8993sub)) -> f6879_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6879), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8992sub), java.lang.Object(o8993sub), java.lang.Object(o8992sub)) :|: TRUE f6879_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6879), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, o9016, o9017)), java.lang.Object(o8993sub), java.lang.Object(Terms.List(EOC, o9016, o9017))) -> f6883_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6883), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, o9016, o9017)), java.lang.Object(o8993sub), java.lang.Object(Terms.List(EOC, o9016, o9017))) :|: TRUE f6883_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6883), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, o9016, o9017)), java.lang.Object(o8993sub), java.lang.Object(Terms.List(EOC, o9016, o9017))) -> f6885_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6885), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, o9016, o9017)), java.lang.Object(o8993sub), o9016) :|: TRUE f6885_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6885), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9018sub)) -> f6887_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6887), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9018sub)) :|: TRUE f6887_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6887), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub)) -> f6890_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6890), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub)) :|: TRUE f6890_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6890), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub)) -> f6894_0_extendMatchingSubstitution_Load(EOS(STATIC_6894), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub)) :|: TRUE f6894_0_extendMatchingSubstitution_Load(EOS(STATIC_6894), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub)) -> f6898_0_extendMatchingSubstitution_Load(EOS(STATIC_6898), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC))) :|: TRUE f6898_0_extendMatchingSubstitution_Load(EOS(STATIC_6898), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC))) -> f6901_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6901), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(o8993sub), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o8993sub)) :|: TRUE f6901_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6901), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, o9087, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, o9087, o9088))) -> f6905_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6905), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, o9087, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, o9087, o9088))) :|: TRUE f6905_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_6905), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, o9087, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, o9087, o9088))) -> f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, o9087, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), o9087) :|: TRUE f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9124sub), o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9124sub)) -> f6913_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6913), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9124sub), o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9124sub)) :|: TRUE f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6914_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6914), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: TRUE f6913_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6913), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) -> f6920_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6920), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) :|: TRUE f6920_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6920), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) -> f6928_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6928), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) :|: TRUE f6928_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6928), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) -> f6934_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6934), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) :|: TRUE f6934_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6934), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) -> f6943_0_extendMatchingSubstitution_Load(EOS(STATIC_6943), java.lang.Object(o9329sub), java.lang.Object(o9129sub), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) :|: i6627 > 1 f6934_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6934), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) -> f6943_1_extendMatchingSubstitution_Load(EOS(STATIC_6943), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) :|: i6627 > 1 f6943_0_extendMatchingSubstitution_Load(EOS(STATIC_6943), java.lang.Object(o9329sub), java.lang.Object(o9129sub), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) -> f6950_0_extendMatchingSubstitution_Load(EOS(STATIC_6950), java.lang.Object(o9329sub), java.lang.Object(o9129sub), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) :|: TRUE f6950_0_extendMatchingSubstitution_Load(EOS(STATIC_6950), java.lang.Object(o9329sub), java.lang.Object(o9129sub), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub)) -> f6956_0_extendMatchingSubstitution_Load(EOS(STATIC_6956), java.lang.Object(o9329sub), java.lang.Object(o9129sub), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9329sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9129sub), o9088)), java.lang.Object(o9329sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9129sub), o9015[List.value]o9329, o9086[List.value]o9129) :|: o9015[List.value]o9329 = 1 && o9086[List.value]o9129 = 1 f6956_0_extendMatchingSubstitution_Load(EOS(STATIC_6956), java.lang.Object(o9398sub), java.lang.Object(o9399sub), o9401, o9404, o9407, o9408, java.lang.Object(o9398sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9399sub), o9407[List.value]o9398, o9408[List.value]o9399) -> f6980_0_extendMatchingSubstitution_Load(EOS(STATIC_6980), java.lang.Object(o9398sub), java.lang.Object(o9399sub), java.lang.Object(o9398sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9399sub)) :|: TRUE f6980_0_extendMatchingSubstitution_Load(EOS(STATIC_6980), java.lang.Object(o9398sub), java.lang.Object(o9399sub), java.lang.Object(o9398sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9399sub)) -> f6509_0_extendMatchingSubstitution_Load(EOS(STATIC_6509), java.lang.Object(o9398sub), java.lang.Object(o9399sub), java.lang.Object(o9398sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9399sub)) :|: TRUE f6985_0_extendMatchingSubstitution_Return(EOS(STATIC_6985), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.Map(EOC))) -> f7000_0_extendMatchingSubstitution_Store(EOS(STATIC_7000), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.Map(EOC))) :|: TRUE f7000_0_extendMatchingSubstitution_Store(EOS(STATIC_7000), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.Map(EOC))) -> f7011_0_extendMatchingSubstitution_Load(EOS(STATIC_7011), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) :|: TRUE f7011_0_extendMatchingSubstitution_Load(EOS(STATIC_7011), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) -> f7018_0_extendMatchingSubstitution_NONNULL(EOS(STATIC_7018), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.Map(EOC))) :|: TRUE f7018_0_extendMatchingSubstitution_NONNULL(EOS(STATIC_7018), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.Map(EOC))) -> f7039_0_extendMatchingSubstitution_Load(EOS(STATIC_7039), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) :|: TRUE f7039_0_extendMatchingSubstitution_Load(EOS(STATIC_7039), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) -> f7051_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7051), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017))) :|: TRUE f7051_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7051), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017))) -> f7061_0_extendMatchingSubstitution_Store(EOS(STATIC_7061), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), o9017) :|: TRUE f7061_0_extendMatchingSubstitution_Store(EOS(STATIC_7061), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), o9017) -> f7070_0_extendMatchingSubstitution_Load(EOS(STATIC_7070), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) :|: TRUE f7070_0_extendMatchingSubstitution_Load(EOS(STATIC_7070), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) -> f7081_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7081), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) :|: TRUE f7081_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7081), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088))) -> f7102_0_extendMatchingSubstitution_Store(EOS(STATIC_7102), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) :|: TRUE f7102_0_extendMatchingSubstitution_Store(EOS(STATIC_7102), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) -> f7092_0_extendMatchingSubstitution_Store(EOS(STATIC_7092), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) :|: TRUE f7092_0_extendMatchingSubstitution_Store(EOS(STATIC_7092), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) -> f7106_0_extendMatchingSubstitution_JMP(EOS(STATIC_7106), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) :|: TRUE f7106_0_extendMatchingSubstitution_JMP(EOS(STATIC_7106), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) -> f7113_0_extendMatchingSubstitution_Load(EOS(STATIC_7113), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) :|: TRUE f7113_0_extendMatchingSubstitution_Load(EOS(STATIC_7113), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) -> f6861_0_extendMatchingSubstitution_Load(EOS(STATIC_6861), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) :|: TRUE f6914_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6914), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6922_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6922), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9019sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: TRUE f6922_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6922), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6931_0_extendMatchingSubstitution_InvokeMethod(EOS(STATIC_6931), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9308sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9308sub), java.lang.Object(Terms.Map(EOC)), NULL) :|: TRUE f6622_0_equals_Return(EOS(STATIC_6622), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), matching1) -> f6623_0_equals_Return(EOS(STATIC_6623), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), 1) :|: TRUE && matching1 = 1 f6976_0_extendMatchingSubstitution_Return(EOS(STATIC_6976), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.Map(EOC))) -> f6991_0_extendMatchingSubstitution_Store(EOS(STATIC_6991), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.Map(EOC))) :|: TRUE f6991_0_extendMatchingSubstitution_Store(EOS(STATIC_6991), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.Map(EOC))) -> f7004_0_extendMatchingSubstitution_Load(EOS(STATIC_7004), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088))) :|: TRUE f7004_0_extendMatchingSubstitution_Load(EOS(STATIC_7004), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088))) -> f7014_0_extendMatchingSubstitution_NONNULL(EOS(STATIC_7014), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.Map(EOC))) :|: TRUE f7014_0_extendMatchingSubstitution_NONNULL(EOS(STATIC_7014), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.Map(EOC))) -> f7026_0_extendMatchingSubstitution_Load(EOS(STATIC_7026), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088))) :|: TRUE f7026_0_extendMatchingSubstitution_Load(EOS(STATIC_7026), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088))) -> f7043_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7043), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017))) :|: TRUE f7043_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7043), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017))) -> f7055_0_extendMatchingSubstitution_Store(EOS(STATIC_7055), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, NULL, o9088)), o9017) :|: TRUE f7055_0_extendMatchingSubstitution_Store(EOS(STATIC_7055), o8960, o8961, java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.List(EOC, NULL, o9088)), o9017) -> f7064_0_extendMatchingSubstitution_Load(EOS(STATIC_7064), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, NULL, o9088))) :|: TRUE f7064_0_extendMatchingSubstitution_Load(EOS(STATIC_7064), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, NULL, o9088))) -> f7076_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7076), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, NULL, o9088))) :|: TRUE f7076_0_extendMatchingSubstitution_FieldAccess(EOS(STATIC_7076), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, java.lang.Object(Terms.List(EOC, NULL, o9088))) -> f7092_0_extendMatchingSubstitution_Store(EOS(STATIC_7092), o8960, o8961, java.lang.Object(Terms.Map(EOC)), o9017, o9088) :|: TRUE f6936_1_extendMatchingSubstitution_Load(EOS(STATIC_6936), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(o9541sub), java.lang.Object(Terms.Map(EOC)), NULL) -> f6976_0_extendMatchingSubstitution_Return(EOS(STATIC_6976), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9541sub), o9017)), java.lang.Object(Terms.List(EOC, NULL, o9088)), java.lang.Object(Terms.Map(EOC))) :|: TRUE f6546_1_equals_Load(EOS(STATIC_6546), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), java.lang.Object(Terms.FunctionSymbol(EOC)), java.lang.Object(Terms.FunctionSymbol(EOC))) -> f6617_0_equals_Return(EOS(STATIC_6617), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), 0) :|: TRUE f6546_1_equals_Load(EOS(STATIC_6546), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), java.lang.Object(Terms.FunctionSymbol(EOC)), java.lang.Object(Terms.FunctionSymbol(EOC))) -> f6622_0_equals_Return(EOS(STATIC_6622), o6440, o6441, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6578))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), o6637))), 1) :|: TRUE f6943_1_extendMatchingSubstitution_Load(EOS(STATIC_6943), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(o9692sub), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9690sub)) -> f6985_0_extendMatchingSubstitution_Return(EOS(STATIC_6985), o8960, o8961, java.lang.Object(Terms.List(EOC, java.lang.Object(o9692sub), o9017)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9690sub), o9088)), java.lang.Object(Terms.Map(EOC))) :|: TRUE Combined rules. Obtained 6 IRulesP rules: f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960:0, o8961:0, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(EOC, NULL, java.lang.Object(Terms.List(EOC, o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), java.lang.Object(Terms.Map(EOC)), NULL) -> f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960:0, o8961:0, java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(EOC, o9087:0, o9088:0)), java.lang.Object(o9018sub:0), java.lang.Object(Terms.Map(EOC)), o9087:0) :|: TRUE f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960:0, o8961:0, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub:0), o9017:0)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9124sub:0), o9088:0)), java.lang.Object(o9019sub:0), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9124sub:0)) -> f6510_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6510), java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0), java.lang.Object(o9019sub:0), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9124sub:0), java.lang.Object(o9124sub:0)) :|: TRUE f6510_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6510), o6440:0, o6441:0, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub:0), o9017:0))))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), java.lang.Object(Terms.List(EOC, o9087:0, o9088:0))))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(Terms.FunctionSymbol(EOC)), java.lang.Object(Terms.List(EOC, o9087:0, o9088:0)))))) -> f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o6440:0, o6441:0, java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(EOC, o9087:0, o9088:0)), java.lang.Object(o9018sub:0), java.lang.Object(Terms.Map(EOC)), o9087:0) :|: TRUE f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960:0, o8961:0, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(EOC, java.lang.Object(o9124sub:0), java.lang.Object(Terms.List(EOC, o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), java.lang.Object(Terms.Map(EOC)), java.lang.Object(o9124sub:0)) -> f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960:0, o8961:0, java.lang.Object(Terms.List(EOC, java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(EOC, o9087:0, o9088:0)), java.lang.Object(o9018sub:0), java.lang.Object(Terms.Map(EOC)), o9087:0) :|: TRUE f6909_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6909), o8960:0, o8961:0, java.lang.Object(Terms.List(EOC, java.lang.Object(o9019sub:0), o9017:0)), java.lang.Object(Terms.List(EOC, NULL, o9088:0)), java.lang.Object(o9019sub:0), java.lang.Object(Terms.Map(EOC)), NULL) -> f6510_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6510), java.lang.Object(o9019sub:0), NULL, java.lang.Object(o9019sub:0), java.lang.Object(Terms.Map(EOC)), NULL, NULL) :|: TRUE Removed following non-SCC rules: f6510_0_extendMatchingSubstitution_CheckCast(EOS(STATIC_6510), o6440:0, o6441:0, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub:0), o6578:0))), java.lang.Object(Terms.Map(EOC)), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636:0, o6637:0))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636:0, o6637:0)))) -> f7267_0_equals_Load(EOS(STATIC_7267), java.lang.Object(o6638sub:0), o6636:0, o6440:0, o6441:0, java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, java.lang.Object(o6638sub:0), o6578:0))), java.lang.Object(Terms.Term(Terms.FunctionApplication(EOC, o6636:0, o6637:0))), java.lang.Object(o6638sub:0), o6636:0) :|: TRUE Filtered constant ground arguments: f6909_0_extendMatchingSubstitution_CheckCast(x1, x2, x3, x4, x5, x6, x7, x8) -> f6909_0_extendMatchingSubstitution_CheckCast(x2, x3, x4, x5, x6, x8) f6510_0_extendMatchingSubstitution_CheckCast(x1, x2, x3, x4, x5, x6, x7) -> f6510_0_extendMatchingSubstitution_CheckCast(x2, x3, x4, x6, x7) Terms.List(x1, x2, x3) -> Terms.List(x2, x3) Terms.Map(x1) -> Terms.Map Terms.FunctionApplication(x1, x2, x3) -> Terms.FunctionApplication(x3) Terms.FunctionSymbol(x1) -> Terms.FunctionSymbol Filtered unneeded arguments: f6909_0_extendMatchingSubstitution_CheckCast(x1, x2, x3, x4, x5, x6) -> f6909_0_extendMatchingSubstitution_CheckCast(x3, x4, x5, x6) f6510_0_extendMatchingSubstitution_CheckCast(x1, x2, x3, x4, x5) -> f6510_0_extendMatchingSubstitution_CheckCast(x3, x4, x5) ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(NULL, java.lang.Object(Terms.List(o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), NULL) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), o9017:0)), java.lang.Object(Terms.List(java.lang.Object(o9124sub:0), o9088:0)), java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0)) -> f6510_0_extendMatchingSubstitution_CheckCast(java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0), java.lang.Object(o9124sub:0)) f6510_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0))))), java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(o9087:0, o9088:0))))), java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(o9087:0, o9088:0)))))) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(java.lang.Object(o9124sub:0), java.lang.Object(Terms.List(o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0)) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), o9017:0)), java.lang.Object(Terms.List(NULL, o9088:0)), java.lang.Object(o9019sub:0), NULL) -> f6510_0_extendMatchingSubstitution_CheckCast(java.lang.Object(o9019sub:0), NULL, NULL) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), o9017:0)), java.lang.Object(Terms.List(java.lang.Object(o9124sub:0), o9088:0)), java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0)) -> f6510_0_extendMatchingSubstitution_CheckCast(java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0), java.lang.Object(o9124sub:0)) f6510_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0))))), java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(o9087:0, o9088:0))))), java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(o9087:0, o9088:0)))))) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(NULL, java.lang.Object(Terms.List(o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), NULL) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(java.lang.Object(o9124sub:0), java.lang.Object(Terms.List(o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0)) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *f6510_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0))))), java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(o9087:0, o9088:0))))), java.lang.Object(Terms.Term(Terms.FunctionApplication(java.lang.Object(Terms.List(o9087:0, o9088:0)))))) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) The graph contains the following edges 1 > 1, 2 > 2, 3 > 2, 1 > 3, 2 > 4, 3 > 4 *f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), o9017:0)), java.lang.Object(Terms.List(java.lang.Object(o9124sub:0), o9088:0)), java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0)) -> f6510_0_extendMatchingSubstitution_CheckCast(java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0), java.lang.Object(o9124sub:0)) The graph contains the following edges 1 > 1, 3 >= 1, 2 > 2, 4 >= 2, 2 > 3, 4 >= 3 *f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(NULL, java.lang.Object(Terms.List(o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), NULL) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9019sub:0), java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)))), java.lang.Object(Terms.List(java.lang.Object(o9124sub:0), java.lang.Object(Terms.List(o9087:0, o9088:0)))), java.lang.Object(o9019sub:0), java.lang.Object(o9124sub:0)) -> f6909_0_extendMatchingSubstitution_CheckCast(java.lang.Object(Terms.List(java.lang.Object(o9018sub:0), o9017:0)), java.lang.Object(Terms.List(o9087:0, o9088:0)), java.lang.Object(o9018sub:0), o9087:0) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Terms.Term.create(I)LTerms/Term; SCC calls the following helper methods: Terms.Term.create(I)LTerms/Term; Performed SCC analyses: *Used field analysis yielded the following read fields: *java.lang.String: [count] *Terms.List: [value, next] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (15) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 108 IRulesP rules: f1823_0_create_ConstantStackPush(EOS(STATIC_1823(java.lang.Object(o313sub), i472)), i473, i473, i473) -> f1826_0_create_GT(EOS(STATIC_1826(java.lang.Object(o313sub), i472)), i473, i473, i473, 1) :|: TRUE f1826_0_create_GT(EOS(STATIC_1826(java.lang.Object(o313sub), i472)), i495, i495, i495, matching1) -> f1842_0_create_GT(EOS(STATIC_1842(java.lang.Object(o313sub), i472)), i495, i495, i495, 1) :|: TRUE && matching1 = 1 f1842_0_create_GT(EOS(STATIC_1842(java.lang.Object(o313sub), i472)), i495, i495, i495, matching1) -> f1890_0_create_InvokeMethod(EOS(STATIC_1890(java.lang.Object(o313sub), i472)), i495, i495) :|: i495 > 1 && matching1 = 1 f1890_0_create_InvokeMethod(EOS(STATIC_1890(java.lang.Object(o313sub), i472)), i495, i495) -> f1898_0_random_FieldAccess(EOS(STATIC_1898(java.lang.Object(o313sub), i472)), i495, i495) :|: TRUE f1898_0_random_FieldAccess(EOS(STATIC_1898(java.lang.Object(o313sub), i472)), i495, i495) -> f1916_0_random_FieldAccess(EOS(STATIC_1916(java.lang.Object(o313sub), i472)), i495, i495, java.lang.Object(o313sub)) :|: TRUE f1916_0_random_FieldAccess(EOS(STATIC_1916(java.lang.Object(o313sub), i472)), i495, i495, java.lang.Object(o313sub)) -> f1926_0_random_ArrayAccess(EOS(STATIC_1926(java.lang.Object(o313sub), i472)), i495, i495, java.lang.Object(o313sub), i472) :|: TRUE f1926_0_random_ArrayAccess(EOS(STATIC_1926(java.lang.Object(ARRAY(i525)), i472)), i495, i495, java.lang.Object(ARRAY(i525)), i472) -> f1937_0_random_ArrayAccess(EOS(STATIC_1937(java.lang.Object(ARRAY(i525)), i472)), i495, i495, java.lang.Object(ARRAY(i525)), i472) :|: i525 >= 0 f1937_0_random_ArrayAccess(EOS(STATIC_1937(java.lang.Object(ARRAY(i525)), i472)), i495, i495, java.lang.Object(ARRAY(i525)), i472) -> f1944_0_random_ArrayAccess(EOS(STATIC_1944(java.lang.Object(ARRAY(i525)), i472)), i495, i495, java.lang.Object(ARRAY(i525)), i472) :|: TRUE f1944_0_random_ArrayAccess(EOS(STATIC_1944(java.lang.Object(ARRAY(i525)), i472)), i495, i495, java.lang.Object(ARRAY(i525)), i472) -> f1959_0_random_Store(EOS(STATIC_1959(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328) :|: i472 < i525 f1959_0_random_Store(EOS(STATIC_1959(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328) -> f1973_0_random_FieldAccess(EOS(STATIC_1973(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328) :|: TRUE f1973_0_random_FieldAccess(EOS(STATIC_1973(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328) -> f2000_0_random_ConstantStackPush(EOS(STATIC_2000(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328, i472) :|: TRUE f2000_0_random_ConstantStackPush(EOS(STATIC_2000(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328, i472) -> f2006_0_random_IntArithmetic(EOS(STATIC_2006(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328, i472, 1) :|: TRUE f2006_0_random_IntArithmetic(EOS(STATIC_2006(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328, i472, matching1) -> f2016_0_random_FieldAccess(EOS(STATIC_2016(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328, i472 + 1) :|: i472 > 0 && matching1 = 1 f2016_0_random_FieldAccess(EOS(STATIC_2016(java.lang.Object(ARRAY(i525)), i472)), i495, i495, o328, i538) -> f2019_0_random_Load(EOS(STATIC_2019(java.lang.Object(ARRAY(i525)), i538)), i495, i495, o328) :|: TRUE f2019_0_random_Load(EOS(STATIC_2019(java.lang.Object(ARRAY(i525)), i538)), i495, i495, o328) -> f2022_0_random_InvokeMethod(EOS(STATIC_2022(java.lang.Object(ARRAY(i525)), i538)), i495, i495, o328) :|: TRUE f2022_0_random_InvokeMethod(EOS(STATIC_2022(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o344sub)) -> f2027_0_random_InvokeMethod(EOS(STATIC_2027(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o344sub)) :|: TRUE f2027_0_random_InvokeMethod(EOS(STATIC_2027(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o349sub)) -> f2039_0_random_InvokeMethod(EOS(STATIC_2039(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o349sub)) :|: TRUE f2039_0_random_InvokeMethod(EOS(STATIC_2039(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o349sub)) -> f2047_0_length_Load(EOS(STATIC_2047(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o349sub)) :|: TRUE f2047_0_length_Load(EOS(STATIC_2047(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o349sub)) -> f2061_0_length_FieldAccess(EOS(STATIC_2061(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(o349sub)) :|: TRUE f2061_0_length_FieldAccess(EOS(STATIC_2061(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(java.lang.String(EOC, i558))) -> f2071_0_length_FieldAccess(EOS(STATIC_2071(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(java.lang.String(EOC, i558))) :|: i558 >= 0 f2071_0_length_FieldAccess(EOS(STATIC_2071(java.lang.Object(ARRAY(i525)), i538)), i495, i495, java.lang.Object(java.lang.String(EOC, i558))) -> f2085_0_length_Return(EOS(STATIC_2085(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2085_0_length_Return(EOS(STATIC_2085(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2097_0_random_Return(EOS(STATIC_2097(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2097_0_random_Return(EOS(STATIC_2097(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2111_0_create_Store(EOS(STATIC_2111(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2111_0_create_Store(EOS(STATIC_2111(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2118_0_create_New(EOS(STATIC_2118(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2118_0_create_New(EOS(STATIC_2118(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2132_0_create_Duplicate(EOS(STATIC_2132(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2132_0_create_Duplicate(EOS(STATIC_2132(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2145_0_create_InvokeMethod(EOS(STATIC_2145(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2145_0_create_InvokeMethod(EOS(STATIC_2145(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2154_0__init__Load(EOS(STATIC_2154(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2154_0__init__Load(EOS(STATIC_2154(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2179_0__init__InvokeMethod(EOS(STATIC_2179(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2179_0__init__InvokeMethod(EOS(STATIC_2179(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2203_0__init__Return(EOS(STATIC_2203(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2203_0__init__Return(EOS(STATIC_2203(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2233_0_create_Store(EOS(STATIC_2233(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2233_0_create_Store(EOS(STATIC_2233(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2244_0_create_ConstantStackPush(EOS(STATIC_2244(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) :|: TRUE f2244_0_create_ConstantStackPush(EOS(STATIC_2244(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558) -> f2263_0_create_Store(EOS(STATIC_2263(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558, 0) :|: TRUE f2263_0_create_Store(EOS(STATIC_2263(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558, matching1) -> f2280_0_create_Load(EOS(STATIC_2280(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558, 0) :|: TRUE && matching1 = 0 f2280_0_create_Load(EOS(STATIC_2280(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558, matching1) -> f3562_0_create_Load(EOS(STATIC_3562(java.lang.Object(ARRAY(i525)), i538)), i495, i495, i558, 0) :|: TRUE && matching1 = 0 f3562_0_create_Load(EOS(STATIC_3562(java.lang.Object(ARRAY(i1002)), i1003)), i495, i495, i1004, i1005) -> f4327_0_create_Load(EOS(STATIC_4327(java.lang.Object(ARRAY(i1002)), i1003)), i495, i495, i1004, i1005) :|: TRUE f4327_0_create_Load(EOS(STATIC_4327(java.lang.Object(ARRAY(i1699)), i1700)), i495, i495, i1701, i1702) -> f4544_0_create_Load(EOS(STATIC_4544(java.lang.Object(ARRAY(i1699)), i1700)), i495, i495, i1701, i1702) :|: TRUE f4544_0_create_Load(EOS(STATIC_4544(java.lang.Object(ARRAY(i2362)), i2363)), i495, i495, i2364, i2365) -> f4849_0_create_Load(EOS(STATIC_4849(java.lang.Object(ARRAY(i2362)), i2363)), i495, i495, i2364, i2365) :|: TRUE f4849_0_create_Load(EOS(STATIC_4849(java.lang.Object(ARRAY(i3327)), i3328)), i495, i495, i3329, i3330) -> f5064_0_create_Load(EOS(STATIC_5064(java.lang.Object(ARRAY(i3327)), i3328)), i495, i495, i3329, i3330) :|: TRUE f5064_0_create_Load(EOS(STATIC_5064(java.lang.Object(ARRAY(i3891)), i3892)), i495, i495, i3893, i3894) -> f5548_0_create_Load(EOS(STATIC_5548(java.lang.Object(ARRAY(i3891)), i3892)), i495, i495, i3893, i3894) :|: TRUE f5548_0_create_Load(EOS(STATIC_5548(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897) -> f5562_0_create_Load(EOS(STATIC_5562(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i4897) :|: TRUE f5562_0_create_Load(EOS(STATIC_5562(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i4897) -> f5571_0_create_GE(EOS(STATIC_5571(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i4897, i4896) :|: TRUE f5571_0_create_GE(EOS(STATIC_5571(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i4897, i4896) -> f5579_0_create_GE(EOS(STATIC_5579(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i4897, i4896) :|: i4897 < i4896 f5579_0_create_GE(EOS(STATIC_5579(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i4897, i4896) -> f5586_0_create_Load(EOS(STATIC_5586(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897) :|: i4897 < i4896 f5586_0_create_Load(EOS(STATIC_5586(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897) -> f5593_0_create_Load(EOS(STATIC_5593(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897) :|: TRUE f5593_0_create_Load(EOS(STATIC_5593(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897) -> f5600_0_create_ConstantStackPush(EOS(STATIC_5600(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i495) :|: TRUE f5600_0_create_ConstantStackPush(EOS(STATIC_5600(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i495) -> f5605_0_create_IntArithmetic(EOS(STATIC_5605(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i495, 1) :|: TRUE f5605_0_create_IntArithmetic(EOS(STATIC_5605(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i495, matching1) -> f5612_0_create_InvokeMethod(EOS(STATIC_5612(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i495 - 1) :|: i495 > 0 && matching1 = 1 f5612_0_create_InvokeMethod(EOS(STATIC_5612(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i5071) -> f5618_0_create_Load(EOS(STATIC_5618(java.lang.Object(ARRAY(i4894)), i4895)), i5071, i5071) :|: i495 > 1 && i5071 >= 1 && i4896 >= 1 && i4895 > 1 && i4897 < i4896 && i5071 < i495 f5612_0_create_InvokeMethod(EOS(STATIC_5612(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i5071) -> f5618_1_create_Load(EOS(STATIC_5618(java.lang.Object(ARRAY(i4894)), i4895)), i495, i495, i4896, i4897, i5071) :|: i495 > 1 && i5071 >= 1 && i4896 >= 1 && i4895 > 1 && i4897 < i4896 && i5071 < i495 f5618_0_create_Load(EOS(STATIC_5618(java.lang.Object(ARRAY(i4894)), i4895)), i5071, i5071) -> f5624_0_create_Load(EOS(STATIC_5624(java.lang.Object(ARRAY(i4894)), i4895)), i5071, i5071) :|: TRUE f5624_0_create_Load(EOS(STATIC_5624(java.lang.Object(ARRAY(i4894)), i4895)), i5071, i5071) -> f1806_0_create_Load(EOS(STATIC_1806(java.lang.Object(ARRAY(i4894)), i4895)), i5071, i5071) :|: TRUE f1806_0_create_Load(EOS(STATIC_1806(java.lang.Object(o313sub), i472)), i473, i473) -> f1823_0_create_ConstantStackPush(EOS(STATIC_1823(java.lang.Object(o313sub), i472)), i473, i473, i473) :|: TRUE f5645_0_create_Return(EOS(STATIC_5645(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5657_0_create_InvokeMethod(EOS(STATIC_5657(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5657_0_create_InvokeMethod(EOS(STATIC_5657(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5665_0_add_New(EOS(STATIC_5665(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5665_0_add_New(EOS(STATIC_5665(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5673_0_add_Duplicate(EOS(STATIC_5673(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5673_0_add_Duplicate(EOS(STATIC_5673(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5684_0_add_InvokeMethod(EOS(STATIC_5684(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5684_0_add_InvokeMethod(EOS(STATIC_5684(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5691_0__init__Load(EOS(STATIC_5691(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5691_0__init__Load(EOS(STATIC_5691(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5699_0__init__InvokeMethod(EOS(STATIC_5699(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5699_0__init__InvokeMethod(EOS(STATIC_5699(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5702_0__init__Return(EOS(STATIC_5702(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5702_0__init__Return(EOS(STATIC_5702(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5707_0_add_Store(EOS(STATIC_5707(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5707_0_add_Store(EOS(STATIC_5707(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5711_0_add_Load(EOS(STATIC_5711(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5711_0_add_Load(EOS(STATIC_5711(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5715_0_add_Load(EOS(STATIC_5715(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5715_0_add_Load(EOS(STATIC_5715(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5719_0_add_FieldAccess(EOS(STATIC_5719(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5719_0_add_FieldAccess(EOS(STATIC_5719(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5723_0_add_FieldAccess(EOS(STATIC_5723(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5723_0_add_FieldAccess(EOS(STATIC_5723(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5727_0_add_Load(EOS(STATIC_5727(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5727_0_add_Load(EOS(STATIC_5727(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5730_0_add_Load(EOS(STATIC_5730(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5730_0_add_Load(EOS(STATIC_5730(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5735_0_add_FieldAccess(EOS(STATIC_5735(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5735_0_add_FieldAccess(EOS(STATIC_5735(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5740_0_add_FieldAccess(EOS(STATIC_5740(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5740_0_add_FieldAccess(EOS(STATIC_5740(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5744_0_add_Load(EOS(STATIC_5744(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5744_0_add_Load(EOS(STATIC_5744(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5748_0_add_Load(EOS(STATIC_5748(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5748_0_add_Load(EOS(STATIC_5748(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5751_0_add_FieldAccess(EOS(STATIC_5751(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5751_0_add_FieldAccess(EOS(STATIC_5751(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5759_0_add_Load(EOS(STATIC_5759(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5759_0_add_Load(EOS(STATIC_5759(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5764_0_add_Load(EOS(STATIC_5764(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5764_0_add_Load(EOS(STATIC_5764(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5768_0_add_FieldAccess(EOS(STATIC_5768(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5768_0_add_FieldAccess(EOS(STATIC_5768(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5771_0_add_Return(EOS(STATIC_5771(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5771_0_add_Return(EOS(STATIC_5771(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5775_0_create_Inc(EOS(STATIC_5775(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5775_0_create_Inc(EOS(STATIC_5775(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) -> f5780_0_create_JMP(EOS(STATIC_5780(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897 + 1) :|: TRUE f5780_0_create_JMP(EOS(STATIC_5780(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i5489) -> f5785_0_create_Load(EOS(STATIC_5785(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i5489) :|: TRUE f5785_0_create_Load(EOS(STATIC_5785(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i5489) -> f5548_0_create_Load(EOS(STATIC_5548(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i5489) :|: TRUE f5758_0_create_Return(EOS(STATIC_5758(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5763_0_create_InvokeMethod(EOS(STATIC_5763(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5763_0_create_InvokeMethod(EOS(STATIC_5763(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5767_0_add_New(EOS(STATIC_5767(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5767_0_add_New(EOS(STATIC_5767(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5774_0_add_Duplicate(EOS(STATIC_5774(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5774_0_add_Duplicate(EOS(STATIC_5774(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5779_0_add_InvokeMethod(EOS(STATIC_5779(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5779_0_add_InvokeMethod(EOS(STATIC_5779(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5784_0__init__Load(EOS(STATIC_5784(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5784_0__init__Load(EOS(STATIC_5784(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5796_0__init__InvokeMethod(EOS(STATIC_5796(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5796_0__init__InvokeMethod(EOS(STATIC_5796(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5801_0__init__Return(EOS(STATIC_5801(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5801_0__init__Return(EOS(STATIC_5801(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5806_0_add_Store(EOS(STATIC_5806(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5806_0_add_Store(EOS(STATIC_5806(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5811_0_add_Load(EOS(STATIC_5811(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5811_0_add_Load(EOS(STATIC_5811(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5816_0_add_Load(EOS(STATIC_5816(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5816_0_add_Load(EOS(STATIC_5816(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5822_0_add_FieldAccess(EOS(STATIC_5822(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5822_0_add_FieldAccess(EOS(STATIC_5822(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5828_0_add_FieldAccess(EOS(STATIC_5828(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5828_0_add_FieldAccess(EOS(STATIC_5828(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5835_0_add_Load(EOS(STATIC_5835(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5835_0_add_Load(EOS(STATIC_5835(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5843_0_add_Load(EOS(STATIC_5843(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5843_0_add_Load(EOS(STATIC_5843(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5849_0_add_FieldAccess(EOS(STATIC_5849(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5849_0_add_FieldAccess(EOS(STATIC_5849(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5854_0_add_FieldAccess(EOS(STATIC_5854(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5854_0_add_FieldAccess(EOS(STATIC_5854(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5859_0_add_Load(EOS(STATIC_5859(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5859_0_add_Load(EOS(STATIC_5859(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5864_0_add_Load(EOS(STATIC_5864(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5864_0_add_Load(EOS(STATIC_5864(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5871_0_add_FieldAccess(EOS(STATIC_5871(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5871_0_add_FieldAccess(EOS(STATIC_5871(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5877_0_add_Load(EOS(STATIC_5877(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5877_0_add_Load(EOS(STATIC_5877(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5883_0_add_Load(EOS(STATIC_5883(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5883_0_add_Load(EOS(STATIC_5883(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5890_0_add_FieldAccess(EOS(STATIC_5890(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5890_0_add_FieldAccess(EOS(STATIC_5890(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5896_0_add_Return(EOS(STATIC_5896(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5896_0_add_Return(EOS(STATIC_5896(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5900_0_create_Inc(EOS(STATIC_5900(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE f5900_0_create_Inc(EOS(STATIC_5900(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) -> f5907_0_create_JMP(EOS(STATIC_5907(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897 + 1) :|: TRUE f5907_0_create_JMP(EOS(STATIC_5907(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i5754) -> f5912_0_create_Load(EOS(STATIC_5912(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i5754) :|: TRUE f5912_0_create_Load(EOS(STATIC_5912(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i5754) -> f5548_0_create_Load(EOS(STATIC_5548(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i5754) :|: TRUE f5618_1_create_Load(EOS(STATIC_5618(java.lang.Object(ARRAY(i5143)), i4895)), i495, i495, i4896, i4897, i5071) -> f5645_0_create_Return(EOS(STATIC_5645(java.lang.Object(ARRAY(i5143)), i5139)), i495, i495, i4896, i4897) :|: TRUE f5618_1_create_Load(EOS(STATIC_5618(java.lang.Object(ARRAY(i5432)), i4895)), i495, i495, i4896, i4897, i5071) -> f5758_0_create_Return(EOS(STATIC_5758(java.lang.Object(ARRAY(i5432)), i5428)), i495, i495, i4896, i4897) :|: TRUE Combined rules. Obtained 2 IRulesP rules: f5612_0_create_InvokeMethod(EOS(STATIC_5612(java.lang.Object(ARRAY(i4894:0)), i4895:0)), i495:0, i495:0, i4896:0, i4897:0, i5071:0) -> f5612_0_create_InvokeMethod(EOS(STATIC_5612(java.lang.Object(ARRAY(i4894:0)), i5139:0)), i495:0, i495:0, i4896:0, i4897:0 + 1, i495:0 - 1) :|: i495:0 > 1 && i4897:0 + 1 < i4896:0 && i5071:0 > 0 && i4896:0 > 0 && i5071:0 < i495:0 && i4895:0 > 1 f5612_0_create_InvokeMethod(EOS(STATIC_5612(java.lang.Object(ARRAY(i4894:0)), i4895:0)), i495:0, i495:0, i4896:0, i4897:0, i5071:0) -> f5612_0_create_InvokeMethod(EOS(STATIC_5612(java.lang.Object(ARRAY(i4894:0)), i4895:0 + 1)), i5071:0, i5071:0, i558:0, 0, i5071:0 - 1) :|: i5071:0 > 1 && i558:0 > 0 && i4895:0 > 1 && i4894:0 > -1 && i4895:0 < i4894:0 && i495:0 > 1 && i4896:0 > 0 && i5071:0 < i495:0 && i4897:0 < i4896:0 Filtered duplicate arguments: f5612_0_create_InvokeMethod(x1, x2, x3, x4, x5, x6) -> f5612_0_create_InvokeMethod(x1, x3, x4, x5, x6) Finished conversion. Obtained 2 rules.P rules: f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0, i5071:0, i4894:0, i4895:0) -> f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0 + 1, i495:0 - 1, i4894:0, i5139:0) :|: i4897:0 + 1 < i4896:0 && i495:0 > 1 && i5071:0 > 0 && i4896:0 > 0 && i4895:0 > 1 && i5071:0 < i495:0 f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0, i5071:0, i4894:0, i4895:0) -> f5612_0_create_InvokeMethod(i5071:0, i558:0, 0, i5071:0 - 1, i4894:0, i4895:0 + 1) :|: i558:0 > 0 && i5071:0 > 1 && i4895:0 > 1 && i4894:0 > -1 && i4895:0 < i4894:0 && i495:0 > 1 && i4896:0 > 0 && i4897:0 < i4896:0 && i5071:0 < i495:0 ---------------------------------------- (16) Obligation: Rules: f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0, i5071:0, i4894:0, i4895:0) -> f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0 + 1, i495:0 - 1, i4894:0, i5139:0) :|: i4897:0 + 1 < i4896:0 && i495:0 > 1 && i5071:0 > 0 && i4896:0 > 0 && i4895:0 > 1 && i5071:0 < i495:0 f5612_0_create_InvokeMethod(x, x1, x2, x3, x4, x5) -> f5612_0_create_InvokeMethod(x3, x6, 0, x3 - 1, x4, x5 + 1) :|: x6 > 0 && x3 > 1 && x5 > 1 && x4 > -1 && x5 < x4 && x > 1 && x1 > 0 && x2 < x1 && x3 < x ---------------------------------------- (17) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (18) Obligation: Rules: f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0, i5071:0, i4894:0, i4895:0) -> f5612_0_create_InvokeMethod(i495:0, i4896:0, arith, arith1, i4894:0, i5139:0) :|: i4897:0 + 1 < i4896:0 && i495:0 > 1 && i5071:0 > 0 && i4896:0 > 0 && i4895:0 > 1 && i5071:0 < i495:0 && arith = i4897:0 + 1 && arith1 = i495:0 - 1 f5612_0_create_InvokeMethod(x7, x8, x9, x10, x11, x12) -> f5612_0_create_InvokeMethod(x10, x13, 0, x14, x11, x15) :|: x13 > 0 && x10 > 1 && x12 > 1 && x11 > -1 && x12 < x11 && x7 > 1 && x8 > 0 && x9 < x8 && x10 < x7 && x14 = x10 - 1 && x15 = x12 + 1 ---------------------------------------- (19) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0, i5071:0, i4894:0, i4895:0) -> f5612_0_create_InvokeMethod(i495:0, i4896:0, arith, arith1, i4894:0, i5139:0) :|: i4897:0 + 1 < i4896:0 && i495:0 > 1 && i5071:0 > 0 && i4896:0 > 0 && i4895:0 > 1 && i5071:0 < i495:0 && arith = i4897:0 + 1 && arith1 = i495:0 - 1 (2) f5612_0_create_InvokeMethod(x7, x8, x9, x10, x11, x12) -> f5612_0_create_InvokeMethod(x10, x13, 0, x14, x11, x15) :|: x13 > 0 && x10 > 1 && x12 > 1 && x11 > -1 && x12 < x11 && x7 > 1 && x8 > 0 && x9 < x8 && x10 < x7 && x14 = x10 - 1 && x15 = x12 + 1 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (20) Obligation: Termination digraph: Nodes: (1) f5612_0_create_InvokeMethod(i495:0, i4896:0, i4897:0, i5071:0, i4894:0, i4895:0) -> f5612_0_create_InvokeMethod(i495:0, i4896:0, arith, arith1, i4894:0, i5139:0) :|: i4897:0 + 1 < i4896:0 && i495:0 > 1 && i5071:0 > 0 && i4896:0 > 0 && i4895:0 > 1 && i5071:0 < i495:0 && arith = i4897:0 + 1 && arith1 = i495:0 - 1 (2) f5612_0_create_InvokeMethod(x7, x8, x9, x10, x11, x12) -> f5612_0_create_InvokeMethod(x10, x13, 0, x14, x11, x15) :|: x13 > 0 && x10 > 1 && x12 > 1 && x11 > -1 && x12 < x11 && x7 > 1 && x8 > 0 && x9 < x8 && x10 < x7 && x14 = x10 - 1 && x15 = x12 + 1 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (21) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (22) Obligation: Rules: f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, i4897:0:0, i5071:0:0, i4894:0:0, i4895:0:0) -> f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, i4897:0:0 + 1, i495:0:0 - 1, i4894:0:0, i5139:0:0) :|: i4895:0:0 > 1 && i5071:0:0 < i495:0:0 && i4896:0:0 > 0 && i5071:0:0 > 0 && i495:0:0 > 1 && i4897:0:0 + 1 < i4896:0:0 f5612_0_create_InvokeMethod(x7:0, x8:0, x9:0, x10:0, x11:0, x12:0) -> f5612_0_create_InvokeMethod(x10:0, x13:0, 0, x10:0 - 1, x11:0, x12:0 + 1) :|: x9:0 < x8:0 && x7:0 > x10:0 && x8:0 > 0 && x7:0 > 1 && x12:0 < x11:0 && x11:0 > -1 && x12:0 > 1 && x10:0 > 1 && x13:0 > 0 ---------------------------------------- (23) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f5612_0_create_InvokeMethod(INTEGER, INTEGER, VARIABLE, INTEGER, VARIABLE, VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (24) Obligation: Rules: f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, i4897:0:0, i5071:0:0, i4894:0:0, i4895:0:0) -> f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, c, c1, i4894:0:0, i5139:0:0) :|: c1 = i495:0:0 - 1 && c = i4897:0:0 + 1 && (i4895:0:0 > 1 && i5071:0:0 < i495:0:0 && i4896:0:0 > 0 && i5071:0:0 > 0 && i495:0:0 > 1 && i4897:0:0 + 1 < i4896:0:0) f5612_0_create_InvokeMethod(x7:0, x8:0, x9:0, x10:0, x11:0, x12:0) -> f5612_0_create_InvokeMethod(x10:0, x13:0, c2, c3, x11:0, c4) :|: c4 = x12:0 + 1 && (c3 = x10:0 - 1 && c2 = 0) && (x9:0 < x8:0 && x7:0 > x10:0 && x8:0 > 0 && x7:0 > 1 && x12:0 < x11:0 && x11:0 > -1 && x12:0 > 1 && x10:0 > 1 && x13:0 > 0) ---------------------------------------- (25) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f5612_0_create_InvokeMethod(x, x1, x2, x3, x4, x5)] = x The following rules are decreasing: f5612_0_create_InvokeMethod(x7:0, x8:0, x9:0, x10:0, x11:0, x12:0) -> f5612_0_create_InvokeMethod(x10:0, x13:0, c2, c3, x11:0, c4) :|: c4 = x12:0 + 1 && (c3 = x10:0 - 1 && c2 = 0) && (x9:0 < x8:0 && x7:0 > x10:0 && x8:0 > 0 && x7:0 > 1 && x12:0 < x11:0 && x11:0 > -1 && x12:0 > 1 && x10:0 > 1 && x13:0 > 0) The following rules are bounded: f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, i4897:0:0, i5071:0:0, i4894:0:0, i4895:0:0) -> f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, c, c1, i4894:0:0, i5139:0:0) :|: c1 = i495:0:0 - 1 && c = i4897:0:0 + 1 && (i4895:0:0 > 1 && i5071:0:0 < i495:0:0 && i4896:0:0 > 0 && i5071:0:0 > 0 && i495:0:0 > 1 && i4897:0:0 + 1 < i4896:0:0) f5612_0_create_InvokeMethod(x7:0, x8:0, x9:0, x10:0, x11:0, x12:0) -> f5612_0_create_InvokeMethod(x10:0, x13:0, c2, c3, x11:0, c4) :|: c4 = x12:0 + 1 && (c3 = x10:0 - 1 && c2 = 0) && (x9:0 < x8:0 && x7:0 > x10:0 && x8:0 > 0 && x7:0 > 1 && x12:0 < x11:0 && x11:0 > -1 && x12:0 > 1 && x10:0 > 1 && x13:0 > 0) ---------------------------------------- (26) Obligation: Rules: f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, i4897:0:0, i5071:0:0, i4894:0:0, i4895:0:0) -> f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, c, c1, i4894:0:0, i5139:0:0) :|: c1 = i495:0:0 - 1 && c = i4897:0:0 + 1 && (i4895:0:0 > 1 && i5071:0:0 < i495:0:0 && i4896:0:0 > 0 && i5071:0:0 > 0 && i495:0:0 > 1 && i4897:0:0 + 1 < i4896:0:0) ---------------------------------------- (27) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f5612_0_create_InvokeMethod(x, x1, x2, x3, x4, x5)] = x1 - x2 The following rules are decreasing: f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, i4897:0:0, i5071:0:0, i4894:0:0, i4895:0:0) -> f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, c, c1, i4894:0:0, i5139:0:0) :|: c1 = i495:0:0 - 1 && c = i4897:0:0 + 1 && (i4895:0:0 > 1 && i5071:0:0 < i495:0:0 && i4896:0:0 > 0 && i5071:0:0 > 0 && i495:0:0 > 1 && i4897:0:0 + 1 < i4896:0:0) The following rules are bounded: f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, i4897:0:0, i5071:0:0, i4894:0:0, i4895:0:0) -> f5612_0_create_InvokeMethod(i495:0:0, i4896:0:0, c, c1, i4894:0:0, i5139:0:0) :|: c1 = i495:0:0 - 1 && c = i4897:0:0 + 1 && (i4895:0:0 > 1 && i5071:0:0 < i495:0:0 && i4896:0:0 > 0 && i5071:0:0 > 0 && i495:0:0 > 1 && i4897:0:0 + 1 < i4896:0:0) ---------------------------------------- (28) YES