(0) Obligation:

Clauses:

mul(X1, 0, Z) :- ','(!, eq(Z, 0)).
mul(X, Y, Z) :- ','(p(Y, P), ','(mul(X, P, V), add(X, V, Z))).
add(X, 0, Z) :- ','(!, eq(Z, X)).
add(X, Y, Z) :- ','(p(Y, V), ','(add(X, V, W), p(Z, W))).
p(0, 0).
p(s(X), X).
eq(X, X).

Query: mul(g,g,a)

(1) PrologToPiTRSViaGraphTransformerProof (SOUND transformation)

Transformed Prolog program to (Pi-)TRS.

(2) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

mulA_in_gga(T6, 0, 0) → mulA_out_gga(T6, 0, 0)
mulA_in_gga(T15, s(T21), T18) → U1_gga(T15, T21, T18, pB_in_ggaa(T15, T21, X16, T18))
pB_in_ggaa(T15, T21, T23, T18) → U5_ggaa(T15, T21, T23, T18, mulC_in_gga(T15, T21, T23))
mulC_in_gga(T27, 0, 0) → mulC_out_gga(T27, 0, 0)
mulC_in_gga(T33, s(T38), X59) → U2_gga(T33, T38, X59, pD_in_ggaa(T33, T38, X58, X59))
pD_in_ggaa(T33, T38, T40, X59) → U7_ggaa(T33, T38, T40, X59, mulC_in_gga(T33, T38, T40))
U7_ggaa(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → U8_ggaa(T33, T38, T40, X59, addE_in_gga(T33, T40, X59))
addE_in_gga(T48, 0, T48) → addE_out_gga(T48, 0, T48)
addE_in_gga(T54, s(T59), X108) → U3_gga(T54, T59, X108, pF_in_ggaa(T54, T59, X107, X108))
pF_in_ggaa(T54, T59, T61, X108) → U9_ggaa(T54, T59, T61, X108, addE_in_gga(T54, T59, T61))
U9_ggaa(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → U10_ggaa(T54, T59, T61, X108, pI_in_ag(X108, T61))
pI_in_ag(0, 0) → pI_out_ag(0, 0)
pI_in_ag(s(T65), T65) → pI_out_ag(s(T65), T65)
U10_ggaa(T54, T59, T61, X108, pI_out_ag(X108, T61)) → pF_out_ggaa(T54, T59, T61, X108)
U3_gga(T54, T59, X108, pF_out_ggaa(T54, T59, X107, X108)) → addE_out_gga(T54, s(T59), X108)
U8_ggaa(T33, T38, T40, X59, addE_out_gga(T33, T40, X59)) → pD_out_ggaa(T33, T38, T40, X59)
U2_gga(T33, T38, X59, pD_out_ggaa(T33, T38, X58, X59)) → mulC_out_gga(T33, s(T38), X59)
U5_ggaa(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → U6_ggaa(T15, T21, T23, T18, addG_in_gga(T15, T23, T18))
addG_in_gga(T77, 0, T77) → addG_out_gga(T77, 0, T77)
addG_in_gga(T86, s(T93), T89) → U4_gga(T86, T93, T89, pH_in_ggaa(T86, T93, X153, T89))
pH_in_ggaa(T86, T93, T95, T89) → U11_ggaa(T86, T93, T95, T89, addE_in_gga(T86, T93, T95))
U11_ggaa(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → U12_ggaa(T86, T93, T95, T89, pJ_in_ag(T89, T95))
pJ_in_ag(0, 0) → pJ_out_ag(0, 0)
pJ_in_ag(s(T99), T99) → pJ_out_ag(s(T99), T99)
U12_ggaa(T86, T93, T95, T89, pJ_out_ag(T89, T95)) → pH_out_ggaa(T86, T93, T95, T89)
U4_gga(T86, T93, T89, pH_out_ggaa(T86, T93, X153, T89)) → addG_out_gga(T86, s(T93), T89)
U6_ggaa(T15, T21, T23, T18, addG_out_gga(T15, T23, T18)) → pB_out_ggaa(T15, T21, T23, T18)
U1_gga(T15, T21, T18, pB_out_ggaa(T15, T21, X16, T18)) → mulA_out_gga(T15, s(T21), T18)

The argument filtering Pi contains the following mapping:
mulA_in_gga(x1, x2, x3)  =  mulA_in_gga(x1, x2)
0  =  0
mulA_out_gga(x1, x2, x3)  =  mulA_out_gga(x1, x2, x3)
s(x1)  =  s(x1)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x1, x2, x4)
pB_in_ggaa(x1, x2, x3, x4)  =  pB_in_ggaa(x1, x2)
U5_ggaa(x1, x2, x3, x4, x5)  =  U5_ggaa(x1, x2, x5)
mulC_in_gga(x1, x2, x3)  =  mulC_in_gga(x1, x2)
mulC_out_gga(x1, x2, x3)  =  mulC_out_gga(x1, x2, x3)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
pD_in_ggaa(x1, x2, x3, x4)  =  pD_in_ggaa(x1, x2)
U7_ggaa(x1, x2, x3, x4, x5)  =  U7_ggaa(x1, x2, x5)
U8_ggaa(x1, x2, x3, x4, x5)  =  U8_ggaa(x1, x2, x3, x5)
addE_in_gga(x1, x2, x3)  =  addE_in_gga(x1, x2)
addE_out_gga(x1, x2, x3)  =  addE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
pF_in_ggaa(x1, x2, x3, x4)  =  pF_in_ggaa(x1, x2)
U9_ggaa(x1, x2, x3, x4, x5)  =  U9_ggaa(x1, x2, x5)
U10_ggaa(x1, x2, x3, x4, x5)  =  U10_ggaa(x1, x2, x3, x5)
pI_in_ag(x1, x2)  =  pI_in_ag(x2)
pI_out_ag(x1, x2)  =  pI_out_ag(x1, x2)
pF_out_ggaa(x1, x2, x3, x4)  =  pF_out_ggaa(x1, x2, x3, x4)
pD_out_ggaa(x1, x2, x3, x4)  =  pD_out_ggaa(x1, x2, x3, x4)
U6_ggaa(x1, x2, x3, x4, x5)  =  U6_ggaa(x1, x2, x3, x5)
addG_in_gga(x1, x2, x3)  =  addG_in_gga(x1, x2)
addG_out_gga(x1, x2, x3)  =  addG_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
pH_in_ggaa(x1, x2, x3, x4)  =  pH_in_ggaa(x1, x2)
U11_ggaa(x1, x2, x3, x4, x5)  =  U11_ggaa(x1, x2, x5)
U12_ggaa(x1, x2, x3, x4, x5)  =  U12_ggaa(x1, x2, x3, x5)
pJ_in_ag(x1, x2)  =  pJ_in_ag(x2)
pJ_out_ag(x1, x2)  =  pJ_out_ag(x1, x2)
pH_out_ggaa(x1, x2, x3, x4)  =  pH_out_ggaa(x1, x2, x3, x4)
pB_out_ggaa(x1, x2, x3, x4)  =  pB_out_ggaa(x1, x2, x3, x4)

(3) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

MULA_IN_GGA(T15, s(T21), T18) → U1_GGA(T15, T21, T18, pB_in_ggaa(T15, T21, X16, T18))
MULA_IN_GGA(T15, s(T21), T18) → PB_IN_GGAA(T15, T21, X16, T18)
PB_IN_GGAA(T15, T21, T23, T18) → U5_GGAA(T15, T21, T23, T18, mulC_in_gga(T15, T21, T23))
PB_IN_GGAA(T15, T21, T23, T18) → MULC_IN_GGA(T15, T21, T23)
MULC_IN_GGA(T33, s(T38), X59) → U2_GGA(T33, T38, X59, pD_in_ggaa(T33, T38, X58, X59))
MULC_IN_GGA(T33, s(T38), X59) → PD_IN_GGAA(T33, T38, X58, X59)
PD_IN_GGAA(T33, T38, T40, X59) → U7_GGAA(T33, T38, T40, X59, mulC_in_gga(T33, T38, T40))
PD_IN_GGAA(T33, T38, T40, X59) → MULC_IN_GGA(T33, T38, T40)
U7_GGAA(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → U8_GGAA(T33, T38, T40, X59, addE_in_gga(T33, T40, X59))
U7_GGAA(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → ADDE_IN_GGA(T33, T40, X59)
ADDE_IN_GGA(T54, s(T59), X108) → U3_GGA(T54, T59, X108, pF_in_ggaa(T54, T59, X107, X108))
ADDE_IN_GGA(T54, s(T59), X108) → PF_IN_GGAA(T54, T59, X107, X108)
PF_IN_GGAA(T54, T59, T61, X108) → U9_GGAA(T54, T59, T61, X108, addE_in_gga(T54, T59, T61))
PF_IN_GGAA(T54, T59, T61, X108) → ADDE_IN_GGA(T54, T59, T61)
U9_GGAA(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → U10_GGAA(T54, T59, T61, X108, pI_in_ag(X108, T61))
U9_GGAA(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → PI_IN_AG(X108, T61)
U5_GGAA(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → U6_GGAA(T15, T21, T23, T18, addG_in_gga(T15, T23, T18))
U5_GGAA(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → ADDG_IN_GGA(T15, T23, T18)
ADDG_IN_GGA(T86, s(T93), T89) → U4_GGA(T86, T93, T89, pH_in_ggaa(T86, T93, X153, T89))
ADDG_IN_GGA(T86, s(T93), T89) → PH_IN_GGAA(T86, T93, X153, T89)
PH_IN_GGAA(T86, T93, T95, T89) → U11_GGAA(T86, T93, T95, T89, addE_in_gga(T86, T93, T95))
PH_IN_GGAA(T86, T93, T95, T89) → ADDE_IN_GGA(T86, T93, T95)
U11_GGAA(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → U12_GGAA(T86, T93, T95, T89, pJ_in_ag(T89, T95))
U11_GGAA(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → PJ_IN_AG(T89, T95)

The TRS R consists of the following rules:

mulA_in_gga(T6, 0, 0) → mulA_out_gga(T6, 0, 0)
mulA_in_gga(T15, s(T21), T18) → U1_gga(T15, T21, T18, pB_in_ggaa(T15, T21, X16, T18))
pB_in_ggaa(T15, T21, T23, T18) → U5_ggaa(T15, T21, T23, T18, mulC_in_gga(T15, T21, T23))
mulC_in_gga(T27, 0, 0) → mulC_out_gga(T27, 0, 0)
mulC_in_gga(T33, s(T38), X59) → U2_gga(T33, T38, X59, pD_in_ggaa(T33, T38, X58, X59))
pD_in_ggaa(T33, T38, T40, X59) → U7_ggaa(T33, T38, T40, X59, mulC_in_gga(T33, T38, T40))
U7_ggaa(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → U8_ggaa(T33, T38, T40, X59, addE_in_gga(T33, T40, X59))
addE_in_gga(T48, 0, T48) → addE_out_gga(T48, 0, T48)
addE_in_gga(T54, s(T59), X108) → U3_gga(T54, T59, X108, pF_in_ggaa(T54, T59, X107, X108))
pF_in_ggaa(T54, T59, T61, X108) → U9_ggaa(T54, T59, T61, X108, addE_in_gga(T54, T59, T61))
U9_ggaa(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → U10_ggaa(T54, T59, T61, X108, pI_in_ag(X108, T61))
pI_in_ag(0, 0) → pI_out_ag(0, 0)
pI_in_ag(s(T65), T65) → pI_out_ag(s(T65), T65)
U10_ggaa(T54, T59, T61, X108, pI_out_ag(X108, T61)) → pF_out_ggaa(T54, T59, T61, X108)
U3_gga(T54, T59, X108, pF_out_ggaa(T54, T59, X107, X108)) → addE_out_gga(T54, s(T59), X108)
U8_ggaa(T33, T38, T40, X59, addE_out_gga(T33, T40, X59)) → pD_out_ggaa(T33, T38, T40, X59)
U2_gga(T33, T38, X59, pD_out_ggaa(T33, T38, X58, X59)) → mulC_out_gga(T33, s(T38), X59)
U5_ggaa(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → U6_ggaa(T15, T21, T23, T18, addG_in_gga(T15, T23, T18))
addG_in_gga(T77, 0, T77) → addG_out_gga(T77, 0, T77)
addG_in_gga(T86, s(T93), T89) → U4_gga(T86, T93, T89, pH_in_ggaa(T86, T93, X153, T89))
pH_in_ggaa(T86, T93, T95, T89) → U11_ggaa(T86, T93, T95, T89, addE_in_gga(T86, T93, T95))
U11_ggaa(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → U12_ggaa(T86, T93, T95, T89, pJ_in_ag(T89, T95))
pJ_in_ag(0, 0) → pJ_out_ag(0, 0)
pJ_in_ag(s(T99), T99) → pJ_out_ag(s(T99), T99)
U12_ggaa(T86, T93, T95, T89, pJ_out_ag(T89, T95)) → pH_out_ggaa(T86, T93, T95, T89)
U4_gga(T86, T93, T89, pH_out_ggaa(T86, T93, X153, T89)) → addG_out_gga(T86, s(T93), T89)
U6_ggaa(T15, T21, T23, T18, addG_out_gga(T15, T23, T18)) → pB_out_ggaa(T15, T21, T23, T18)
U1_gga(T15, T21, T18, pB_out_ggaa(T15, T21, X16, T18)) → mulA_out_gga(T15, s(T21), T18)

The argument filtering Pi contains the following mapping:
mulA_in_gga(x1, x2, x3)  =  mulA_in_gga(x1, x2)
0  =  0
mulA_out_gga(x1, x2, x3)  =  mulA_out_gga(x1, x2, x3)
s(x1)  =  s(x1)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x1, x2, x4)
pB_in_ggaa(x1, x2, x3, x4)  =  pB_in_ggaa(x1, x2)
U5_ggaa(x1, x2, x3, x4, x5)  =  U5_ggaa(x1, x2, x5)
mulC_in_gga(x1, x2, x3)  =  mulC_in_gga(x1, x2)
mulC_out_gga(x1, x2, x3)  =  mulC_out_gga(x1, x2, x3)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
pD_in_ggaa(x1, x2, x3, x4)  =  pD_in_ggaa(x1, x2)
U7_ggaa(x1, x2, x3, x4, x5)  =  U7_ggaa(x1, x2, x5)
U8_ggaa(x1, x2, x3, x4, x5)  =  U8_ggaa(x1, x2, x3, x5)
addE_in_gga(x1, x2, x3)  =  addE_in_gga(x1, x2)
addE_out_gga(x1, x2, x3)  =  addE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
pF_in_ggaa(x1, x2, x3, x4)  =  pF_in_ggaa(x1, x2)
U9_ggaa(x1, x2, x3, x4, x5)  =  U9_ggaa(x1, x2, x5)
U10_ggaa(x1, x2, x3, x4, x5)  =  U10_ggaa(x1, x2, x3, x5)
pI_in_ag(x1, x2)  =  pI_in_ag(x2)
pI_out_ag(x1, x2)  =  pI_out_ag(x1, x2)
pF_out_ggaa(x1, x2, x3, x4)  =  pF_out_ggaa(x1, x2, x3, x4)
pD_out_ggaa(x1, x2, x3, x4)  =  pD_out_ggaa(x1, x2, x3, x4)
U6_ggaa(x1, x2, x3, x4, x5)  =  U6_ggaa(x1, x2, x3, x5)
addG_in_gga(x1, x2, x3)  =  addG_in_gga(x1, x2)
addG_out_gga(x1, x2, x3)  =  addG_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
pH_in_ggaa(x1, x2, x3, x4)  =  pH_in_ggaa(x1, x2)
U11_ggaa(x1, x2, x3, x4, x5)  =  U11_ggaa(x1, x2, x5)
U12_ggaa(x1, x2, x3, x4, x5)  =  U12_ggaa(x1, x2, x3, x5)
pJ_in_ag(x1, x2)  =  pJ_in_ag(x2)
pJ_out_ag(x1, x2)  =  pJ_out_ag(x1, x2)
pH_out_ggaa(x1, x2, x3, x4)  =  pH_out_ggaa(x1, x2, x3, x4)
pB_out_ggaa(x1, x2, x3, x4)  =  pB_out_ggaa(x1, x2, x3, x4)
MULA_IN_GGA(x1, x2, x3)  =  MULA_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x1, x2, x4)
PB_IN_GGAA(x1, x2, x3, x4)  =  PB_IN_GGAA(x1, x2)
U5_GGAA(x1, x2, x3, x4, x5)  =  U5_GGAA(x1, x2, x5)
MULC_IN_GGA(x1, x2, x3)  =  MULC_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4)  =  U2_GGA(x1, x2, x4)
PD_IN_GGAA(x1, x2, x3, x4)  =  PD_IN_GGAA(x1, x2)
U7_GGAA(x1, x2, x3, x4, x5)  =  U7_GGAA(x1, x2, x5)
U8_GGAA(x1, x2, x3, x4, x5)  =  U8_GGAA(x1, x2, x3, x5)
ADDE_IN_GGA(x1, x2, x3)  =  ADDE_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
PF_IN_GGAA(x1, x2, x3, x4)  =  PF_IN_GGAA(x1, x2)
U9_GGAA(x1, x2, x3, x4, x5)  =  U9_GGAA(x1, x2, x5)
U10_GGAA(x1, x2, x3, x4, x5)  =  U10_GGAA(x1, x2, x3, x5)
PI_IN_AG(x1, x2)  =  PI_IN_AG(x2)
U6_GGAA(x1, x2, x3, x4, x5)  =  U6_GGAA(x1, x2, x3, x5)
ADDG_IN_GGA(x1, x2, x3)  =  ADDG_IN_GGA(x1, x2)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x1, x2, x4)
PH_IN_GGAA(x1, x2, x3, x4)  =  PH_IN_GGAA(x1, x2)
U11_GGAA(x1, x2, x3, x4, x5)  =  U11_GGAA(x1, x2, x5)
U12_GGAA(x1, x2, x3, x4, x5)  =  U12_GGAA(x1, x2, x3, x5)
PJ_IN_AG(x1, x2)  =  PJ_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(4) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MULA_IN_GGA(T15, s(T21), T18) → U1_GGA(T15, T21, T18, pB_in_ggaa(T15, T21, X16, T18))
MULA_IN_GGA(T15, s(T21), T18) → PB_IN_GGAA(T15, T21, X16, T18)
PB_IN_GGAA(T15, T21, T23, T18) → U5_GGAA(T15, T21, T23, T18, mulC_in_gga(T15, T21, T23))
PB_IN_GGAA(T15, T21, T23, T18) → MULC_IN_GGA(T15, T21, T23)
MULC_IN_GGA(T33, s(T38), X59) → U2_GGA(T33, T38, X59, pD_in_ggaa(T33, T38, X58, X59))
MULC_IN_GGA(T33, s(T38), X59) → PD_IN_GGAA(T33, T38, X58, X59)
PD_IN_GGAA(T33, T38, T40, X59) → U7_GGAA(T33, T38, T40, X59, mulC_in_gga(T33, T38, T40))
PD_IN_GGAA(T33, T38, T40, X59) → MULC_IN_GGA(T33, T38, T40)
U7_GGAA(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → U8_GGAA(T33, T38, T40, X59, addE_in_gga(T33, T40, X59))
U7_GGAA(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → ADDE_IN_GGA(T33, T40, X59)
ADDE_IN_GGA(T54, s(T59), X108) → U3_GGA(T54, T59, X108, pF_in_ggaa(T54, T59, X107, X108))
ADDE_IN_GGA(T54, s(T59), X108) → PF_IN_GGAA(T54, T59, X107, X108)
PF_IN_GGAA(T54, T59, T61, X108) → U9_GGAA(T54, T59, T61, X108, addE_in_gga(T54, T59, T61))
PF_IN_GGAA(T54, T59, T61, X108) → ADDE_IN_GGA(T54, T59, T61)
U9_GGAA(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → U10_GGAA(T54, T59, T61, X108, pI_in_ag(X108, T61))
U9_GGAA(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → PI_IN_AG(X108, T61)
U5_GGAA(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → U6_GGAA(T15, T21, T23, T18, addG_in_gga(T15, T23, T18))
U5_GGAA(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → ADDG_IN_GGA(T15, T23, T18)
ADDG_IN_GGA(T86, s(T93), T89) → U4_GGA(T86, T93, T89, pH_in_ggaa(T86, T93, X153, T89))
ADDG_IN_GGA(T86, s(T93), T89) → PH_IN_GGAA(T86, T93, X153, T89)
PH_IN_GGAA(T86, T93, T95, T89) → U11_GGAA(T86, T93, T95, T89, addE_in_gga(T86, T93, T95))
PH_IN_GGAA(T86, T93, T95, T89) → ADDE_IN_GGA(T86, T93, T95)
U11_GGAA(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → U12_GGAA(T86, T93, T95, T89, pJ_in_ag(T89, T95))
U11_GGAA(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → PJ_IN_AG(T89, T95)

The TRS R consists of the following rules:

mulA_in_gga(T6, 0, 0) → mulA_out_gga(T6, 0, 0)
mulA_in_gga(T15, s(T21), T18) → U1_gga(T15, T21, T18, pB_in_ggaa(T15, T21, X16, T18))
pB_in_ggaa(T15, T21, T23, T18) → U5_ggaa(T15, T21, T23, T18, mulC_in_gga(T15, T21, T23))
mulC_in_gga(T27, 0, 0) → mulC_out_gga(T27, 0, 0)
mulC_in_gga(T33, s(T38), X59) → U2_gga(T33, T38, X59, pD_in_ggaa(T33, T38, X58, X59))
pD_in_ggaa(T33, T38, T40, X59) → U7_ggaa(T33, T38, T40, X59, mulC_in_gga(T33, T38, T40))
U7_ggaa(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → U8_ggaa(T33, T38, T40, X59, addE_in_gga(T33, T40, X59))
addE_in_gga(T48, 0, T48) → addE_out_gga(T48, 0, T48)
addE_in_gga(T54, s(T59), X108) → U3_gga(T54, T59, X108, pF_in_ggaa(T54, T59, X107, X108))
pF_in_ggaa(T54, T59, T61, X108) → U9_ggaa(T54, T59, T61, X108, addE_in_gga(T54, T59, T61))
U9_ggaa(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → U10_ggaa(T54, T59, T61, X108, pI_in_ag(X108, T61))
pI_in_ag(0, 0) → pI_out_ag(0, 0)
pI_in_ag(s(T65), T65) → pI_out_ag(s(T65), T65)
U10_ggaa(T54, T59, T61, X108, pI_out_ag(X108, T61)) → pF_out_ggaa(T54, T59, T61, X108)
U3_gga(T54, T59, X108, pF_out_ggaa(T54, T59, X107, X108)) → addE_out_gga(T54, s(T59), X108)
U8_ggaa(T33, T38, T40, X59, addE_out_gga(T33, T40, X59)) → pD_out_ggaa(T33, T38, T40, X59)
U2_gga(T33, T38, X59, pD_out_ggaa(T33, T38, X58, X59)) → mulC_out_gga(T33, s(T38), X59)
U5_ggaa(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → U6_ggaa(T15, T21, T23, T18, addG_in_gga(T15, T23, T18))
addG_in_gga(T77, 0, T77) → addG_out_gga(T77, 0, T77)
addG_in_gga(T86, s(T93), T89) → U4_gga(T86, T93, T89, pH_in_ggaa(T86, T93, X153, T89))
pH_in_ggaa(T86, T93, T95, T89) → U11_ggaa(T86, T93, T95, T89, addE_in_gga(T86, T93, T95))
U11_ggaa(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → U12_ggaa(T86, T93, T95, T89, pJ_in_ag(T89, T95))
pJ_in_ag(0, 0) → pJ_out_ag(0, 0)
pJ_in_ag(s(T99), T99) → pJ_out_ag(s(T99), T99)
U12_ggaa(T86, T93, T95, T89, pJ_out_ag(T89, T95)) → pH_out_ggaa(T86, T93, T95, T89)
U4_gga(T86, T93, T89, pH_out_ggaa(T86, T93, X153, T89)) → addG_out_gga(T86, s(T93), T89)
U6_ggaa(T15, T21, T23, T18, addG_out_gga(T15, T23, T18)) → pB_out_ggaa(T15, T21, T23, T18)
U1_gga(T15, T21, T18, pB_out_ggaa(T15, T21, X16, T18)) → mulA_out_gga(T15, s(T21), T18)

The argument filtering Pi contains the following mapping:
mulA_in_gga(x1, x2, x3)  =  mulA_in_gga(x1, x2)
0  =  0
mulA_out_gga(x1, x2, x3)  =  mulA_out_gga(x1, x2, x3)
s(x1)  =  s(x1)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x1, x2, x4)
pB_in_ggaa(x1, x2, x3, x4)  =  pB_in_ggaa(x1, x2)
U5_ggaa(x1, x2, x3, x4, x5)  =  U5_ggaa(x1, x2, x5)
mulC_in_gga(x1, x2, x3)  =  mulC_in_gga(x1, x2)
mulC_out_gga(x1, x2, x3)  =  mulC_out_gga(x1, x2, x3)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
pD_in_ggaa(x1, x2, x3, x4)  =  pD_in_ggaa(x1, x2)
U7_ggaa(x1, x2, x3, x4, x5)  =  U7_ggaa(x1, x2, x5)
U8_ggaa(x1, x2, x3, x4, x5)  =  U8_ggaa(x1, x2, x3, x5)
addE_in_gga(x1, x2, x3)  =  addE_in_gga(x1, x2)
addE_out_gga(x1, x2, x3)  =  addE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
pF_in_ggaa(x1, x2, x3, x4)  =  pF_in_ggaa(x1, x2)
U9_ggaa(x1, x2, x3, x4, x5)  =  U9_ggaa(x1, x2, x5)
U10_ggaa(x1, x2, x3, x4, x5)  =  U10_ggaa(x1, x2, x3, x5)
pI_in_ag(x1, x2)  =  pI_in_ag(x2)
pI_out_ag(x1, x2)  =  pI_out_ag(x1, x2)
pF_out_ggaa(x1, x2, x3, x4)  =  pF_out_ggaa(x1, x2, x3, x4)
pD_out_ggaa(x1, x2, x3, x4)  =  pD_out_ggaa(x1, x2, x3, x4)
U6_ggaa(x1, x2, x3, x4, x5)  =  U6_ggaa(x1, x2, x3, x5)
addG_in_gga(x1, x2, x3)  =  addG_in_gga(x1, x2)
addG_out_gga(x1, x2, x3)  =  addG_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
pH_in_ggaa(x1, x2, x3, x4)  =  pH_in_ggaa(x1, x2)
U11_ggaa(x1, x2, x3, x4, x5)  =  U11_ggaa(x1, x2, x5)
U12_ggaa(x1, x2, x3, x4, x5)  =  U12_ggaa(x1, x2, x3, x5)
pJ_in_ag(x1, x2)  =  pJ_in_ag(x2)
pJ_out_ag(x1, x2)  =  pJ_out_ag(x1, x2)
pH_out_ggaa(x1, x2, x3, x4)  =  pH_out_ggaa(x1, x2, x3, x4)
pB_out_ggaa(x1, x2, x3, x4)  =  pB_out_ggaa(x1, x2, x3, x4)
MULA_IN_GGA(x1, x2, x3)  =  MULA_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4)  =  U1_GGA(x1, x2, x4)
PB_IN_GGAA(x1, x2, x3, x4)  =  PB_IN_GGAA(x1, x2)
U5_GGAA(x1, x2, x3, x4, x5)  =  U5_GGAA(x1, x2, x5)
MULC_IN_GGA(x1, x2, x3)  =  MULC_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4)  =  U2_GGA(x1, x2, x4)
PD_IN_GGAA(x1, x2, x3, x4)  =  PD_IN_GGAA(x1, x2)
U7_GGAA(x1, x2, x3, x4, x5)  =  U7_GGAA(x1, x2, x5)
U8_GGAA(x1, x2, x3, x4, x5)  =  U8_GGAA(x1, x2, x3, x5)
ADDE_IN_GGA(x1, x2, x3)  =  ADDE_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4)  =  U3_GGA(x1, x2, x4)
PF_IN_GGAA(x1, x2, x3, x4)  =  PF_IN_GGAA(x1, x2)
U9_GGAA(x1, x2, x3, x4, x5)  =  U9_GGAA(x1, x2, x5)
U10_GGAA(x1, x2, x3, x4, x5)  =  U10_GGAA(x1, x2, x3, x5)
PI_IN_AG(x1, x2)  =  PI_IN_AG(x2)
U6_GGAA(x1, x2, x3, x4, x5)  =  U6_GGAA(x1, x2, x3, x5)
ADDG_IN_GGA(x1, x2, x3)  =  ADDG_IN_GGA(x1, x2)
U4_GGA(x1, x2, x3, x4)  =  U4_GGA(x1, x2, x4)
PH_IN_GGAA(x1, x2, x3, x4)  =  PH_IN_GGAA(x1, x2)
U11_GGAA(x1, x2, x3, x4, x5)  =  U11_GGAA(x1, x2, x5)
U12_GGAA(x1, x2, x3, x4, x5)  =  U12_GGAA(x1, x2, x3, x5)
PJ_IN_AG(x1, x2)  =  PJ_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 2 SCCs with 20 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDE_IN_GGA(T54, s(T59), X108) → PF_IN_GGAA(T54, T59, X107, X108)
PF_IN_GGAA(T54, T59, T61, X108) → ADDE_IN_GGA(T54, T59, T61)

The TRS R consists of the following rules:

mulA_in_gga(T6, 0, 0) → mulA_out_gga(T6, 0, 0)
mulA_in_gga(T15, s(T21), T18) → U1_gga(T15, T21, T18, pB_in_ggaa(T15, T21, X16, T18))
pB_in_ggaa(T15, T21, T23, T18) → U5_ggaa(T15, T21, T23, T18, mulC_in_gga(T15, T21, T23))
mulC_in_gga(T27, 0, 0) → mulC_out_gga(T27, 0, 0)
mulC_in_gga(T33, s(T38), X59) → U2_gga(T33, T38, X59, pD_in_ggaa(T33, T38, X58, X59))
pD_in_ggaa(T33, T38, T40, X59) → U7_ggaa(T33, T38, T40, X59, mulC_in_gga(T33, T38, T40))
U7_ggaa(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → U8_ggaa(T33, T38, T40, X59, addE_in_gga(T33, T40, X59))
addE_in_gga(T48, 0, T48) → addE_out_gga(T48, 0, T48)
addE_in_gga(T54, s(T59), X108) → U3_gga(T54, T59, X108, pF_in_ggaa(T54, T59, X107, X108))
pF_in_ggaa(T54, T59, T61, X108) → U9_ggaa(T54, T59, T61, X108, addE_in_gga(T54, T59, T61))
U9_ggaa(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → U10_ggaa(T54, T59, T61, X108, pI_in_ag(X108, T61))
pI_in_ag(0, 0) → pI_out_ag(0, 0)
pI_in_ag(s(T65), T65) → pI_out_ag(s(T65), T65)
U10_ggaa(T54, T59, T61, X108, pI_out_ag(X108, T61)) → pF_out_ggaa(T54, T59, T61, X108)
U3_gga(T54, T59, X108, pF_out_ggaa(T54, T59, X107, X108)) → addE_out_gga(T54, s(T59), X108)
U8_ggaa(T33, T38, T40, X59, addE_out_gga(T33, T40, X59)) → pD_out_ggaa(T33, T38, T40, X59)
U2_gga(T33, T38, X59, pD_out_ggaa(T33, T38, X58, X59)) → mulC_out_gga(T33, s(T38), X59)
U5_ggaa(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → U6_ggaa(T15, T21, T23, T18, addG_in_gga(T15, T23, T18))
addG_in_gga(T77, 0, T77) → addG_out_gga(T77, 0, T77)
addG_in_gga(T86, s(T93), T89) → U4_gga(T86, T93, T89, pH_in_ggaa(T86, T93, X153, T89))
pH_in_ggaa(T86, T93, T95, T89) → U11_ggaa(T86, T93, T95, T89, addE_in_gga(T86, T93, T95))
U11_ggaa(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → U12_ggaa(T86, T93, T95, T89, pJ_in_ag(T89, T95))
pJ_in_ag(0, 0) → pJ_out_ag(0, 0)
pJ_in_ag(s(T99), T99) → pJ_out_ag(s(T99), T99)
U12_ggaa(T86, T93, T95, T89, pJ_out_ag(T89, T95)) → pH_out_ggaa(T86, T93, T95, T89)
U4_gga(T86, T93, T89, pH_out_ggaa(T86, T93, X153, T89)) → addG_out_gga(T86, s(T93), T89)
U6_ggaa(T15, T21, T23, T18, addG_out_gga(T15, T23, T18)) → pB_out_ggaa(T15, T21, T23, T18)
U1_gga(T15, T21, T18, pB_out_ggaa(T15, T21, X16, T18)) → mulA_out_gga(T15, s(T21), T18)

The argument filtering Pi contains the following mapping:
mulA_in_gga(x1, x2, x3)  =  mulA_in_gga(x1, x2)
0  =  0
mulA_out_gga(x1, x2, x3)  =  mulA_out_gga(x1, x2, x3)
s(x1)  =  s(x1)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x1, x2, x4)
pB_in_ggaa(x1, x2, x3, x4)  =  pB_in_ggaa(x1, x2)
U5_ggaa(x1, x2, x3, x4, x5)  =  U5_ggaa(x1, x2, x5)
mulC_in_gga(x1, x2, x3)  =  mulC_in_gga(x1, x2)
mulC_out_gga(x1, x2, x3)  =  mulC_out_gga(x1, x2, x3)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
pD_in_ggaa(x1, x2, x3, x4)  =  pD_in_ggaa(x1, x2)
U7_ggaa(x1, x2, x3, x4, x5)  =  U7_ggaa(x1, x2, x5)
U8_ggaa(x1, x2, x3, x4, x5)  =  U8_ggaa(x1, x2, x3, x5)
addE_in_gga(x1, x2, x3)  =  addE_in_gga(x1, x2)
addE_out_gga(x1, x2, x3)  =  addE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
pF_in_ggaa(x1, x2, x3, x4)  =  pF_in_ggaa(x1, x2)
U9_ggaa(x1, x2, x3, x4, x5)  =  U9_ggaa(x1, x2, x5)
U10_ggaa(x1, x2, x3, x4, x5)  =  U10_ggaa(x1, x2, x3, x5)
pI_in_ag(x1, x2)  =  pI_in_ag(x2)
pI_out_ag(x1, x2)  =  pI_out_ag(x1, x2)
pF_out_ggaa(x1, x2, x3, x4)  =  pF_out_ggaa(x1, x2, x3, x4)
pD_out_ggaa(x1, x2, x3, x4)  =  pD_out_ggaa(x1, x2, x3, x4)
U6_ggaa(x1, x2, x3, x4, x5)  =  U6_ggaa(x1, x2, x3, x5)
addG_in_gga(x1, x2, x3)  =  addG_in_gga(x1, x2)
addG_out_gga(x1, x2, x3)  =  addG_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
pH_in_ggaa(x1, x2, x3, x4)  =  pH_in_ggaa(x1, x2)
U11_ggaa(x1, x2, x3, x4, x5)  =  U11_ggaa(x1, x2, x5)
U12_ggaa(x1, x2, x3, x4, x5)  =  U12_ggaa(x1, x2, x3, x5)
pJ_in_ag(x1, x2)  =  pJ_in_ag(x2)
pJ_out_ag(x1, x2)  =  pJ_out_ag(x1, x2)
pH_out_ggaa(x1, x2, x3, x4)  =  pH_out_ggaa(x1, x2, x3, x4)
pB_out_ggaa(x1, x2, x3, x4)  =  pB_out_ggaa(x1, x2, x3, x4)
ADDE_IN_GGA(x1, x2, x3)  =  ADDE_IN_GGA(x1, x2)
PF_IN_GGAA(x1, x2, x3, x4)  =  PF_IN_GGAA(x1, x2)

We have to consider all (P,R,Pi)-chains

(8) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDE_IN_GGA(T54, s(T59), X108) → PF_IN_GGAA(T54, T59, X107, X108)
PF_IN_GGAA(T54, T59, T61, X108) → ADDE_IN_GGA(T54, T59, T61)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
ADDE_IN_GGA(x1, x2, x3)  =  ADDE_IN_GGA(x1, x2)
PF_IN_GGAA(x1, x2, x3, x4)  =  PF_IN_GGAA(x1, x2)

We have to consider all (P,R,Pi)-chains

(10) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ADDE_IN_GGA(T54, s(T59)) → PF_IN_GGAA(T54, T59)
PF_IN_GGAA(T54, T59) → ADDE_IN_GGA(T54, T59)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(12) QDPSizeChangeProof (EQUIVALENT transformation)

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:

  • PF_IN_GGAA(T54, T59) → ADDE_IN_GGA(T54, T59)
    The graph contains the following edges 1 >= 1, 2 >= 2

  • ADDE_IN_GGA(T54, s(T59)) → PF_IN_GGAA(T54, T59)
    The graph contains the following edges 1 >= 1, 2 > 2

(13) YES

(14) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MULC_IN_GGA(T33, s(T38), X59) → PD_IN_GGAA(T33, T38, X58, X59)
PD_IN_GGAA(T33, T38, T40, X59) → MULC_IN_GGA(T33, T38, T40)

The TRS R consists of the following rules:

mulA_in_gga(T6, 0, 0) → mulA_out_gga(T6, 0, 0)
mulA_in_gga(T15, s(T21), T18) → U1_gga(T15, T21, T18, pB_in_ggaa(T15, T21, X16, T18))
pB_in_ggaa(T15, T21, T23, T18) → U5_ggaa(T15, T21, T23, T18, mulC_in_gga(T15, T21, T23))
mulC_in_gga(T27, 0, 0) → mulC_out_gga(T27, 0, 0)
mulC_in_gga(T33, s(T38), X59) → U2_gga(T33, T38, X59, pD_in_ggaa(T33, T38, X58, X59))
pD_in_ggaa(T33, T38, T40, X59) → U7_ggaa(T33, T38, T40, X59, mulC_in_gga(T33, T38, T40))
U7_ggaa(T33, T38, T40, X59, mulC_out_gga(T33, T38, T40)) → U8_ggaa(T33, T38, T40, X59, addE_in_gga(T33, T40, X59))
addE_in_gga(T48, 0, T48) → addE_out_gga(T48, 0, T48)
addE_in_gga(T54, s(T59), X108) → U3_gga(T54, T59, X108, pF_in_ggaa(T54, T59, X107, X108))
pF_in_ggaa(T54, T59, T61, X108) → U9_ggaa(T54, T59, T61, X108, addE_in_gga(T54, T59, T61))
U9_ggaa(T54, T59, T61, X108, addE_out_gga(T54, T59, T61)) → U10_ggaa(T54, T59, T61, X108, pI_in_ag(X108, T61))
pI_in_ag(0, 0) → pI_out_ag(0, 0)
pI_in_ag(s(T65), T65) → pI_out_ag(s(T65), T65)
U10_ggaa(T54, T59, T61, X108, pI_out_ag(X108, T61)) → pF_out_ggaa(T54, T59, T61, X108)
U3_gga(T54, T59, X108, pF_out_ggaa(T54, T59, X107, X108)) → addE_out_gga(T54, s(T59), X108)
U8_ggaa(T33, T38, T40, X59, addE_out_gga(T33, T40, X59)) → pD_out_ggaa(T33, T38, T40, X59)
U2_gga(T33, T38, X59, pD_out_ggaa(T33, T38, X58, X59)) → mulC_out_gga(T33, s(T38), X59)
U5_ggaa(T15, T21, T23, T18, mulC_out_gga(T15, T21, T23)) → U6_ggaa(T15, T21, T23, T18, addG_in_gga(T15, T23, T18))
addG_in_gga(T77, 0, T77) → addG_out_gga(T77, 0, T77)
addG_in_gga(T86, s(T93), T89) → U4_gga(T86, T93, T89, pH_in_ggaa(T86, T93, X153, T89))
pH_in_ggaa(T86, T93, T95, T89) → U11_ggaa(T86, T93, T95, T89, addE_in_gga(T86, T93, T95))
U11_ggaa(T86, T93, T95, T89, addE_out_gga(T86, T93, T95)) → U12_ggaa(T86, T93, T95, T89, pJ_in_ag(T89, T95))
pJ_in_ag(0, 0) → pJ_out_ag(0, 0)
pJ_in_ag(s(T99), T99) → pJ_out_ag(s(T99), T99)
U12_ggaa(T86, T93, T95, T89, pJ_out_ag(T89, T95)) → pH_out_ggaa(T86, T93, T95, T89)
U4_gga(T86, T93, T89, pH_out_ggaa(T86, T93, X153, T89)) → addG_out_gga(T86, s(T93), T89)
U6_ggaa(T15, T21, T23, T18, addG_out_gga(T15, T23, T18)) → pB_out_ggaa(T15, T21, T23, T18)
U1_gga(T15, T21, T18, pB_out_ggaa(T15, T21, X16, T18)) → mulA_out_gga(T15, s(T21), T18)

The argument filtering Pi contains the following mapping:
mulA_in_gga(x1, x2, x3)  =  mulA_in_gga(x1, x2)
0  =  0
mulA_out_gga(x1, x2, x3)  =  mulA_out_gga(x1, x2, x3)
s(x1)  =  s(x1)
U1_gga(x1, x2, x3, x4)  =  U1_gga(x1, x2, x4)
pB_in_ggaa(x1, x2, x3, x4)  =  pB_in_ggaa(x1, x2)
U5_ggaa(x1, x2, x3, x4, x5)  =  U5_ggaa(x1, x2, x5)
mulC_in_gga(x1, x2, x3)  =  mulC_in_gga(x1, x2)
mulC_out_gga(x1, x2, x3)  =  mulC_out_gga(x1, x2, x3)
U2_gga(x1, x2, x3, x4)  =  U2_gga(x1, x2, x4)
pD_in_ggaa(x1, x2, x3, x4)  =  pD_in_ggaa(x1, x2)
U7_ggaa(x1, x2, x3, x4, x5)  =  U7_ggaa(x1, x2, x5)
U8_ggaa(x1, x2, x3, x4, x5)  =  U8_ggaa(x1, x2, x3, x5)
addE_in_gga(x1, x2, x3)  =  addE_in_gga(x1, x2)
addE_out_gga(x1, x2, x3)  =  addE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4)  =  U3_gga(x1, x2, x4)
pF_in_ggaa(x1, x2, x3, x4)  =  pF_in_ggaa(x1, x2)
U9_ggaa(x1, x2, x3, x4, x5)  =  U9_ggaa(x1, x2, x5)
U10_ggaa(x1, x2, x3, x4, x5)  =  U10_ggaa(x1, x2, x3, x5)
pI_in_ag(x1, x2)  =  pI_in_ag(x2)
pI_out_ag(x1, x2)  =  pI_out_ag(x1, x2)
pF_out_ggaa(x1, x2, x3, x4)  =  pF_out_ggaa(x1, x2, x3, x4)
pD_out_ggaa(x1, x2, x3, x4)  =  pD_out_ggaa(x1, x2, x3, x4)
U6_ggaa(x1, x2, x3, x4, x5)  =  U6_ggaa(x1, x2, x3, x5)
addG_in_gga(x1, x2, x3)  =  addG_in_gga(x1, x2)
addG_out_gga(x1, x2, x3)  =  addG_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4)  =  U4_gga(x1, x2, x4)
pH_in_ggaa(x1, x2, x3, x4)  =  pH_in_ggaa(x1, x2)
U11_ggaa(x1, x2, x3, x4, x5)  =  U11_ggaa(x1, x2, x5)
U12_ggaa(x1, x2, x3, x4, x5)  =  U12_ggaa(x1, x2, x3, x5)
pJ_in_ag(x1, x2)  =  pJ_in_ag(x2)
pJ_out_ag(x1, x2)  =  pJ_out_ag(x1, x2)
pH_out_ggaa(x1, x2, x3, x4)  =  pH_out_ggaa(x1, x2, x3, x4)
pB_out_ggaa(x1, x2, x3, x4)  =  pB_out_ggaa(x1, x2, x3, x4)
MULC_IN_GGA(x1, x2, x3)  =  MULC_IN_GGA(x1, x2)
PD_IN_GGAA(x1, x2, x3, x4)  =  PD_IN_GGAA(x1, x2)

We have to consider all (P,R,Pi)-chains

(15) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

MULC_IN_GGA(T33, s(T38), X59) → PD_IN_GGAA(T33, T38, X58, X59)
PD_IN_GGAA(T33, T38, T40, X59) → MULC_IN_GGA(T33, T38, T40)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULC_IN_GGA(x1, x2, x3)  =  MULC_IN_GGA(x1, x2)
PD_IN_GGAA(x1, x2, x3, x4)  =  PD_IN_GGAA(x1, x2)

We have to consider all (P,R,Pi)-chains

(17) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(18) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MULC_IN_GGA(T33, s(T38)) → PD_IN_GGAA(T33, T38)
PD_IN_GGAA(T33, T38) → MULC_IN_GGA(T33, T38)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(19) QDPSizeChangeProof (EQUIVALENT transformation)

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:

  • PD_IN_GGAA(T33, T38) → MULC_IN_GGA(T33, T38)
    The graph contains the following edges 1 >= 1, 2 >= 2

  • MULC_IN_GGA(T33, s(T38)) → PD_IN_GGAA(T33, T38)
    The graph contains the following edges 1 >= 1, 2 > 2

(20) YES