8.22/3.98 MAYBE 8.22/3.99 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 8.22/3.99 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 8.22/3.99 8.22/3.99 8.22/3.99 Left Termination of the query pattern 8.22/3.99 8.22/3.99 balance(a,g) 8.22/3.99 8.22/3.99 w.r.t. the given Prolog program could not be shown: 8.22/3.99 8.22/3.99 (0) Prolog 8.22/3.99 (1) PrologToPiTRSProof [SOUND, 0 ms] 8.22/3.99 (2) PiTRS 8.22/3.99 (3) DependencyPairsProof [EQUIVALENT, 8 ms] 8.22/3.99 (4) PiDP 8.22/3.99 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 8.22/3.99 (6) PiDP 8.22/3.99 (7) UsableRulesProof [EQUIVALENT, 0 ms] 8.22/3.99 (8) PiDP 8.22/3.99 (9) PiDPToQDPProof [SOUND, 17 ms] 8.22/3.99 (10) QDP 8.22/3.99 (11) PrologToPiTRSProof [SOUND, 0 ms] 8.22/3.99 (12) PiTRS 8.22/3.99 (13) DependencyPairsProof [EQUIVALENT, 2 ms] 8.22/3.99 (14) PiDP 8.22/3.99 (15) DependencyGraphProof [EQUIVALENT, 0 ms] 8.22/3.99 (16) PiDP 8.22/3.99 (17) UsableRulesProof [EQUIVALENT, 0 ms] 8.22/3.99 (18) PiDP 8.22/3.99 (19) PiDPToQDPProof [SOUND, 0 ms] 8.22/3.99 (20) QDP 8.22/3.99 (21) PrologToDTProblemTransformerProof [SOUND, 133 ms] 8.22/3.99 (22) TRIPLES 8.22/3.99 (23) TriplesToPiDPProof [SOUND, 22 ms] 8.22/3.99 (24) PiDP 8.22/3.99 (25) DependencyGraphProof [EQUIVALENT, 0 ms] 8.22/3.99 (26) AND 8.22/3.99 (27) PiDP 8.22/3.99 (28) UsableRulesProof [EQUIVALENT, 0 ms] 8.22/3.99 (29) PiDP 8.22/3.99 (30) PiDPToQDPProof [SOUND, 0 ms] 8.22/3.99 (31) QDP 8.22/3.99 (32) PiDP 8.22/3.99 (33) UsableRulesProof [EQUIVALENT, 0 ms] 8.22/3.99 (34) PiDP 8.22/3.99 (35) PrologToTRSTransformerProof [SOUND, 98 ms] 8.22/3.99 (36) QTRS 8.22/3.99 (37) QTRSRRRProof [EQUIVALENT, 326 ms] 8.22/3.99 (38) QTRS 8.22/3.99 (39) QTRSRRRProof [EQUIVALENT, 0 ms] 8.22/3.99 (40) QTRS 8.22/3.99 (41) PrologToIRSwTTransformerProof [SOUND, 95 ms] 8.22/3.99 (42) AND 8.22/3.99 (43) IRSwT 8.22/3.99 (44) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 8.22/3.99 (45) IRSwT 8.22/3.99 (46) IntTRSCompressionProof [EQUIVALENT, 18 ms] 8.22/3.99 (47) IRSwT 8.22/3.99 (48) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 8.22/3.99 (49) IRSwT 8.22/3.99 (50) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 8.22/3.99 (51) IRSwT 8.22/3.99 (52) FilterProof [EQUIVALENT, 0 ms] 8.22/3.99 (53) IntTRS 8.22/3.99 (54) IntTRSPeriodicNontermProof [COMPLETE, 5 ms] 8.22/3.99 (55) NO 8.22/3.99 (56) IRSwT 8.22/3.99 (57) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 8.22/3.99 (58) TRUE 8.22/3.99 8.22/3.99 8.22/3.99 ---------------------------------------- 8.22/3.99 8.22/3.99 (0) 8.22/3.99 Obligation: 8.22/3.99 Clauses: 8.22/3.99 8.22/3.99 balance(T, TB) :- balance(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, [])). 8.22/3.99 balance(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)). 8.22/3.99 balance(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) :- ','(balance(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)), balance(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))). 8.22/3.99 8.22/3.99 8.22/3.99 Query: balance(a,g) 8.22/3.99 ---------------------------------------- 8.22/3.99 8.22/3.99 (1) PrologToPiTRSProof (SOUND) 8.22/3.99 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 8.22/3.99 8.22/3.99 balance_in_2: (f,b) 8.22/3.99 8.22/3.99 balance_in_5: (f,f,f,f,f) 8.22/3.99 8.22/3.99 Transforming Prolog into the following Term Rewriting System: 8.22/3.99 8.22/3.99 Pi-finite rewrite system: 8.22/3.99 The TRS R consists of the following rules: 8.22/3.99 8.22/3.99 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/3.99 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/3.99 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/3.99 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/3.99 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.22/3.99 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.22/3.99 8.22/3.99 The argument filtering Pi contains the following mapping: 8.22/3.99 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.22/3.99 8.22/3.99 U1_ag(x1, x2, x3) = U1_ag(x3) 8.22/3.99 8.22/3.99 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.22/3.99 8.22/3.99 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.22/3.99 8.22/3.99 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.22/3.99 8.22/3.99 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.22/3.99 8.22/3.99 balance_out_ag(x1, x2) = balance_out_ag 8.22/3.99 8.22/3.99 8.22/3.99 8.22/3.99 8.22/3.99 8.22/3.99 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 8.22/3.99 8.22/3.99 8.22/3.99 8.22/3.99 ---------------------------------------- 8.22/3.99 8.22/3.99 (2) 8.22/3.99 Obligation: 8.22/3.99 Pi-finite rewrite system: 8.22/3.99 The TRS R consists of the following rules: 8.22/3.99 8.22/3.99 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/3.99 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/3.99 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/3.99 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/3.99 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.22/3.99 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.22/3.99 8.22/3.99 The argument filtering Pi contains the following mapping: 8.22/3.99 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.22/3.99 8.22/3.99 U1_ag(x1, x2, x3) = U1_ag(x3) 8.22/3.99 8.22/3.99 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.22/3.99 8.22/3.99 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.22/3.99 8.22/3.99 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.22/3.99 8.22/3.99 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.22/3.99 8.22/3.99 balance_out_ag(x1, x2) = balance_out_ag 8.22/3.99 8.22/3.99 8.22/3.99 8.22/3.99 ---------------------------------------- 8.22/3.99 8.22/3.99 (3) DependencyPairsProof (EQUIVALENT) 8.22/3.99 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 8.22/3.99 Pi DP problem: 8.22/3.99 The TRS P consists of the following rules: 8.22/3.99 8.22/3.99 BALANCE_IN_AG(T, TB) -> U1_AG(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/4.00 BALANCE_IN_AG(T, TB) -> BALANCE_IN_AAAAA(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, [])) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.22/4.00 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.22/4.00 8.22/4.00 The TRS R consists of the following rules: 8.22/4.00 8.22/4.00 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/4.00 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/4.00 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.22/4.00 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.22/4.00 8.22/4.00 The argument filtering Pi contains the following mapping: 8.22/4.00 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.22/4.00 8.22/4.00 U1_ag(x1, x2, x3) = U1_ag(x3) 8.22/4.00 8.22/4.00 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.22/4.00 8.22/4.00 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.22/4.00 8.22/4.00 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.22/4.00 8.22/4.00 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.22/4.00 8.22/4.00 balance_out_ag(x1, x2) = balance_out_ag 8.22/4.00 8.22/4.00 BALANCE_IN_AG(x1, x2) = BALANCE_IN_AG(x2) 8.22/4.00 8.22/4.00 U1_AG(x1, x2, x3) = U1_AG(x3) 8.22/4.00 8.22/4.00 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.22/4.00 8.22/4.00 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.22/4.00 8.22/4.00 U3_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_AAAAA(x18) 8.22/4.00 8.22/4.00 8.22/4.00 We have to consider all (P,R,Pi)-chains 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (4) 8.22/4.00 Obligation: 8.22/4.00 Pi DP problem: 8.22/4.00 The TRS P consists of the following rules: 8.22/4.00 8.22/4.00 BALANCE_IN_AG(T, TB) -> U1_AG(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/4.00 BALANCE_IN_AG(T, TB) -> BALANCE_IN_AAAAA(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, [])) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.22/4.00 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.22/4.00 8.22/4.00 The TRS R consists of the following rules: 8.22/4.00 8.22/4.00 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/4.00 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/4.00 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.22/4.00 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.22/4.00 8.22/4.00 The argument filtering Pi contains the following mapping: 8.22/4.00 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.22/4.00 8.22/4.00 U1_ag(x1, x2, x3) = U1_ag(x3) 8.22/4.00 8.22/4.00 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.22/4.00 8.22/4.00 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.22/4.00 8.22/4.00 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.22/4.00 8.22/4.00 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.22/4.00 8.22/4.00 balance_out_ag(x1, x2) = balance_out_ag 8.22/4.00 8.22/4.00 BALANCE_IN_AG(x1, x2) = BALANCE_IN_AG(x2) 8.22/4.00 8.22/4.00 U1_AG(x1, x2, x3) = U1_AG(x3) 8.22/4.00 8.22/4.00 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.22/4.00 8.22/4.00 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.22/4.00 8.22/4.00 U3_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_AAAAA(x18) 8.22/4.00 8.22/4.00 8.22/4.00 We have to consider all (P,R,Pi)-chains 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (5) DependencyGraphProof (EQUIVALENT) 8.22/4.00 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 3 less nodes. 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (6) 8.22/4.00 Obligation: 8.22/4.00 Pi DP problem: 8.22/4.00 The TRS P consists of the following rules: 8.22/4.00 8.22/4.00 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.22/4.00 8.22/4.00 The TRS R consists of the following rules: 8.22/4.00 8.22/4.00 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/4.00 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/4.00 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.22/4.00 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.22/4.00 8.22/4.00 The argument filtering Pi contains the following mapping: 8.22/4.00 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.22/4.00 8.22/4.00 U1_ag(x1, x2, x3) = U1_ag(x3) 8.22/4.00 8.22/4.00 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.22/4.00 8.22/4.00 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.22/4.00 8.22/4.00 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.22/4.00 8.22/4.00 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.22/4.00 8.22/4.00 balance_out_ag(x1, x2) = balance_out_ag 8.22/4.00 8.22/4.00 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.22/4.00 8.22/4.00 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.22/4.00 8.22/4.00 8.22/4.00 We have to consider all (P,R,Pi)-chains 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (7) UsableRulesProof (EQUIVALENT) 8.22/4.00 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (8) 8.22/4.00 Obligation: 8.22/4.00 Pi DP problem: 8.22/4.00 The TRS P consists of the following rules: 8.22/4.00 8.22/4.00 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.22/4.00 8.22/4.00 The TRS R consists of the following rules: 8.22/4.00 8.22/4.00 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/4.00 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.22/4.00 8.22/4.00 The argument filtering Pi contains the following mapping: 8.22/4.00 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.22/4.00 8.22/4.00 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.22/4.00 8.22/4.00 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.22/4.00 8.22/4.00 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.22/4.00 8.22/4.00 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.22/4.00 8.22/4.00 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.22/4.00 8.22/4.00 8.22/4.00 We have to consider all (P,R,Pi)-chains 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (9) PiDPToQDPProof (SOUND) 8.22/4.00 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (10) 8.22/4.00 Obligation: 8.22/4.00 Q DP problem: 8.22/4.00 The TRS P consists of the following rules: 8.22/4.00 8.22/4.00 U2_AAAAA(balance_out_aaaaa) -> BALANCE_IN_AAAAA 8.22/4.00 BALANCE_IN_AAAAA -> U2_AAAAA(balance_in_aaaaa) 8.22/4.00 BALANCE_IN_AAAAA -> BALANCE_IN_AAAAA 8.22/4.00 8.22/4.00 The TRS R consists of the following rules: 8.22/4.00 8.22/4.00 balance_in_aaaaa -> balance_out_aaaaa 8.22/4.00 balance_in_aaaaa -> U2_aaaaa(balance_in_aaaaa) 8.22/4.00 U2_aaaaa(balance_out_aaaaa) -> U3_aaaaa(balance_in_aaaaa) 8.22/4.00 U3_aaaaa(balance_out_aaaaa) -> balance_out_aaaaa 8.22/4.00 8.22/4.00 The set Q consists of the following terms: 8.22/4.00 8.22/4.00 balance_in_aaaaa 8.22/4.00 U2_aaaaa(x0) 8.22/4.00 U3_aaaaa(x0) 8.22/4.00 8.22/4.00 We have to consider all (P,Q,R)-chains. 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (11) PrologToPiTRSProof (SOUND) 8.22/4.00 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 8.22/4.00 8.22/4.00 balance_in_2: (f,b) 8.22/4.00 8.22/4.00 balance_in_5: (f,f,f,f,f) 8.22/4.00 8.22/4.00 Transforming Prolog into the following Term Rewriting System: 8.22/4.00 8.22/4.00 Pi-finite rewrite system: 8.22/4.00 The TRS R consists of the following rules: 8.22/4.00 8.22/4.00 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/4.00 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/4.00 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.22/4.00 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.22/4.00 8.22/4.00 The argument filtering Pi contains the following mapping: 8.22/4.00 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.22/4.00 8.22/4.00 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 8.22/4.00 8.22/4.00 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.22/4.00 8.22/4.00 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.22/4.00 8.22/4.00 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.22/4.00 8.22/4.00 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.22/4.00 8.22/4.00 balance_out_ag(x1, x2) = balance_out_ag(x2) 8.22/4.00 8.22/4.00 8.22/4.00 8.22/4.00 8.22/4.00 8.22/4.00 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 8.22/4.00 8.22/4.00 8.22/4.00 8.22/4.00 ---------------------------------------- 8.22/4.00 8.22/4.00 (12) 8.22/4.00 Obligation: 8.22/4.00 Pi-finite rewrite system: 8.22/4.00 The TRS R consists of the following rules: 8.22/4.00 8.22/4.00 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.22/4.00 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.22/4.00 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.22/4.00 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.22/4.00 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.36/4.04 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.36/4.04 8.36/4.04 The argument filtering Pi contains the following mapping: 8.36/4.04 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.36/4.04 8.36/4.04 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 8.36/4.04 8.36/4.04 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.36/4.04 8.36/4.04 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.36/4.04 8.36/4.04 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.36/4.04 8.36/4.04 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.36/4.04 8.36/4.04 balance_out_ag(x1, x2) = balance_out_ag(x2) 8.36/4.04 8.36/4.04 8.36/4.04 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (13) DependencyPairsProof (EQUIVALENT) 8.36/4.04 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 8.36/4.04 Pi DP problem: 8.36/4.04 The TRS P consists of the following rules: 8.36/4.04 8.36/4.04 BALANCE_IN_AG(T, TB) -> U1_AG(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.36/4.04 BALANCE_IN_AG(T, TB) -> BALANCE_IN_AAAAA(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, [])) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.36/4.04 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.36/4.04 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.36/4.04 8.36/4.04 The TRS R consists of the following rules: 8.36/4.04 8.36/4.04 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.36/4.04 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.36/4.04 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.36/4.04 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.36/4.04 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.36/4.04 8.36/4.04 The argument filtering Pi contains the following mapping: 8.36/4.04 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.36/4.04 8.36/4.04 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 8.36/4.04 8.36/4.04 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.36/4.04 8.36/4.04 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.36/4.04 8.36/4.04 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.36/4.04 8.36/4.04 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.36/4.04 8.36/4.04 balance_out_ag(x1, x2) = balance_out_ag(x2) 8.36/4.04 8.36/4.04 BALANCE_IN_AG(x1, x2) = BALANCE_IN_AG(x2) 8.36/4.04 8.36/4.04 U1_AG(x1, x2, x3) = U1_AG(x2, x3) 8.36/4.04 8.36/4.04 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.36/4.04 8.36/4.04 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.36/4.04 8.36/4.04 U3_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_AAAAA(x18) 8.36/4.04 8.36/4.04 8.36/4.04 We have to consider all (P,R,Pi)-chains 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (14) 8.36/4.04 Obligation: 8.36/4.04 Pi DP problem: 8.36/4.04 The TRS P consists of the following rules: 8.36/4.04 8.36/4.04 BALANCE_IN_AG(T, TB) -> U1_AG(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.36/4.04 BALANCE_IN_AG(T, TB) -> BALANCE_IN_AAAAA(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, [])) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.36/4.04 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.36/4.04 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.36/4.04 8.36/4.04 The TRS R consists of the following rules: 8.36/4.04 8.36/4.04 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.36/4.04 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.36/4.04 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.36/4.04 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.36/4.04 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.36/4.04 8.36/4.04 The argument filtering Pi contains the following mapping: 8.36/4.04 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.36/4.04 8.36/4.04 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 8.36/4.04 8.36/4.04 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.36/4.04 8.36/4.04 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.36/4.04 8.36/4.04 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.36/4.04 8.36/4.04 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.36/4.04 8.36/4.04 balance_out_ag(x1, x2) = balance_out_ag(x2) 8.36/4.04 8.36/4.04 BALANCE_IN_AG(x1, x2) = BALANCE_IN_AG(x2) 8.36/4.04 8.36/4.04 U1_AG(x1, x2, x3) = U1_AG(x2, x3) 8.36/4.04 8.36/4.04 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.36/4.04 8.36/4.04 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.36/4.04 8.36/4.04 U3_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_AAAAA(x18) 8.36/4.04 8.36/4.04 8.36/4.04 We have to consider all (P,R,Pi)-chains 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (15) DependencyGraphProof (EQUIVALENT) 8.36/4.04 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 3 less nodes. 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (16) 8.36/4.04 Obligation: 8.36/4.04 Pi DP problem: 8.36/4.04 The TRS P consists of the following rules: 8.36/4.04 8.36/4.04 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.36/4.04 8.36/4.04 The TRS R consists of the following rules: 8.36/4.04 8.36/4.04 balance_in_ag(T, TB) -> U1_ag(T, TB, balance_in_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) 8.36/4.04 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.36/4.04 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.36/4.04 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.36/4.04 U1_ag(T, TB, balance_out_aaaaa(T, -(I, []), -(.(','(TB, -(I, [])), X), X), -(Rest, []), -(Rest, []))) -> balance_out_ag(T, TB) 8.36/4.04 8.36/4.04 The argument filtering Pi contains the following mapping: 8.36/4.04 balance_in_ag(x1, x2) = balance_in_ag(x2) 8.36/4.04 8.36/4.04 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 8.36/4.04 8.36/4.04 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.36/4.04 8.36/4.04 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.36/4.04 8.36/4.04 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.36/4.04 8.36/4.04 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.36/4.04 8.36/4.04 balance_out_ag(x1, x2) = balance_out_ag(x2) 8.36/4.04 8.36/4.04 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.36/4.04 8.36/4.04 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.36/4.04 8.36/4.04 8.36/4.04 We have to consider all (P,R,Pi)-chains 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (17) UsableRulesProof (EQUIVALENT) 8.36/4.04 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (18) 8.36/4.04 Obligation: 8.36/4.04 Pi DP problem: 8.36/4.04 The TRS P consists of the following rules: 8.36/4.04 8.36/4.04 U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> BALANCE_IN_AAAAA(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT)) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_AAAAA(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 BALANCE_IN_AAAAA(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> BALANCE_IN_AAAAA(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1)) 8.36/4.04 8.36/4.04 The TRS R consists of the following rules: 8.36/4.04 8.36/4.04 balance_in_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) -> balance_out_aaaaa(nil, -(X, X), -(A, B), -(A, B), -(.(','(nil, -(C, C)), T), T)) 8.36/4.04 balance_in_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) -> U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) 8.36/4.04 U2_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(L, -(IH, .(V, IT1)), -(H, T), -(HR1, TR1), -(NH, NT1))) -> U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_in_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) 8.36/4.04 U3_aaaaa(L, V, R, IH, IT, LB, VB, RB, A, D, H, X, T, HR, TR, NH, NT, balance_out_aaaaa(R, -(IT1, IT), -(HR1, TR1), -(HR, TR), -(NT1, NT))) -> balance_out_aaaaa(tree(L, V, R), -(IH, IT), -(.(','(tree(LB, VB, RB), -(A, D)), H), .(','(LB, -(A, .(VB, X))), .(','(RB, -(X, D)), T))), -(HR, TR), -(NH, NT)) 8.36/4.04 8.36/4.04 The argument filtering Pi contains the following mapping: 8.36/4.04 balance_in_aaaaa(x1, x2, x3, x4, x5) = balance_in_aaaaa 8.36/4.04 8.36/4.04 balance_out_aaaaa(x1, x2, x3, x4, x5) = balance_out_aaaaa 8.36/4.04 8.36/4.04 U2_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_aaaaa(x18) 8.36/4.04 8.36/4.04 U3_aaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U3_aaaaa(x18) 8.36/4.04 8.36/4.04 BALANCE_IN_AAAAA(x1, x2, x3, x4, x5) = BALANCE_IN_AAAAA 8.36/4.04 8.36/4.04 U2_AAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) = U2_AAAAA(x18) 8.36/4.04 8.36/4.04 8.36/4.04 We have to consider all (P,R,Pi)-chains 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (19) PiDPToQDPProof (SOUND) 8.36/4.04 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (20) 8.36/4.04 Obligation: 8.36/4.04 Q DP problem: 8.36/4.04 The TRS P consists of the following rules: 8.36/4.04 8.36/4.04 U2_AAAAA(balance_out_aaaaa) -> BALANCE_IN_AAAAA 8.36/4.04 BALANCE_IN_AAAAA -> U2_AAAAA(balance_in_aaaaa) 8.36/4.04 BALANCE_IN_AAAAA -> BALANCE_IN_AAAAA 8.36/4.04 8.36/4.04 The TRS R consists of the following rules: 8.36/4.04 8.36/4.04 balance_in_aaaaa -> balance_out_aaaaa 8.36/4.04 balance_in_aaaaa -> U2_aaaaa(balance_in_aaaaa) 8.36/4.04 U2_aaaaa(balance_out_aaaaa) -> U3_aaaaa(balance_in_aaaaa) 8.36/4.04 U3_aaaaa(balance_out_aaaaa) -> balance_out_aaaaa 8.36/4.04 8.36/4.04 The set Q consists of the following terms: 8.36/4.04 8.36/4.04 balance_in_aaaaa 8.36/4.04 U2_aaaaa(x0) 8.36/4.04 U3_aaaaa(x0) 8.36/4.04 8.36/4.04 We have to consider all (P,Q,R)-chains. 8.36/4.04 ---------------------------------------- 8.36/4.04 8.36/4.04 (21) PrologToDTProblemTransformerProof (SOUND) 8.36/4.04 Built DT problem from termination graph DT10. 8.36/4.04 8.36/4.04 { 8.36/4.04 "root": 1, 8.36/4.04 "program": { 8.36/4.04 "directives": [], 8.36/4.04 "clauses": [ 8.36/4.04 [ 8.36/4.04 "(balance T TB)", 8.36/4.04 "(balance T (- I ([])) (- (. (',' TB (- I ([]))) X) X) (- Rest ([])) (- Rest ([])))" 8.36/4.04 ], 8.36/4.04 [ 8.36/4.04 "(balance (nil) (- X X) (- A B) (- A B) (- (. (',' (nil) (- C C)) T) T))", 8.36/4.04 null 8.36/4.04 ], 8.36/4.04 [ 8.36/4.04 "(balance (tree L V R) (- IH IT) (- (. (',' (tree LB VB RB) (- A D)) H) (. (',' LB (- A (. VB X))) (. (',' RB (- X D)) T))) (- HR TR) (- NH NT))", 8.36/4.04 "(',' (balance L (- IH (. V IT1)) (- H T) (- HR1 TR1) (- NH NT1)) (balance R (- IT1 IT) (- HR1 TR1) (- HR TR) (- NT1 NT)))" 8.36/4.04 ] 8.36/4.04 ] 8.36/4.04 }, 8.36/4.04 "graph": { 8.36/4.04 "nodes": { 8.36/4.04 "391": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 3, 8.36/4.04 "term": "(balance T31 (- T32 (. T33 X108)) (- (. (',' T28 (- T32 (. T29 T35))) (. (',' T30 (- T35 ([]))) T34)) T34) (- X109 X110) (- X116 X111))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [ 8.36/4.04 "T28", 8.36/4.04 "T29", 8.36/4.04 "T30" 8.36/4.04 ], 8.36/4.04 "free": [ 8.36/4.04 "X116", 8.36/4.04 "X108", 8.36/4.04 "X109", 8.36/4.04 "X110", 8.36/4.04 "X111" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "type": "Nodes", 8.36/4.04 "392": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 3, 8.36/4.04 "term": "(balance T31 (- T32 (. T33 X108)) (- (. (',' T28 (- T32 (. T29 T35))) (. (',' T30 (- T35 ([]))) T34)) T34) (- X109 X110) (- X116 X111))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [ 8.36/4.04 "T28", 8.36/4.04 "T29", 8.36/4.04 "T30" 8.36/4.04 ], 8.36/4.04 "free": [ 8.36/4.04 "X116", 8.36/4.04 "X108", 8.36/4.04 "X109", 8.36/4.04 "X110", 8.36/4.04 "X111" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "393": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(true)" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "492": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T440 (- T441 (. T442 X508)) (- T443 T444) (- X509 X510) (- T445 X511))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X508", 8.36/4.04 "X509", 8.36/4.04 "X510", 8.36/4.04 "X511" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "174": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "394": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "493": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T466 (- T462 ([])) (- T463 T464) (- T467 ([])) (- T465 ([])))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "395": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "450": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(',' (balance T307 (- T308 (. T309 X380)) (- T310 T311) (- X381 X382) (- T312 X383)) (balance T313 (- X380 (. T314 X384)) (- X381 X382) (- X385 X386) (- X383 X387)))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X384", 8.36/4.04 "X385", 8.36/4.04 "X386", 8.36/4.04 "X387", 8.36/4.04 "X380", 8.36/4.04 "X381", 8.36/4.04 "X382", 8.36/4.04 "X383" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "451": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "452": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T307 (- T308 (. T309 X380)) (- T310 T311) (- X381 X382) (- T312 X383))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X380", 8.36/4.04 "X381", 8.36/4.04 "X382", 8.36/4.04 "X383" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "453": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T333 (- T329 (. T334 X384)) (- T330 T331) (- X385 X386) (- T332 X387))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X384", 8.36/4.04 "X385", 8.36/4.04 "X386", 8.36/4.04 "X387" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "378": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(',' (balance T31 (- T32 (. T33 X108)) (- (. (',' T28 (- T32 (. T29 T35))) (. (',' T30 (- T35 ([]))) T34)) T34) (- X109 X110) (- X116 X111)) (balance T36 (- X108 ([])) (- X109 X110) (- X116 ([])) (- X111 ([]))))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [ 8.36/4.04 "T28", 8.36/4.04 "T29", 8.36/4.04 "T30" 8.36/4.04 ], 8.36/4.04 "free": [ 8.36/4.04 "X116", 8.36/4.04 "X108", 8.36/4.04 "X109", 8.36/4.04 "X110", 8.36/4.04 "X111" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "379": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "479": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(true)" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "436": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(true)" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "437": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "438": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "418": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(',' (balance T157 (- T158 (. T159 X245)) (- (. (',' T153 (- T161 ([]))) (. (',' T148 (- T158 (. T149 T162))) (. (',' T150 (- T162 (. T151 T161))) T160))) T160) (- X246 X247) (- X252 X248)) (balance T163 (- X245 (. T164 X249)) (- X246 X247) (- X250 X251) (- X248 X253)))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [ 8.36/4.04 "T148", 8.36/4.04 "T149", 8.36/4.04 "T150", 8.36/4.04 "T151", 8.36/4.04 "T153" 8.36/4.04 ], 8.36/4.04 "free": [ 8.36/4.04 "X249", 8.36/4.04 "X250", 8.36/4.04 "X251", 8.36/4.04 "X252", 8.36/4.04 "X253", 8.36/4.04 "X245", 8.36/4.04 "X246", 8.36/4.04 "X247", 8.36/4.04 "X248" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "35": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 2, 8.36/4.04 "term": "(balance T7 (- X5 ([])) (- (. (',' T6 (- X5 ([]))) X6) X6) (- X7 ([])) (- X7 ([])))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": ["T6"], 8.36/4.04 "free": [ 8.36/4.04 "X5", 8.36/4.04 "X6", 8.36/4.04 "X7" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "37": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 2, 8.36/4.04 "term": "(balance T7 (- X5 ([])) (- (. (',' T6 (- X5 ([]))) X6) X6) (- X7 ([])) (- X7 ([])))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": ["T6"], 8.36/4.04 "free": [ 8.36/4.04 "X5", 8.36/4.04 "X6", 8.36/4.04 "X7" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "480": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "140": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(true)" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "481": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "185": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "460": { 8.36/4.04 "goal": [ 8.36/4.04 { 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 5, 8.36/4.04 "term": "(balance T58 (- T53 ([])) (- T54 T55) (- T56 ([])) (- T57 ([])))" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 5, 8.36/4.04 "term": "(balance T58 (- T53 ([])) (- T54 T55) (- T56 ([])) (- T57 ([])))" 8.36/4.04 } 8.36/4.04 ], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "384": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T31 (- T32 (. T33 X108)) (- (. (',' T28 (- T32 (. T29 T35))) (. (',' T30 (- T35 ([]))) T34)) T34) (- X109 X110) (- X116 X111))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [ 8.36/4.04 "T28", 8.36/4.04 "T29", 8.36/4.04 "T30" 8.36/4.04 ], 8.36/4.04 "free": [ 8.36/4.04 "X116", 8.36/4.04 "X108", 8.36/4.04 "X109", 8.36/4.04 "X110", 8.36/4.04 "X111" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "461": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 5, 8.36/4.04 "term": "(balance T58 (- T53 ([])) (- T54 T55) (- T56 ([])) (- T57 ([])))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "385": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T58 (- T53 ([])) (- T54 T55) (- T56 ([])) (- T57 ([])))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "462": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 5, 8.36/4.04 "term": "(balance T58 (- T53 ([])) (- T54 T55) (- T56 ([])) (- T57 ([])))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "1": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T1 T2)" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": ["T2"], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "388": { 8.36/4.04 "goal": [ 8.36/4.04 { 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 3, 8.36/4.04 "term": "(balance T31 (- T32 (. T33 X108)) (- (. (',' T28 (- T32 (. T29 T35))) (. (',' T30 (- T35 ([]))) T34)) T34) (- X109 X110) (- X116 X111))" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 3, 8.36/4.04 "term": "(balance T31 (- T32 (. T33 X108)) (- (. (',' T28 (- T32 (. T29 T35))) (. (',' T30 (- T35 ([]))) T34)) T34) (- X109 X110) (- X116 X111))" 8.36/4.04 } 8.36/4.04 ], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [ 8.36/4.04 "T28", 8.36/4.04 "T29", 8.36/4.04 "T30" 8.36/4.04 ], 8.36/4.04 "free": [ 8.36/4.04 "X116", 8.36/4.04 "X108", 8.36/4.04 "X109", 8.36/4.04 "X110", 8.36/4.04 "X111" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "421": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "487": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(',' (balance T440 (- T441 (. T442 X508)) (- T443 T444) (- X509 X510) (- T445 X511)) (balance T446 (- X508 ([])) (- X509 X510) (- T447 ([])) (- X511 ([]))))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X508", 8.36/4.04 "X509", 8.36/4.04 "X510", 8.36/4.04 "X511" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "488": { 8.36/4.04 "goal": [], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "6": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 0, 8.36/4.04 "scope": 1, 8.36/4.04 "term": "(balance T1 T2)" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": ["T2"], 8.36/4.04 "free": [], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "424": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T157 (- T158 (. T159 X245)) (- (. (',' T153 (- T161 ([]))) (. (',' T148 (- T158 (. T149 T162))) (. (',' T150 (- T162 (. T151 T161))) T160))) T160) (- X246 X247) (- X252 X248))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [ 8.36/4.04 "T148", 8.36/4.04 "T149", 8.36/4.04 "T150", 8.36/4.04 "T151", 8.36/4.04 "T153" 8.36/4.04 ], 8.36/4.04 "free": [ 8.36/4.04 "X252", 8.36/4.04 "X245", 8.36/4.04 "X246", 8.36/4.04 "X247", 8.36/4.04 "X248" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "7": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T7 (- X5 ([])) (- (. (',' T6 (- X5 ([]))) X6) X6) (- X7 ([])) (- X7 ([])))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": ["T6"], 8.36/4.04 "free": [ 8.36/4.04 "X5", 8.36/4.04 "X6", 8.36/4.04 "X7" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "425": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": -1, 8.36/4.04 "scope": -1, 8.36/4.04 "term": "(balance T192 (- T187 (. T193 X249)) (- T188 T189) (- X250 X251) (- T191 X253))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X249", 8.36/4.04 "X250", 8.36/4.04 "X251", 8.36/4.04 "X253" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "8": { 8.36/4.04 "goal": [ 8.36/4.04 { 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 2, 8.36/4.04 "term": "(balance T7 (- X5 ([])) (- (. (',' T6 (- X5 ([]))) X6) X6) (- X7 ([])) (- X7 ([])))" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 2, 8.36/4.04 "term": "(balance T7 (- X5 ([])) (- (. (',' T6 (- X5 ([]))) X6) X6) (- X7 ([])) (- X7 ([])))" 8.36/4.04 } 8.36/4.04 ], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": ["T6"], 8.36/4.04 "free": [ 8.36/4.04 "X5", 8.36/4.04 "X6", 8.36/4.04 "X7" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "426": { 8.36/4.04 "goal": [ 8.36/4.04 { 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 4, 8.36/4.04 "term": "(balance T192 (- T187 (. T193 X249)) (- T188 T189) (- X250 X251) (- T191 X253))" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 4, 8.36/4.04 "term": "(balance T192 (- T187 (. T193 X249)) (- T188 T189) (- X250 X251) (- T191 X253))" 8.36/4.04 } 8.36/4.04 ], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X249", 8.36/4.04 "X250", 8.36/4.04 "X251", 8.36/4.04 "X253" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "428": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 1, 8.36/4.04 "scope": 4, 8.36/4.04 "term": "(balance T192 (- T187 (. T193 X249)) (- T188 T189) (- X250 X251) (- T191 X253))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X249", 8.36/4.04 "X250", 8.36/4.04 "X251", 8.36/4.04 "X253" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "429": { 8.36/4.04 "goal": [{ 8.36/4.04 "clause": 2, 8.36/4.04 "scope": 4, 8.36/4.04 "term": "(balance T192 (- T187 (. T193 X249)) (- T188 T189) (- X250 X251) (- T191 X253))" 8.36/4.04 }], 8.36/4.04 "kb": { 8.36/4.04 "nonunifying": [], 8.36/4.04 "intvars": {}, 8.36/4.04 "arithmetic": { 8.36/4.04 "type": "PlainIntegerRelationState", 8.36/4.04 "relations": [] 8.36/4.04 }, 8.36/4.04 "ground": [], 8.36/4.04 "free": [ 8.36/4.04 "X249", 8.36/4.04 "X250", 8.36/4.04 "X251", 8.36/4.04 "X253" 8.36/4.04 ], 8.36/4.04 "exprvars": [] 8.36/4.04 } 8.36/4.04 } 8.36/4.04 }, 8.36/4.04 "edges": [ 8.36/4.04 { 8.36/4.04 "from": 1, 8.36/4.04 "to": 6, 8.36/4.04 "label": "CASE" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 6, 8.36/4.04 "to": 7, 8.36/4.04 "label": "ONLY EVAL with clause\nbalance(X3, X4) :- balance(X3, -(X5, []), -(.(','(X4, -(X5, [])), X6), X6), -(X7, []), -(X7, [])).\nand substitutionT1 -> T7,\nX3 -> T7,\nT2 -> T6,\nX4 -> T6,\nT5 -> T7" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 7, 8.36/4.04 "to": 8, 8.36/4.04 "label": "CASE" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 8, 8.36/4.04 "to": 35, 8.36/4.04 "label": "PARALLEL" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 8, 8.36/4.04 "to": 37, 8.36/4.04 "label": "PARALLEL" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 35, 8.36/4.04 "to": 140, 8.36/4.04 "label": "EVAL with clause\nbalance(nil, -(X36, X36), -(X37, X38), -(X37, X38), -(.(','(nil, -(X39, X39)), X40), X40)).\nand substitutionT7 -> nil,\nX5 -> [],\nX36 -> [],\nX41 -> [],\nT6 -> nil,\nX6 -> [],\nX37 -> .(','(nil, -([], [])), []),\nX38 -> [],\nX7 -> .(','(nil, -([], [])), []),\nX42 -> [],\nT12 -> nil,\nX39 -> [],\nX40 -> []" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 35, 8.36/4.04 "to": 174, 8.36/4.04 "label": "EVAL-BACKTRACK" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 37, 8.36/4.04 "to": 378, 8.36/4.04 "label": "EVAL with clause\nbalance(tree(X91, X92, X93), -(X94, X95), -(.(','(tree(X96, X97, X98), -(X99, X100)), X101), .(','(X96, -(X99, .(X97, X102))), .(','(X98, -(X102, X100)), X103))), -(X104, X105), -(X106, X107)) :- ','(balance(X91, -(X94, .(X92, X108)), -(X101, X103), -(X109, X110), -(X106, X111)), balance(X93, -(X108, X95), -(X109, X110), -(X104, X105), -(X111, X107))).\nand substitutionX91 -> T31,\nX92 -> T33,\nX93 -> T36,\nT7 -> tree(T31, T33, T36),\nX5 -> T32,\nX94 -> T32,\nX95 -> [],\nX96 -> T28,\nX97 -> T29,\nX98 -> T30,\nT6 -> tree(T28, T29, T30),\nX99 -> T32,\nX100 -> [],\nX6 -> .(','(T28, -(T32, .(T29, T35))), .(','(T30, -(T35, [])), T34)),\nX101 -> .(','(T28, -(T32, .(T29, T35))), .(','(T30, -(T35, [])), T34)),\nX102 -> T35,\nX103 -> T34,\nX113 -> .(','(T28, -(T32, .(T29, T35))), .(','(T30, -(T35, [])), T34)),\nX7 -> X116,\nX104 -> X116,\nX105 -> [],\nX106 -> X116,\nX107 -> [],\nT25 -> T31,\nX112 -> T32,\nT26 -> T33,\nX115 -> T34,\nX114 -> T35,\nT27 -> T36" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 37, 8.36/4.04 "to": 379, 8.36/4.04 "label": "EVAL-BACKTRACK" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 140, 8.36/4.04 "to": 185, 8.36/4.04 "label": "SUCCESS" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 378, 8.36/4.04 "to": 384, 8.36/4.04 "label": "SPLIT 1" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 378, 8.36/4.04 "to": 385, 8.36/4.04 "label": "SPLIT 2\nreplacements:X108 -> T53,\nX109 -> T54,\nX110 -> T55,\nX116 -> T56,\nX111 -> T57,\nT36 -> T58" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 384, 8.36/4.04 "to": 388, 8.36/4.04 "label": "CASE" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 385, 8.36/4.04 "to": 460, 8.36/4.04 "label": "CASE" 8.36/4.04 }, 8.36/4.04 { 8.36/4.04 "from": 388, 8.36/4.04 "to": 391, 8.36/4.04 "label": "PARALLEL" 8.36/4.04 }, 8.36/4.05 { 8.36/4.05 "from": 388, 8.36/4.05 "to": 392, 8.36/4.05 "label": "PARALLEL" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 391, 8.36/4.05 "to": 393, 8.36/4.05 "label": "EVAL with clause\nbalance(nil, -(X173, X173), -(X174, X175), -(X174, X175), -(.(','(nil, -(X176, X176)), X177), X177)).\nand substitutionT31 -> nil,\nT32 -> .(T108, T109),\nX173 -> .(T108, T109),\nT33 -> T108,\nX108 -> T109,\nT107 -> .(T108, T109),\nT28 -> T110,\nT29 -> T111,\nT35 -> T112,\nT30 -> T113,\nT34 -> T114,\nX174 -> .(','(T110, -(.(T108, T109), .(T111, T112))), .(','(T113, -(T112, [])), T114)),\nX175 -> T114,\nX109 -> .(','(T110, -(.(T108, T109), .(T111, T112))), .(','(T113, -(T112, [])), T114)),\nX110 -> T114,\nX176 -> X178,\nX177 -> X179,\nX116 -> .(','(nil, -(X178, X178)), X179),\nX111 -> X179" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 391, 8.36/4.05 "to": 394, 8.36/4.05 "label": "EVAL-BACKTRACK" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 392, 8.36/4.05 "to": 418, 8.36/4.05 "label": "EVAL with clause\nbalance(tree(X228, X229, X230), -(X231, X232), -(.(','(tree(X233, X234, X235), -(X236, X237)), X238), .(','(X233, -(X236, .(X234, X239))), .(','(X235, -(X239, X237)), X240))), -(X241, X242), -(X243, X244)) :- ','(balance(X228, -(X231, .(X229, X245)), -(X238, X240), -(X246, X247), -(X243, X248)), balance(X230, -(X245, X232), -(X246, X247), -(X241, X242), -(X248, X244))).\nand substitutionX228 -> T157,\nX229 -> T159,\nX230 -> T163,\nT31 -> tree(T157, T159, T163),\nT32 -> T158,\nX231 -> T158,\nT33 -> T164,\nX108 -> X249,\nX232 -> .(T164, X249),\nX233 -> T148,\nX234 -> T149,\nX235 -> T150,\nT28 -> tree(T148, T149, T150),\nX236 -> T158,\nT29 -> T151,\nT35 -> T161,\nX237 -> .(T151, T161),\nT30 -> T153,\nT34 -> .(','(T148, -(T158, .(T149, T162))), .(','(T150, -(T162, .(T151, T161))), T160)),\nX238 -> .(','(T153, -(T161, [])), .(','(T148, -(T158, .(T149, T162))), .(','(T150, -(T162, .(T151, T161))), T160))),\nX239 -> T162,\nX240 -> T160,\nT154 -> .(','(T148, -(T158, .(T149, T162))), .(','(T150, -(T162, .(T151, T161))), T160)),\nX109 -> X250,\nX241 -> X250,\nX110 -> X251,\nX242 -> X251,\nX116 -> X252,\nX243 -> X252,\nX111 -> X253,\nX244 -> X253,\nT143 -> T157,\nT146 -> T158,\nT144 -> T159,\nT156 -> T160,\nT152 -> T161,\nT155 -> T162,\nT145 -> T163,\nT147 -> T164" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 392, 8.36/4.05 "to": 421, 8.36/4.05 "label": "EVAL-BACKTRACK" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 393, 8.36/4.05 "to": 395, 8.36/4.05 "label": "SUCCESS" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 418, 8.36/4.05 "to": 424, 8.36/4.05 "label": "SPLIT 1" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 418, 8.36/4.05 "to": 425, 8.36/4.05 "label": "SPLIT 2\nreplacements:X245 -> T187,\nX246 -> T188,\nX247 -> T189,\nX252 -> T190,\nX248 -> T191,\nT163 -> T192,\nT164 -> T193" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 424, 8.36/4.05 "to": 425, 8.36/4.05 "label": "INSTANCE with matching:\nT192 -> T157\nT187 -> T158\nT193 -> T159\nX249 -> X245\nT188 -> .(','(T153, -(T161, [])), .(','(T148, -(T158, .(T149, T162))), .(','(T150, -(T162, .(T151, T161))), T160)))\nT189 -> T160\nX250 -> X246\nX251 -> X247\nT191 -> X252\nX253 -> X248" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 425, 8.36/4.05 "to": 426, 8.36/4.05 "label": "CASE" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 426, 8.36/4.05 "to": 428, 8.36/4.05 "label": "PARALLEL" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 426, 8.36/4.05 "to": 429, 8.36/4.05 "label": "PARALLEL" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 428, 8.36/4.05 "to": 436, 8.36/4.05 "label": "EVAL with clause\nbalance(nil, -(X312, X312), -(X313, X314), -(X313, X314), -(.(','(nil, -(X315, X315)), X316), X316)).\nand substitutionT192 -> nil,\nT187 -> .(T259, T260),\nX312 -> .(T259, T260),\nT193 -> T259,\nX249 -> T260,\nT258 -> .(T259, T260),\nT188 -> T261,\nX313 -> T261,\nT189 -> T262,\nX314 -> T262,\nX250 -> T261,\nX251 -> T262,\nX315 -> T263,\nX316 -> T264,\nT191 -> .(','(nil, -(T263, T263)), T264),\nX253 -> T264" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 428, 8.36/4.05 "to": 437, 8.36/4.05 "label": "EVAL-BACKTRACK" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 429, 8.36/4.05 "to": 450, 8.36/4.05 "label": "EVAL with clause\nbalance(tree(X363, X364, X365), -(X366, X367), -(.(','(tree(X368, X369, X370), -(X371, X372)), X373), .(','(X368, -(X371, .(X369, X374))), .(','(X370, -(X374, X372)), X375))), -(X376, X377), -(X378, X379)) :- ','(balance(X363, -(X366, .(X364, X380)), -(X373, X375), -(X381, X382), -(X378, X383)), balance(X365, -(X380, X367), -(X381, X382), -(X376, X377), -(X383, X379))).\nand substitutionX363 -> T307,\nX364 -> T309,\nX365 -> T313,\nT192 -> tree(T307, T309, T313),\nT187 -> T308,\nX366 -> T308,\nT193 -> T314,\nX249 -> X384,\nX367 -> .(T314, X384),\nX368 -> T298,\nX369 -> T299,\nX370 -> T300,\nX371 -> T301,\nX372 -> T302,\nX373 -> T310,\nT188 -> .(','(tree(T298, T299, T300), -(T301, T302)), T310),\nX374 -> T304,\nX375 -> T311,\nT189 -> .(','(T298, -(T301, .(T299, T304))), .(','(T300, -(T304, T302)), T311)),\nX250 -> X385,\nX376 -> X385,\nX251 -> X386,\nX377 -> X386,\nT191 -> T312,\nX378 -> T312,\nX253 -> X387,\nX379 -> X387,\nT293 -> T307,\nT296 -> T308,\nT294 -> T309,\nT303 -> T310,\nT305 -> T311,\nT306 -> T312,\nT295 -> T313,\nT297 -> T314" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 429, 8.36/4.05 "to": 451, 8.36/4.05 "label": "EVAL-BACKTRACK" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 436, 8.36/4.05 "to": 438, 8.36/4.05 "label": "SUCCESS" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 450, 8.36/4.05 "to": 452, 8.36/4.05 "label": "SPLIT 1" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 450, 8.36/4.05 "to": 453, 8.36/4.05 "label": "SPLIT 2\nreplacements:X380 -> T329,\nX381 -> T330,\nX382 -> T331,\nX383 -> T332,\nT313 -> T333,\nT314 -> T334" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 452, 8.36/4.05 "to": 425, 8.36/4.05 "label": "INSTANCE with matching:\nT192 -> T307\nT187 -> T308\nT193 -> T309\nX249 -> X380\nT188 -> T310\nT189 -> T311\nX250 -> X381\nX251 -> X382\nT191 -> T312\nX253 -> X383" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 453, 8.36/4.05 "to": 425, 8.36/4.05 "label": "INSTANCE with matching:\nT192 -> T333\nT187 -> T329\nT193 -> T334\nX249 -> X384\nT188 -> T330\nT189 -> T331\nX250 -> X385\nX251 -> X386\nT191 -> T332\nX253 -> X387" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 460, 8.36/4.05 "to": 461, 8.36/4.05 "label": "PARALLEL" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 460, 8.36/4.05 "to": 462, 8.36/4.05 "label": "PARALLEL" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 461, 8.36/4.05 "to": 479, 8.36/4.05 "label": "EVAL with clause\nbalance(nil, -(X448, X448), -(X449, X450), -(X449, X450), -(.(','(nil, -(X451, X451)), X452), X452)).\nand substitutionT58 -> nil,\nT53 -> [],\nX448 -> [],\nT393 -> [],\nT54 -> T394,\nX449 -> T394,\nT55 -> [],\nX450 -> [],\nT56 -> T394,\nT395 -> [],\nX451 -> T396,\nX452 -> [],\nT57 -> .(','(nil, -(T396, T396)), []),\nT397 -> []" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 461, 8.36/4.05 "to": 480, 8.36/4.05 "label": "EVAL-BACKTRACK" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 462, 8.36/4.05 "to": 487, 8.36/4.05 "label": "EVAL with clause\nbalance(tree(X491, X492, X493), -(X494, X495), -(.(','(tree(X496, X497, X498), -(X499, X500)), X501), .(','(X496, -(X499, .(X497, X502))), .(','(X498, -(X502, X500)), X503))), -(X504, X505), -(X506, X507)) :- ','(balance(X491, -(X494, .(X492, X508)), -(X501, X503), -(X509, X510), -(X506, X511)), balance(X493, -(X508, X495), -(X509, X510), -(X504, X505), -(X511, X507))).\nand substitutionX491 -> T440,\nX492 -> T442,\nX493 -> T446,\nT58 -> tree(T440, T442, T446),\nT53 -> T441,\nX494 -> T441,\nX495 -> [],\nX496 -> T430,\nX497 -> T431,\nX498 -> T432,\nX499 -> T433,\nX500 -> T434,\nX501 -> T443,\nT54 -> .(','(tree(T430, T431, T432), -(T433, T434)), T443),\nX502 -> T436,\nX503 -> T444,\nT55 -> .(','(T430, -(T433, .(T431, T436))), .(','(T432, -(T436, T434)), T444)),\nT56 -> T447,\nX504 -> T447,\nX505 -> [],\nT57 -> T445,\nX506 -> T445,\nX507 -> [],\nT426 -> T440,\nT429 -> T441,\nT427 -> T442,\nT435 -> T443,\nT437 -> T444,\nT439 -> T445,\nT428 -> T446,\nT438 -> T447" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 462, 8.36/4.05 "to": 488, 8.36/4.05 "label": "EVAL-BACKTRACK" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 479, 8.36/4.05 "to": 481, 8.36/4.05 "label": "SUCCESS" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 487, 8.36/4.05 "to": 492, 8.36/4.05 "label": "SPLIT 1" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 487, 8.36/4.05 "to": 493, 8.36/4.05 "label": "SPLIT 2\nreplacements:X508 -> T462,\nX509 -> T463,\nX510 -> T464,\nX511 -> T465,\nT446 -> T466,\nT447 -> T467" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 492, 8.36/4.05 "to": 425, 8.36/4.05 "label": "INSTANCE with matching:\nT192 -> T440\nT187 -> T441\nT193 -> T442\nX249 -> X508\nT188 -> T443\nT189 -> T444\nX250 -> X509\nX251 -> X510\nT191 -> T445\nX253 -> X511" 8.36/4.05 }, 8.36/4.05 { 8.36/4.05 "from": 493, 8.36/4.05 "to": 385, 8.36/4.05 "label": "INSTANCE with matching:\nT58 -> T466\nT53 -> T462\nT54 -> T463\nT55 -> T464\nT56 -> T467\nT57 -> T465" 8.36/4.05 } 8.36/4.05 ], 8.36/4.05 "type": "Graph" 8.36/4.05 } 8.36/4.05 } 8.36/4.05 8.36/4.05 ---------------------------------------- 8.36/4.05 8.36/4.05 (22) 8.36/4.05 Obligation: 8.36/4.05 Triples: 8.36/4.05 8.36/4.05 balanceA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) :- balanceA(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22). 8.36/4.05 balanceA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) :- ','(balancecA(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22), balanceA(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)). 8.36/4.05 balanceB(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) :- balanceA(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18). 8.36/4.05 balanceB(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) :- ','(balancecA(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18), balanceB(X3, X15, X16, X17, X13, X18)). 8.36/4.05 balanceD(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) :- balanceA(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19). 8.36/4.05 balanceD(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) :- ','(balancecA(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19), balanceA(X3, X12, X4, X20, X16, X17, X21, X22, X19, X23)). 8.36/4.05 balanceD(tree(X1, X2, X3), tree(X4, X5, X6)) :- ','(balancecC(X1, X7, X2, X8, X4, X5, X9, X6, X10, X11, X12, X13, X14), balanceB(X3, X8, X11, X12, X13, X14)). 8.36/4.05 8.36/4.05 Clauses: 8.36/4.05 8.36/4.05 balancecA(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6). 8.36/4.05 balancecA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) :- ','(balancecA(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22), balancecA(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)). 8.36/4.05 balancecB(nil, [], X1, [], X1, .(','(nil, -(X2, X2)), [])). 8.36/4.05 balancecB(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) :- ','(balancecA(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18), balancecB(X3, X15, X16, X17, X13, X18)). 8.36/4.05 balancecC(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9). 8.36/4.05 balancecC(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) :- ','(balancecA(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22), balancecA(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)). 8.36/4.05 8.36/4.05 Afs: 8.36/4.05 8.36/4.05 balanceD(x1, x2) = balanceD(x2) 8.36/4.05 8.36/4.05 8.36/4.05 ---------------------------------------- 8.36/4.05 8.36/4.05 (23) TriplesToPiDPProof (SOUND) 8.36/4.05 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 8.36/4.05 8.36/4.05 balanceD_in_2: (f,b) 8.36/4.05 8.36/4.05 balanceA_in_10: (f,f,f,f,f,f,f,f,f,f) 8.36/4.05 8.36/4.05 balancecA_in_10: (f,f,f,f,f,f,f,f,f,f) 8.36/4.05 8.36/4.05 balancecC_in_13: (f,f,f,f,b,b,f,b,f,f,f,f,f) 8.36/4.05 8.36/4.05 balanceB_in_6: (f,f,f,f,f,f) 8.36/4.05 8.36/4.05 Transforming TRIPLES into the following Term Rewriting System: 8.36/4.05 8.36/4.05 Pi DP problem: 8.36/4.05 The TRS P consists of the following rules: 8.36/4.05 8.36/4.05 BALANCED_IN_AG(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) -> U7_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balanceA_in_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) 8.36/4.05 BALANCED_IN_AG(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) -> BALANCEA_IN_AAAAAAAAAA(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19) 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U1_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balanceA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> BALANCEA_IN_AAAAAAAAAA(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22) 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.36/4.05 U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U3_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balanceA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.36/4.05 U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> BALANCEA_IN_AAAAAAAAAA(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18) 8.36/4.05 BALANCED_IN_AG(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) -> U8_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balancecA_in_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) 8.36/4.05 U8_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balancecA_out_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) -> U9_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balanceA_in_aaaaaaaaaa(X3, X12, X4, X20, X16, X17, X21, X22, X19, X23)) 8.36/4.05 U8_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balancecA_out_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) -> BALANCEA_IN_AAAAAAAAAA(X3, X12, X4, X20, X16, X17, X21, X22, X19, X23) 8.36/4.05 BALANCED_IN_AG(tree(X1, X2, X3), tree(X4, X5, X6)) -> U10_AG(X1, X2, X3, X4, X5, X6, balancecC_in_aaaaggagaaaaa(X1, X7, X2, X8, X4, X5, X9, X6, X10, X11, X12, X13, X14)) 8.36/4.05 U10_AG(X1, X2, X3, X4, X5, X6, balancecC_out_aaaaggagaaaaa(X1, X7, X2, X8, X4, X5, X9, X6, X10, X11, X12, X13, X14)) -> U11_AG(X1, X2, X3, X4, X5, X6, balanceB_in_aaaaaa(X3, X8, X11, X12, X13, X14)) 8.36/4.05 U10_AG(X1, X2, X3, X4, X5, X6, balancecC_out_aaaaggagaaaaa(X1, X7, X2, X8, X4, X5, X9, X6, X10, X11, X12, X13, X14)) -> BALANCEB_IN_AAAAAA(X3, X8, X11, X12, X13, X14) 8.36/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> U4_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balanceA_in_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) 8.36/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> BALANCEA_IN_AAAAAAAAAA(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18) 8.36/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_in_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) 8.36/4.05 U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_out_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) -> U6_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balanceB_in_aaaaaa(X3, X15, X16, X17, X13, X18)) 8.36/4.05 U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_out_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) -> BALANCEB_IN_AAAAAA(X3, X15, X16, X17, X13, X18) 8.36/4.05 8.36/4.05 The TRS R consists of the following rules: 8.36/4.05 8.36/4.05 balancecA_in_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) -> balancecA_out_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) 8.36/4.05 balancecA_in_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.36/4.05 U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.36/4.05 U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecA_out_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) 8.36/4.05 balancecC_in_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) -> balancecC_out_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) 8.36/4.05 balancecC_in_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) -> U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) 8.36/4.05 U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) -> U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.36/4.05 U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecC_out_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) 8.36/4.05 8.36/4.05 The argument filtering Pi contains the following mapping: 8.36/4.05 tree(x1, x2, x3) = tree(x1, x2, x3) 8.36/4.05 8.36/4.05 balanceA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balanceA_in_aaaaaaaaaa 8.36/4.05 8.36/4.05 balancecA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_in_aaaaaaaaaa 8.36/4.05 8.36/4.05 balancecA_out_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_out_aaaaaaaaaa 8.36/4.05 8.36/4.05 U13_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U13_aaaaaaaaaa(x19) 8.36/4.05 8.36/4.05 U14_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U14_aaaaaaaaaa(x23) 8.36/4.05 8.36/4.05 balancecC_in_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_in_aaaaggagaaaaa(x5, x6, x8) 8.36/4.05 8.36/4.05 balancecC_out_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_out_aaaaggagaaaaa(x5, x6, x8) 8.36/4.05 8.36/4.05 U17_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U17_aaaaggagaaaaa(x7, x8, x9, x10, x12, x19) 8.36/4.05 8.36/4.05 U18_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U18_aaaaggagaaaaa(x7, x8, x9, x10, x12, x23) 8.36/4.05 8.36/4.05 balanceB_in_aaaaaa(x1, x2, x3, x4, x5, x6) = balanceB_in_aaaaaa 8.36/4.05 8.36/4.05 BALANCED_IN_AG(x1, x2) = BALANCED_IN_AG(x2) 8.36/4.05 8.36/4.05 U7_AG(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) = U7_AG(x6, x7, x8, x9, x10, x11) 8.36/4.05 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = BALANCEA_IN_AAAAAAAAAA 8.36/4.05 8.36/4.05 U1_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U1_AAAAAAAAAA(x19) 8.36/4.05 8.36/4.05 U2_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U2_AAAAAAAAAA(x19) 8.36/4.05 8.36/4.05 U3_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U3_AAAAAAAAAA(x19) 8.36/4.05 8.36/4.05 U8_AG(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) = U8_AG(x6, x7, x8, x9, x10, x11) 8.36/4.05 8.36/4.05 U9_AG(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) = U9_AG(x6, x7, x8, x9, x10, x11) 8.36/4.05 8.36/4.05 U10_AG(x1, x2, x3, x4, x5, x6, x7) = U10_AG(x4, x5, x6, x7) 8.36/4.05 8.36/4.05 U11_AG(x1, x2, x3, x4, x5, x6, x7) = U11_AG(x4, x5, x6, x7) 8.36/4.05 8.36/4.05 BALANCEB_IN_AAAAAA(x1, x2, x3, x4, x5, x6) = BALANCEB_IN_AAAAAA 8.36/4.05 8.36/4.05 U4_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U4_AAAAAA(x15) 8.36/4.05 8.36/4.05 U5_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U5_AAAAAA(x15) 8.36/4.05 8.36/4.05 U6_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U6_AAAAAA(x15) 8.36/4.05 8.36/4.05 8.36/4.05 We have to consider all (P,R,Pi)-chains 8.36/4.05 8.36/4.05 8.36/4.05 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 8.36/4.05 8.36/4.05 8.36/4.05 8.36/4.05 ---------------------------------------- 8.36/4.05 8.36/4.05 (24) 8.36/4.05 Obligation: 8.36/4.05 Pi DP problem: 8.36/4.05 The TRS P consists of the following rules: 8.36/4.05 8.36/4.05 BALANCED_IN_AG(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) -> U7_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balanceA_in_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) 8.36/4.05 BALANCED_IN_AG(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) -> BALANCEA_IN_AAAAAAAAAA(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19) 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U1_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balanceA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> BALANCEA_IN_AAAAAAAAAA(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22) 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.36/4.05 U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U3_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balanceA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.36/4.05 U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> BALANCEA_IN_AAAAAAAAAA(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18) 8.36/4.05 BALANCED_IN_AG(tree(tree(X1, X2, X3), X4, X5), tree(tree(X6, X7, X8), X9, X10)) -> U8_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balancecA_in_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) 8.36/4.05 U8_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balancecA_out_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) -> U9_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balanceA_in_aaaaaaaaaa(X3, X12, X4, X20, X16, X17, X21, X22, X19, X23)) 8.36/4.05 U8_AG(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, balancecA_out_aaaaaaaaaa(X1, X11, X2, X12, .(','(X10, -(X13, [])), .(','(X6, -(X11, .(X7, X14))), .(','(X8, -(X14, .(X9, X13))), X15))), X15, X16, X17, X18, X19)) -> BALANCEA_IN_AAAAAAAAAA(X3, X12, X4, X20, X16, X17, X21, X22, X19, X23) 8.36/4.05 BALANCED_IN_AG(tree(X1, X2, X3), tree(X4, X5, X6)) -> U10_AG(X1, X2, X3, X4, X5, X6, balancecC_in_aaaaggagaaaaa(X1, X7, X2, X8, X4, X5, X9, X6, X10, X11, X12, X13, X14)) 8.36/4.05 U10_AG(X1, X2, X3, X4, X5, X6, balancecC_out_aaaaggagaaaaa(X1, X7, X2, X8, X4, X5, X9, X6, X10, X11, X12, X13, X14)) -> U11_AG(X1, X2, X3, X4, X5, X6, balanceB_in_aaaaaa(X3, X8, X11, X12, X13, X14)) 8.36/4.05 U10_AG(X1, X2, X3, X4, X5, X6, balancecC_out_aaaaggagaaaaa(X1, X7, X2, X8, X4, X5, X9, X6, X10, X11, X12, X13, X14)) -> BALANCEB_IN_AAAAAA(X3, X8, X11, X12, X13, X14) 8.36/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> U4_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balanceA_in_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) 8.36/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> BALANCEA_IN_AAAAAAAAAA(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18) 8.36/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_in_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) 8.36/4.05 U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_out_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) -> U6_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balanceB_in_aaaaaa(X3, X15, X16, X17, X13, X18)) 8.36/4.05 U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_out_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) -> BALANCEB_IN_AAAAAA(X3, X15, X16, X17, X13, X18) 8.36/4.05 8.36/4.05 The TRS R consists of the following rules: 8.36/4.05 8.36/4.05 balancecA_in_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) -> balancecA_out_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) 8.36/4.05 balancecA_in_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.36/4.05 U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.36/4.05 U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecA_out_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) 8.36/4.05 balancecC_in_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) -> balancecC_out_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) 8.36/4.05 balancecC_in_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) -> U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) 8.36/4.05 U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) -> U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.36/4.05 U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecC_out_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) 8.36/4.05 8.36/4.05 The argument filtering Pi contains the following mapping: 8.36/4.05 tree(x1, x2, x3) = tree(x1, x2, x3) 8.36/4.05 8.36/4.05 balanceA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balanceA_in_aaaaaaaaaa 8.36/4.05 8.36/4.05 balancecA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_in_aaaaaaaaaa 8.36/4.05 8.36/4.05 balancecA_out_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_out_aaaaaaaaaa 8.36/4.05 8.36/4.05 U13_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U13_aaaaaaaaaa(x19) 8.36/4.05 8.36/4.05 U14_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U14_aaaaaaaaaa(x23) 8.36/4.05 8.36/4.05 balancecC_in_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_in_aaaaggagaaaaa(x5, x6, x8) 8.36/4.05 8.36/4.05 balancecC_out_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_out_aaaaggagaaaaa(x5, x6, x8) 8.36/4.05 8.36/4.05 U17_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U17_aaaaggagaaaaa(x7, x8, x9, x10, x12, x19) 8.36/4.05 8.36/4.05 U18_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U18_aaaaggagaaaaa(x7, x8, x9, x10, x12, x23) 8.36/4.05 8.36/4.05 balanceB_in_aaaaaa(x1, x2, x3, x4, x5, x6) = balanceB_in_aaaaaa 8.36/4.05 8.36/4.05 BALANCED_IN_AG(x1, x2) = BALANCED_IN_AG(x2) 8.36/4.05 8.36/4.05 U7_AG(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) = U7_AG(x6, x7, x8, x9, x10, x11) 8.36/4.05 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = BALANCEA_IN_AAAAAAAAAA 8.36/4.05 8.36/4.05 U1_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U1_AAAAAAAAAA(x19) 8.36/4.05 8.36/4.05 U2_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U2_AAAAAAAAAA(x19) 8.36/4.05 8.36/4.05 U3_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U3_AAAAAAAAAA(x19) 8.36/4.05 8.36/4.05 U8_AG(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) = U8_AG(x6, x7, x8, x9, x10, x11) 8.36/4.05 8.36/4.05 U9_AG(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) = U9_AG(x6, x7, x8, x9, x10, x11) 8.36/4.05 8.36/4.05 U10_AG(x1, x2, x3, x4, x5, x6, x7) = U10_AG(x4, x5, x6, x7) 8.36/4.05 8.36/4.05 U11_AG(x1, x2, x3, x4, x5, x6, x7) = U11_AG(x4, x5, x6, x7) 8.36/4.05 8.36/4.05 BALANCEB_IN_AAAAAA(x1, x2, x3, x4, x5, x6) = BALANCEB_IN_AAAAAA 8.36/4.05 8.36/4.05 U4_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U4_AAAAAA(x15) 8.36/4.05 8.36/4.05 U5_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U5_AAAAAA(x15) 8.36/4.05 8.36/4.05 U6_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U6_AAAAAA(x15) 8.36/4.05 8.36/4.05 8.36/4.05 We have to consider all (P,R,Pi)-chains 8.36/4.05 ---------------------------------------- 8.36/4.05 8.36/4.05 (25) DependencyGraphProof (EQUIVALENT) 8.36/4.05 The approximation of the Dependency Graph [LOPSTR] contains 2 SCCs with 13 less nodes. 8.36/4.05 ---------------------------------------- 8.36/4.05 8.36/4.05 (26) 8.36/4.05 Complex Obligation (AND) 8.36/4.05 8.36/4.05 ---------------------------------------- 8.36/4.05 8.36/4.05 (27) 8.36/4.05 Obligation: 8.36/4.05 Pi DP problem: 8.36/4.05 The TRS P consists of the following rules: 8.36/4.05 8.36/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.49/4.05 U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> BALANCEA_IN_AAAAAAAAAA(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18) 8.49/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> BALANCEA_IN_AAAAAAAAAA(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22) 8.49/4.05 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) -> balancecA_out_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) 8.49/4.05 balancecA_in_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.49/4.05 U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.49/4.05 U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecA_out_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) 8.49/4.05 balancecC_in_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) -> balancecC_out_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) 8.49/4.05 balancecC_in_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) -> U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) 8.49/4.05 U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) -> U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.49/4.05 U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecC_out_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) 8.49/4.05 8.49/4.05 The argument filtering Pi contains the following mapping: 8.49/4.05 tree(x1, x2, x3) = tree(x1, x2, x3) 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_in_aaaaaaaaaa 8.49/4.05 8.49/4.05 balancecA_out_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_out_aaaaaaaaaa 8.49/4.05 8.49/4.05 U13_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U13_aaaaaaaaaa(x19) 8.49/4.05 8.49/4.05 U14_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U14_aaaaaaaaaa(x23) 8.49/4.05 8.49/4.05 balancecC_in_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_in_aaaaggagaaaaa(x5, x6, x8) 8.49/4.05 8.49/4.05 balancecC_out_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_out_aaaaggagaaaaa(x5, x6, x8) 8.49/4.05 8.49/4.05 U17_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U17_aaaaggagaaaaa(x7, x8, x9, x10, x12, x19) 8.49/4.05 8.49/4.05 U18_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U18_aaaaggagaaaaa(x7, x8, x9, x10, x12, x23) 8.49/4.05 8.49/4.05 BALANCEA_IN_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = BALANCEA_IN_AAAAAAAAAA 8.49/4.05 8.49/4.05 U2_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U2_AAAAAAAAAA(x19) 8.49/4.05 8.49/4.05 8.49/4.05 We have to consider all (P,R,Pi)-chains 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (28) UsableRulesProof (EQUIVALENT) 8.49/4.05 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (29) 8.49/4.05 Obligation: 8.49/4.05 Pi DP problem: 8.49/4.05 The TRS P consists of the following rules: 8.49/4.05 8.49/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.49/4.05 U2_AAAAAAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> BALANCEA_IN_AAAAAAAAAA(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18) 8.49/4.05 BALANCEA_IN_AAAAAAAAAA(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> BALANCEA_IN_AAAAAAAAAA(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22) 8.49/4.05 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) -> balancecA_out_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) 8.49/4.05 balancecA_in_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.49/4.05 U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.49/4.05 U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecA_out_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) 8.49/4.05 8.49/4.05 The argument filtering Pi contains the following mapping: 8.49/4.05 tree(x1, x2, x3) = tree(x1, x2, x3) 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_in_aaaaaaaaaa 8.49/4.05 8.49/4.05 balancecA_out_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_out_aaaaaaaaaa 8.49/4.05 8.49/4.05 U13_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U13_aaaaaaaaaa(x19) 8.49/4.05 8.49/4.05 U14_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U14_aaaaaaaaaa(x23) 8.49/4.05 8.49/4.05 BALANCEA_IN_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = BALANCEA_IN_AAAAAAAAAA 8.49/4.05 8.49/4.05 U2_AAAAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U2_AAAAAAAAAA(x19) 8.49/4.05 8.49/4.05 8.49/4.05 We have to consider all (P,R,Pi)-chains 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (30) PiDPToQDPProof (SOUND) 8.49/4.05 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (31) 8.49/4.05 Obligation: 8.49/4.05 Q DP problem: 8.49/4.05 The TRS P consists of the following rules: 8.49/4.05 8.49/4.05 BALANCEA_IN_AAAAAAAAAA -> U2_AAAAAAAAAA(balancecA_in_aaaaaaaaaa) 8.49/4.05 U2_AAAAAAAAAA(balancecA_out_aaaaaaaaaa) -> BALANCEA_IN_AAAAAAAAAA 8.49/4.05 BALANCEA_IN_AAAAAAAAAA -> BALANCEA_IN_AAAAAAAAAA 8.49/4.05 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa -> balancecA_out_aaaaaaaaaa 8.49/4.05 balancecA_in_aaaaaaaaaa -> U13_aaaaaaaaaa(balancecA_in_aaaaaaaaaa) 8.49/4.05 U13_aaaaaaaaaa(balancecA_out_aaaaaaaaaa) -> U14_aaaaaaaaaa(balancecA_in_aaaaaaaaaa) 8.49/4.05 U14_aaaaaaaaaa(balancecA_out_aaaaaaaaaa) -> balancecA_out_aaaaaaaaaa 8.49/4.05 8.49/4.05 The set Q consists of the following terms: 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa 8.49/4.05 U13_aaaaaaaaaa(x0) 8.49/4.05 U14_aaaaaaaaaa(x0) 8.49/4.05 8.49/4.05 We have to consider all (P,Q,R)-chains. 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (32) 8.49/4.05 Obligation: 8.49/4.05 Pi DP problem: 8.49/4.05 The TRS P consists of the following rules: 8.49/4.05 8.49/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_in_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) 8.49/4.05 U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_out_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) -> BALANCEB_IN_AAAAAA(X3, X15, X16, X17, X13, X18) 8.49/4.05 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) -> balancecA_out_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) 8.49/4.05 balancecA_in_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.49/4.05 U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.49/4.05 U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecA_out_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) 8.49/4.05 balancecC_in_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) -> balancecC_out_aaaaggagaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X5, X6, X7, .(','(X3, -(.(X1, X2), .(X4, X5))), .(','(X6, -(X5, [])), X7)), X7, .(','(nil, -(X8, X8)), X9), X9) 8.49/4.05 balancecC_in_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) -> U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) 8.49/4.05 U17_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, .(','(X12, -(X11, [])), .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14))), X14, X20, X21, X17, X22)) -> U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.49/4.05 U18_aaaaggagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecC_out_aaaaggagaaaaa(tree(X1, X2, X3), X4, X5, X6, tree(X7, X8, X9), X10, X11, X12, .(','(X7, -(X4, .(X8, X13))), .(','(X9, -(X13, .(X10, X11))), X14)), X15, X16, X17, X18) 8.49/4.05 8.49/4.05 The argument filtering Pi contains the following mapping: 8.49/4.05 tree(x1, x2, x3) = tree(x1, x2, x3) 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_in_aaaaaaaaaa 8.49/4.05 8.49/4.05 balancecA_out_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_out_aaaaaaaaaa 8.49/4.05 8.49/4.05 U13_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U13_aaaaaaaaaa(x19) 8.49/4.05 8.49/4.05 U14_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U14_aaaaaaaaaa(x23) 8.49/4.05 8.49/4.05 balancecC_in_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_in_aaaaggagaaaaa(x5, x6, x8) 8.49/4.05 8.49/4.05 balancecC_out_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) = balancecC_out_aaaaggagaaaaa(x5, x6, x8) 8.49/4.05 8.49/4.05 U17_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U17_aaaaggagaaaaa(x7, x8, x9, x10, x12, x19) 8.49/4.05 8.49/4.05 U18_aaaaggagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U18_aaaaggagaaaaa(x7, x8, x9, x10, x12, x23) 8.49/4.05 8.49/4.05 BALANCEB_IN_AAAAAA(x1, x2, x3, x4, x5, x6) = BALANCEB_IN_AAAAAA 8.49/4.05 8.49/4.05 U5_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U5_AAAAAA(x15) 8.49/4.05 8.49/4.05 8.49/4.05 We have to consider all (P,R,Pi)-chains 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (33) UsableRulesProof (EQUIVALENT) 8.49/4.05 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (34) 8.49/4.05 Obligation: 8.49/4.05 Pi DP problem: 8.49/4.05 The TRS P consists of the following rules: 8.49/4.05 8.49/4.05 BALANCEB_IN_AAAAAA(tree(X1, X2, X3), X4, .(','(tree(X5, X6, X7), -(X8, X9)), X10), .(','(X5, -(X8, .(X6, X11))), .(','(X7, -(X11, X9)), X12)), X13, X14) -> U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_in_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) 8.49/4.05 U5_AAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, balancecA_out_aaaaaaaaaa(X1, X4, X2, X15, X10, X12, X16, X17, X14, X18)) -> BALANCEB_IN_AAAAAA(X3, X15, X16, X17, X13, X18) 8.49/4.05 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) -> balancecA_out_aaaaaaaaaa(nil, .(X1, X2), X1, X2, X3, X4, X3, X4, .(','(nil, -(X5, X5)), X6), X6) 8.49/4.05 balancecA_in_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) -> U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_in_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) 8.49/4.05 U13_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, balancecA_out_aaaaaaaaaa(X1, X4, X2, X19, X12, X14, X20, X21, X17, X22)) -> U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_in_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) 8.49/4.05 U14_aaaaaaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, balancecA_out_aaaaaaaaaa(X3, X19, X5, X6, X20, X21, X15, X16, X22, X18)) -> balancecA_out_aaaaaaaaaa(tree(X1, X2, X3), X4, X5, X6, .(','(tree(X7, X8, X9), -(X10, X11)), X12), .(','(X7, -(X10, .(X8, X13))), .(','(X9, -(X13, X11)), X14)), X15, X16, X17, X18) 8.49/4.05 8.49/4.05 The argument filtering Pi contains the following mapping: 8.49/4.05 tree(x1, x2, x3) = tree(x1, x2, x3) 8.49/4.05 8.49/4.05 balancecA_in_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_in_aaaaaaaaaa 8.49/4.05 8.49/4.05 balancecA_out_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) = balancecA_out_aaaaaaaaaa 8.49/4.05 8.49/4.05 U13_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) = U13_aaaaaaaaaa(x19) 8.49/4.05 8.49/4.05 U14_aaaaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) = U14_aaaaaaaaaa(x23) 8.49/4.05 8.49/4.05 BALANCEB_IN_AAAAAA(x1, x2, x3, x4, x5, x6) = BALANCEB_IN_AAAAAA 8.49/4.05 8.49/4.05 U5_AAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) = U5_AAAAAA(x15) 8.49/4.05 8.49/4.05 8.49/4.05 We have to consider all (P,R,Pi)-chains 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (35) PrologToTRSTransformerProof (SOUND) 8.49/4.05 Transformed Prolog program to TRS. 8.49/4.05 8.49/4.05 { 8.49/4.05 "root": 4, 8.49/4.05 "program": { 8.49/4.05 "directives": [], 8.49/4.05 "clauses": [ 8.49/4.05 [ 8.49/4.05 "(balance T TB)", 8.49/4.05 "(balance T (- I ([])) (- (. (',' TB (- I ([]))) X) X) (- Rest ([])) (- Rest ([])))" 8.49/4.05 ], 8.49/4.05 [ 8.49/4.05 "(balance (nil) (- X X) (- A B) (- A B) (- (. (',' (nil) (- C C)) T) T))", 8.49/4.05 null 8.49/4.05 ], 8.49/4.05 [ 8.49/4.05 "(balance (tree L V R) (- IH IT) (- (. (',' (tree LB VB RB) (- A D)) H) (. (',' LB (- A (. VB X))) (. (',' RB (- X D)) T))) (- HR TR) (- NH NT))", 8.49/4.05 "(',' (balance L (- IH (. V IT1)) (- H T) (- HR1 TR1) (- NH NT1)) (balance R (- IT1 IT) (- HR1 TR1) (- HR TR) (- NT1 NT)))" 8.49/4.05 ] 8.49/4.05 ] 8.49/4.05 }, 8.49/4.05 "graph": { 8.49/4.05 "nodes": { 8.49/4.05 "25": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T11"], 8.49/4.05 "free": [ 8.49/4.05 "X24", 8.49/4.05 "X25", 8.49/4.05 "X26" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "28": { 8.49/4.05 "goal": [ 8.49/4.05 { 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 } 8.49/4.05 ], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T11"], 8.49/4.05 "free": [ 8.49/4.05 "X24", 8.49/4.05 "X25", 8.49/4.05 "X26" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "type": "Nodes", 8.49/4.05 "494": { 8.49/4.05 "goal": [ 8.49/4.05 { 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 5, 8.49/4.05 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 5, 8.49/4.05 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.05 } 8.49/4.05 ], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "374": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(',' (balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144)) (balance T43 (- X141 ([])) (- X142 X143) (- X149 ([])) (- X144 ([]))))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [ 8.49/4.05 "T35", 8.49/4.05 "T36", 8.49/4.05 "T37" 8.49/4.05 ], 8.49/4.05 "free": [ 8.49/4.05 "X149", 8.49/4.05 "X141", 8.49/4.05 "X142", 8.49/4.05 "X143", 8.49/4.05 "X144" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "396": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 3, 8.49/4.05 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [ 8.49/4.05 "T35", 8.49/4.05 "T36", 8.49/4.05 "T37" 8.49/4.05 ], 8.49/4.05 "free": [ 8.49/4.05 "X149", 8.49/4.05 "X141", 8.49/4.05 "X142", 8.49/4.05 "X143", 8.49/4.05 "X144" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "495": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 5, 8.49/4.05 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "375": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "397": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 3, 8.49/4.05 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [ 8.49/4.05 "T35", 8.49/4.05 "T36", 8.49/4.05 "T37" 8.49/4.05 ], 8.49/4.05 "free": [ 8.49/4.05 "X149", 8.49/4.05 "X141", 8.49/4.05 "X142", 8.49/4.05 "X143", 8.49/4.05 "X144" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "496": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 5, 8.49/4.05 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "497": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(true)" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "432": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T164 (- T165 (. T166 X278)) (- (. (',' T160 (- T168 ([]))) (. (',' T155 (- T165 (. T156 T169))) (. (',' T157 (- T169 (. T158 T168))) T167))) T167) (- X279 X280) (- X285 X281))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [ 8.49/4.05 "T155", 8.49/4.05 "T156", 8.49/4.05 "T157", 8.49/4.05 "T158", 8.49/4.05 "T160" 8.49/4.05 ], 8.49/4.05 "free": [ 8.49/4.05 "X285", 8.49/4.05 "X278", 8.49/4.05 "X279", 8.49/4.05 "X280", 8.49/4.05 "X281" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "498": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "433": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X282", 8.49/4.05 "X283", 8.49/4.05 "X284", 8.49/4.05 "X286" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "499": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "439": { 8.49/4.05 "goal": [ 8.49/4.05 { 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 4, 8.49/4.05 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 4, 8.49/4.05 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.05 } 8.49/4.05 ], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X282", 8.49/4.05 "X283", 8.49/4.05 "X284", 8.49/4.05 "X286" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "419": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(',' (balance T164 (- T165 (. T166 X278)) (- (. (',' T160 (- T168 ([]))) (. (',' T155 (- T165 (. T156 T169))) (. (',' T157 (- T169 (. T158 T168))) T167))) T167) (- X279 X280) (- X285 X281)) (balance T170 (- X278 (. T171 X282)) (- X279 X280) (- X283 X284) (- X281 X286)))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [ 8.49/4.05 "T155", 8.49/4.05 "T156", 8.49/4.05 "T157", 8.49/4.05 "T158", 8.49/4.05 "T160" 8.49/4.05 ], 8.49/4.05 "free": [ 8.49/4.05 "X282", 8.49/4.05 "X283", 8.49/4.05 "X284", 8.49/4.05 "X285", 8.49/4.05 "X286", 8.49/4.05 "X278", 8.49/4.05 "X279", 8.49/4.05 "X280", 8.49/4.05 "X281" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "36": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T11"], 8.49/4.05 "free": [ 8.49/4.05 "X24", 8.49/4.05 "X25", 8.49/4.05 "X26" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "38": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T11"], 8.49/4.05 "free": [ 8.49/4.05 "X24", 8.49/4.05 "X25", 8.49/4.05 "X26" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "380": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [ 8.49/4.05 "T35", 8.49/4.05 "T36", 8.49/4.05 "T37" 8.49/4.05 ], 8.49/4.05 "free": [ 8.49/4.05 "X149", 8.49/4.05 "X141", 8.49/4.05 "X142", 8.49/4.05 "X143", 8.49/4.05 "X144" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "381": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "162": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(true)" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "184": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "482": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T314 (- T315 (. T316 X413)) (- T317 T318) (- X414 X415) (- T319 X416))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X413", 8.49/4.05 "X414", 8.49/4.05 "X415", 8.49/4.05 "X416" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "186": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "483": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T340 (- T336 (. T341 X417)) (- T337 T338) (- X418 X419) (- T339 X420))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X417", 8.49/4.05 "X418", 8.49/4.05 "X419", 8.49/4.05 "X420" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "440": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 4, 8.49/4.05 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X282", 8.49/4.05 "X283", 8.49/4.05 "X284", 8.49/4.05 "X286" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "386": { 8.49/4.05 "goal": [ 8.49/4.05 { 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 3, 8.49/4.05 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 3, 8.49/4.05 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.05 } 8.49/4.05 ], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [ 8.49/4.05 "T35", 8.49/4.05 "T36", 8.49/4.05 "T37" 8.49/4.05 ], 8.49/4.05 "free": [ 8.49/4.05 "X149", 8.49/4.05 "X141", 8.49/4.05 "X142", 8.49/4.05 "X143", 8.49/4.05 "X144" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "441": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 4, 8.49/4.05 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X282", 8.49/4.05 "X283", 8.49/4.05 "X284", 8.49/4.05 "X286" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "463": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(',' (balance T314 (- T315 (. T316 X413)) (- T317 T318) (- X414 X415) (- T319 X416)) (balance T320 (- X413 (. T321 X417)) (- X414 X415) (- X418 X419) (- X416 X420)))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X417", 8.49/4.05 "X418", 8.49/4.05 "X419", 8.49/4.05 "X420", 8.49/4.05 "X413", 8.49/4.05 "X414", 8.49/4.05 "X415", 8.49/4.05 "X416" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "420": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "464": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "443": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(true)" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "4": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T1 T2)" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T2"], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "444": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "5": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 0, 8.49/4.05 "scope": 1, 8.49/4.05 "term": "(balance T1 T2)" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T2"], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "445": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "404": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(true)" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "405": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "504": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(',' (balance T447 (- T448 (. T449 X541)) (- T450 T451) (- X542 X543) (- T452 X544)) (balance T453 (- X541 ([])) (- X542 X543) (- T454 ([])) (- X544 ([]))))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X541", 8.49/4.05 "X542", 8.49/4.05 "X543", 8.49/4.05 "X544" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "406": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "505": { 8.49/4.05 "goal": [], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "506": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T447 (- T448 (. T449 X541)) (- T450 T451) (- X542 X543) (- T452 X544))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [ 8.49/4.05 "X541", 8.49/4.05 "X542", 8.49/4.05 "X543", 8.49/4.05 "X544" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "507": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": -1, 8.49/4.05 "scope": -1, 8.49/4.05 "term": "(balance T473 (- T469 ([])) (- T470 T471) (- T474 ([])) (- T472 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": [], 8.49/4.05 "free": [], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "edges": [ 8.49/4.05 { 8.49/4.05 "from": 4, 8.49/4.05 "to": 5, 8.49/4.05 "label": "CASE" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 5, 8.49/4.05 "to": 25, 8.49/4.05 "label": "ONLY EVAL with clause\nbalance(X22, X23) :- balance(X22, -(X24, []), -(.(','(X23, -(X24, [])), X25), X25), -(X26, []), -(X26, [])).\nand substitutionT1 -> T12,\nX22 -> T12,\nT2 -> T11,\nX23 -> T11,\nT10 -> T12" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 25, 8.49/4.05 "to": 28, 8.49/4.05 "label": "CASE" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 28, 8.49/4.05 "to": 36, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 28, 8.49/4.05 "to": 38, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 36, 8.49/4.05 "to": 162, 8.49/4.05 "label": "EVAL with clause\nbalance(nil, -(X69, X69), -(X70, X71), -(X70, X71), -(.(','(nil, -(X72, X72)), X73), X73)).\nand substitutionT12 -> nil,\nX24 -> [],\nX69 -> [],\nX74 -> [],\nT11 -> nil,\nX25 -> [],\nX70 -> .(','(nil, -([], [])), []),\nX71 -> [],\nX26 -> .(','(nil, -([], [])), []),\nX75 -> [],\nT19 -> nil,\nX72 -> [],\nX73 -> []" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 36, 8.49/4.05 "to": 184, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 38, 8.49/4.05 "to": 374, 8.49/4.05 "label": "EVAL with clause\nbalance(tree(X124, X125, X126), -(X127, X128), -(.(','(tree(X129, X130, X131), -(X132, X133)), X134), .(','(X129, -(X132, .(X130, X135))), .(','(X131, -(X135, X133)), X136))), -(X137, X138), -(X139, X140)) :- ','(balance(X124, -(X127, .(X125, X141)), -(X134, X136), -(X142, X143), -(X139, X144)), balance(X126, -(X141, X128), -(X142, X143), -(X137, X138), -(X144, X140))).\nand substitutionX124 -> T38,\nX125 -> T40,\nX126 -> T43,\nT12 -> tree(T38, T40, T43),\nX24 -> T39,\nX127 -> T39,\nX128 -> [],\nX129 -> T35,\nX130 -> T36,\nX131 -> T37,\nT11 -> tree(T35, T36, T37),\nX132 -> T39,\nX133 -> [],\nX25 -> .(','(T35, -(T39, .(T36, T42))), .(','(T37, -(T42, [])), T41)),\nX134 -> .(','(T35, -(T39, .(T36, T42))), .(','(T37, -(T42, [])), T41)),\nX135 -> T42,\nX136 -> T41,\nX146 -> .(','(T35, -(T39, .(T36, T42))), .(','(T37, -(T42, [])), T41)),\nX26 -> X149,\nX137 -> X149,\nX138 -> [],\nX139 -> X149,\nX140 -> [],\nT32 -> T38,\nX145 -> T39,\nT33 -> T40,\nX148 -> T41,\nX147 -> T42,\nT34 -> T43" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 38, 8.49/4.05 "to": 375, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 162, 8.49/4.05 "to": 186, 8.49/4.05 "label": "SUCCESS" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 374, 8.49/4.05 "to": 380, 8.49/4.05 "label": "SPLIT 1" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 374, 8.49/4.05 "to": 381, 8.49/4.05 "label": "SPLIT 2\nreplacements:X141 -> T60,\nX142 -> T61,\nX143 -> T62,\nX149 -> T63,\nX144 -> T64,\nT43 -> T65" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 380, 8.49/4.05 "to": 386, 8.49/4.05 "label": "CASE" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 381, 8.49/4.05 "to": 494, 8.49/4.05 "label": "CASE" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 386, 8.49/4.05 "to": 396, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 386, 8.49/4.05 "to": 397, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 396, 8.49/4.05 "to": 404, 8.49/4.05 "label": "EVAL with clause\nbalance(nil, -(X206, X206), -(X207, X208), -(X207, X208), -(.(','(nil, -(X209, X209)), X210), X210)).\nand substitutionT38 -> nil,\nT39 -> .(T115, T116),\nX206 -> .(T115, T116),\nT40 -> T115,\nX141 -> T116,\nT114 -> .(T115, T116),\nT35 -> T117,\nT36 -> T118,\nT42 -> T119,\nT37 -> T120,\nT41 -> T121,\nX207 -> .(','(T117, -(.(T115, T116), .(T118, T119))), .(','(T120, -(T119, [])), T121)),\nX208 -> T121,\nX142 -> .(','(T117, -(.(T115, T116), .(T118, T119))), .(','(T120, -(T119, [])), T121)),\nX143 -> T121,\nX209 -> X211,\nX210 -> X212,\nX149 -> .(','(nil, -(X211, X211)), X212),\nX144 -> X212" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 396, 8.49/4.05 "to": 405, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 397, 8.49/4.05 "to": 419, 8.49/4.05 "label": "EVAL with clause\nbalance(tree(X261, X262, X263), -(X264, X265), -(.(','(tree(X266, X267, X268), -(X269, X270)), X271), .(','(X266, -(X269, .(X267, X272))), .(','(X268, -(X272, X270)), X273))), -(X274, X275), -(X276, X277)) :- ','(balance(X261, -(X264, .(X262, X278)), -(X271, X273), -(X279, X280), -(X276, X281)), balance(X263, -(X278, X265), -(X279, X280), -(X274, X275), -(X281, X277))).\nand substitutionX261 -> T164,\nX262 -> T166,\nX263 -> T170,\nT38 -> tree(T164, T166, T170),\nT39 -> T165,\nX264 -> T165,\nT40 -> T171,\nX141 -> X282,\nX265 -> .(T171, X282),\nX266 -> T155,\nX267 -> T156,\nX268 -> T157,\nT35 -> tree(T155, T156, T157),\nX269 -> T165,\nT36 -> T158,\nT42 -> T168,\nX270 -> .(T158, T168),\nT37 -> T160,\nT41 -> .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167)),\nX271 -> .(','(T160, -(T168, [])), .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167))),\nX272 -> T169,\nX273 -> T167,\nT161 -> .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167)),\nX142 -> X283,\nX274 -> X283,\nX143 -> X284,\nX275 -> X284,\nX149 -> X285,\nX276 -> X285,\nX144 -> X286,\nX277 -> X286,\nT150 -> T164,\nT153 -> T165,\nT151 -> T166,\nT163 -> T167,\nT159 -> T168,\nT162 -> T169,\nT152 -> T170,\nT154 -> T171" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 397, 8.49/4.05 "to": 420, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 404, 8.49/4.05 "to": 406, 8.49/4.05 "label": "SUCCESS" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 419, 8.49/4.05 "to": 432, 8.49/4.05 "label": "SPLIT 1" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 419, 8.49/4.05 "to": 433, 8.49/4.05 "label": "SPLIT 2\nreplacements:X278 -> T194,\nX279 -> T195,\nX280 -> T196,\nX285 -> T197,\nX281 -> T198,\nT170 -> T199,\nT171 -> T200" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 432, 8.49/4.05 "to": 433, 8.49/4.05 "label": "INSTANCE with matching:\nT199 -> T164\nT194 -> T165\nT200 -> T166\nX282 -> X278\nT195 -> .(','(T160, -(T168, [])), .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167)))\nT196 -> T167\nX283 -> X279\nX284 -> X280\nT198 -> X285\nX286 -> X281" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 433, 8.49/4.05 "to": 439, 8.49/4.05 "label": "CASE" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 439, 8.49/4.05 "to": 440, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 439, 8.49/4.05 "to": 441, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 440, 8.49/4.05 "to": 443, 8.49/4.05 "label": "EVAL with clause\nbalance(nil, -(X345, X345), -(X346, X347), -(X346, X347), -(.(','(nil, -(X348, X348)), X349), X349)).\nand substitutionT199 -> nil,\nT194 -> .(T266, T267),\nX345 -> .(T266, T267),\nT200 -> T266,\nX282 -> T267,\nT265 -> .(T266, T267),\nT195 -> T268,\nX346 -> T268,\nT196 -> T269,\nX347 -> T269,\nX283 -> T268,\nX284 -> T269,\nX348 -> T270,\nX349 -> T271,\nT198 -> .(','(nil, -(T270, T270)), T271),\nX286 -> T271" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 440, 8.49/4.05 "to": 444, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 441, 8.49/4.05 "to": 463, 8.49/4.05 "label": "EVAL with clause\nbalance(tree(X396, X397, X398), -(X399, X400), -(.(','(tree(X401, X402, X403), -(X404, X405)), X406), .(','(X401, -(X404, .(X402, X407))), .(','(X403, -(X407, X405)), X408))), -(X409, X410), -(X411, X412)) :- ','(balance(X396, -(X399, .(X397, X413)), -(X406, X408), -(X414, X415), -(X411, X416)), balance(X398, -(X413, X400), -(X414, X415), -(X409, X410), -(X416, X412))).\nand substitutionX396 -> T314,\nX397 -> T316,\nX398 -> T320,\nT199 -> tree(T314, T316, T320),\nT194 -> T315,\nX399 -> T315,\nT200 -> T321,\nX282 -> X417,\nX400 -> .(T321, X417),\nX401 -> T305,\nX402 -> T306,\nX403 -> T307,\nX404 -> T308,\nX405 -> T309,\nX406 -> T317,\nT195 -> .(','(tree(T305, T306, T307), -(T308, T309)), T317),\nX407 -> T311,\nX408 -> T318,\nT196 -> .(','(T305, -(T308, .(T306, T311))), .(','(T307, -(T311, T309)), T318)),\nX283 -> X418,\nX409 -> X418,\nX284 -> X419,\nX410 -> X419,\nT198 -> T319,\nX411 -> T319,\nX286 -> X420,\nX412 -> X420,\nT300 -> T314,\nT303 -> T315,\nT301 -> T316,\nT310 -> T317,\nT312 -> T318,\nT313 -> T319,\nT302 -> T320,\nT304 -> T321" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 441, 8.49/4.05 "to": 464, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 443, 8.49/4.05 "to": 445, 8.49/4.05 "label": "SUCCESS" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 463, 8.49/4.05 "to": 482, 8.49/4.05 "label": "SPLIT 1" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 463, 8.49/4.05 "to": 483, 8.49/4.05 "label": "SPLIT 2\nreplacements:X413 -> T336,\nX414 -> T337,\nX415 -> T338,\nX416 -> T339,\nT320 -> T340,\nT321 -> T341" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 482, 8.49/4.05 "to": 433, 8.49/4.05 "label": "INSTANCE with matching:\nT199 -> T314\nT194 -> T315\nT200 -> T316\nX282 -> X413\nT195 -> T317\nT196 -> T318\nX283 -> X414\nX284 -> X415\nT198 -> T319\nX286 -> X416" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 483, 8.49/4.05 "to": 433, 8.49/4.05 "label": "INSTANCE with matching:\nT199 -> T340\nT194 -> T336\nT200 -> T341\nX282 -> X417\nT195 -> T337\nT196 -> T338\nX283 -> X418\nX284 -> X419\nT198 -> T339\nX286 -> X420" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 494, 8.49/4.05 "to": 495, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 494, 8.49/4.05 "to": 496, 8.49/4.05 "label": "PARALLEL" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 495, 8.49/4.05 "to": 497, 8.49/4.05 "label": "EVAL with clause\nbalance(nil, -(X481, X481), -(X482, X483), -(X482, X483), -(.(','(nil, -(X484, X484)), X485), X485)).\nand substitutionT65 -> nil,\nT60 -> [],\nX481 -> [],\nT400 -> [],\nT61 -> T401,\nX482 -> T401,\nT62 -> [],\nX483 -> [],\nT63 -> T401,\nT402 -> [],\nX484 -> T403,\nX485 -> [],\nT64 -> .(','(nil, -(T403, T403)), []),\nT404 -> []" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 495, 8.49/4.05 "to": 498, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 496, 8.49/4.05 "to": 504, 8.49/4.05 "label": "EVAL with clause\nbalance(tree(X524, X525, X526), -(X527, X528), -(.(','(tree(X529, X530, X531), -(X532, X533)), X534), .(','(X529, -(X532, .(X530, X535))), .(','(X531, -(X535, X533)), X536))), -(X537, X538), -(X539, X540)) :- ','(balance(X524, -(X527, .(X525, X541)), -(X534, X536), -(X542, X543), -(X539, X544)), balance(X526, -(X541, X528), -(X542, X543), -(X537, X538), -(X544, X540))).\nand substitutionX524 -> T447,\nX525 -> T449,\nX526 -> T453,\nT65 -> tree(T447, T449, T453),\nT60 -> T448,\nX527 -> T448,\nX528 -> [],\nX529 -> T437,\nX530 -> T438,\nX531 -> T439,\nX532 -> T440,\nX533 -> T441,\nX534 -> T450,\nT61 -> .(','(tree(T437, T438, T439), -(T440, T441)), T450),\nX535 -> T443,\nX536 -> T451,\nT62 -> .(','(T437, -(T440, .(T438, T443))), .(','(T439, -(T443, T441)), T451)),\nT63 -> T454,\nX537 -> T454,\nX538 -> [],\nT64 -> T452,\nX539 -> T452,\nX540 -> [],\nT433 -> T447,\nT436 -> T448,\nT434 -> T449,\nT442 -> T450,\nT444 -> T451,\nT446 -> T452,\nT435 -> T453,\nT445 -> T454" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 496, 8.49/4.05 "to": 505, 8.49/4.05 "label": "EVAL-BACKTRACK" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 497, 8.49/4.05 "to": 499, 8.49/4.05 "label": "SUCCESS" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 504, 8.49/4.05 "to": 506, 8.49/4.05 "label": "SPLIT 1" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 504, 8.49/4.05 "to": 507, 8.49/4.05 "label": "SPLIT 2\nreplacements:X541 -> T469,\nX542 -> T470,\nX543 -> T471,\nX544 -> T472,\nT453 -> T473,\nT454 -> T474" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 506, 8.49/4.05 "to": 433, 8.49/4.05 "label": "INSTANCE with matching:\nT199 -> T447\nT194 -> T448\nT200 -> T449\nX282 -> X541\nT195 -> T450\nT196 -> T451\nX283 -> X542\nX284 -> X543\nT198 -> T452\nX286 -> X544" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "from": 507, 8.49/4.05 "to": 381, 8.49/4.05 "label": "INSTANCE with matching:\nT65 -> T473\nT60 -> T469\nT61 -> T470\nT62 -> T471\nT63 -> T474\nT64 -> T472" 8.49/4.05 } 8.49/4.05 ], 8.49/4.05 "type": "Graph" 8.49/4.05 } 8.49/4.05 } 8.49/4.05 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (36) 8.49/4.05 Obligation: 8.49/4.05 Q restricted rewrite system: 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 f4_in(nil) -> f4_out1 8.49/4.05 f4_in(tree(T35, T36, T37)) -> U1(f374_in(T35, T36, T37), tree(T35, T36, T37)) 8.49/4.05 U1(f374_out1, tree(T35, T36, T37)) -> f4_out1 8.49/4.05 f433_in -> f433_out1 8.49/4.05 f433_in -> U2(f463_in) 8.49/4.05 U2(f463_out1) -> f433_out1 8.49/4.05 f381_in -> f381_out1 8.49/4.05 f381_in -> U3(f504_in) 8.49/4.05 U3(f504_out1) -> f381_out1 8.49/4.05 f380_in(T117, T118, T120) -> f380_out1 8.49/4.05 f380_in(tree(T155, T156, T157), T158, T160) -> U4(f419_in(T160, T155, T156, T157, T158), tree(T155, T156, T157), T158, T160) 8.49/4.05 U4(f419_out1, tree(T155, T156, T157), T158, T160) -> f380_out1 8.49/4.05 f374_in(T35, T36, T37) -> U5(f380_in(T35, T36, T37), T35, T36, T37) 8.49/4.05 U5(f380_out1, T35, T36, T37) -> U6(f381_in, T35, T36, T37) 8.49/4.05 U6(f381_out1, T35, T36, T37) -> f374_out1 8.49/4.05 f419_in(T160, T155, T156, T157, T158) -> U7(f433_in, T160, T155, T156, T157, T158) 8.49/4.05 U7(f433_out1, T160, T155, T156, T157, T158) -> U8(f433_in, T160, T155, T156, T157, T158) 8.49/4.05 U8(f433_out1, T160, T155, T156, T157, T158) -> f419_out1 8.49/4.05 f463_in -> U9(f433_in) 8.49/4.05 U9(f433_out1) -> U10(f433_in) 8.49/4.05 U10(f433_out1) -> f463_out1 8.49/4.05 f504_in -> U11(f433_in) 8.49/4.05 U11(f433_out1) -> U12(f381_in) 8.49/4.05 U12(f381_out1) -> f504_out1 8.49/4.05 8.49/4.05 Q is empty. 8.49/4.05 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (37) QTRSRRRProof (EQUIVALENT) 8.49/4.05 Used ordering: 8.49/4.05 f4_in/1(YES) 8.49/4.05 nil/0) 8.49/4.05 f4_out1/0) 8.49/4.05 tree/3(YES,YES,YES) 8.49/4.05 U1/2(YES,YES) 8.49/4.05 f374_in/3(YES,YES,YES) 8.49/4.05 f374_out1/0) 8.49/4.05 f433_in/0) 8.49/4.05 f433_out1/0) 8.49/4.05 U2/1)YES( 8.49/4.05 f463_in/0) 8.49/4.05 f463_out1/0) 8.49/4.05 f381_in/0) 8.49/4.05 f381_out1/0) 8.49/4.05 U3/1)YES( 8.49/4.05 f504_in/0) 8.49/4.05 f504_out1/0) 8.49/4.05 f380_in/3(YES,YES,YES) 8.49/4.05 f380_out1/0) 8.49/4.05 U4/4(YES,YES,YES,YES) 8.49/4.05 f419_in/5(YES,YES,YES,YES,YES) 8.49/4.05 f419_out1/0) 8.49/4.05 U5/4(YES,YES,YES,YES) 8.49/4.05 U6/4(YES,YES,YES,YES) 8.49/4.05 U7/6(YES,YES,YES,YES,YES,YES) 8.49/4.05 U8/6(YES,YES,YES,YES,YES,YES) 8.49/4.05 U9/1)YES( 8.49/4.05 U10/1)YES( 8.49/4.05 U11/1)YES( 8.49/4.05 U12/1)YES( 8.49/4.05 8.49/4.05 Quasi precedence: 8.49/4.05 f4_in_1 > U1_2 > f4_out1 8.49/4.05 f4_in_1 > f374_in_3 > [f433_in, f433_out1, f463_in, f463_out1, f381_in, f504_in, f380_in_3, f419_in_5, U5_4] > tree_3 > f4_out1 8.49/4.05 f4_in_1 > f374_in_3 > [f433_in, f433_out1, f463_in, f463_out1, f381_in, f504_in, f380_in_3, f419_in_5, U5_4] > U4_4 > f380_out1 > U6_4 > [f374_out1, f381_out1, f504_out1] > f4_out1 8.49/4.05 f4_in_1 > f374_in_3 > [f433_in, f433_out1, f463_in, f463_out1, f381_in, f504_in, f380_in_3, f419_in_5, U5_4] > U7_6 > [f419_out1, U8_6] 8.49/4.05 nil > f4_out1 8.49/4.05 8.49/4.05 8.49/4.05 Status: 8.49/4.05 f4_in_1: multiset status 8.49/4.05 nil: multiset status 8.49/4.05 f4_out1: multiset status 8.49/4.05 tree_3: multiset status 8.49/4.05 U1_2: multiset status 8.49/4.05 f374_in_3: multiset status 8.49/4.05 f374_out1: multiset status 8.49/4.05 f433_in: multiset status 8.49/4.05 f433_out1: multiset status 8.49/4.05 f463_in: multiset status 8.49/4.05 f463_out1: multiset status 8.49/4.05 f381_in: multiset status 8.49/4.05 f381_out1: multiset status 8.49/4.05 f504_in: multiset status 8.49/4.05 f504_out1: multiset status 8.49/4.05 f380_in_3: multiset status 8.49/4.05 f380_out1: multiset status 8.49/4.05 U4_4: multiset status 8.49/4.05 f419_in_5: multiset status 8.49/4.05 f419_out1: multiset status 8.49/4.05 U5_4: multiset status 8.49/4.05 U6_4: multiset status 8.49/4.05 U7_6: multiset status 8.49/4.05 U8_6: [6,3,1,4,5,2] 8.49/4.05 8.49/4.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 8.49/4.05 8.49/4.05 f4_in(nil) -> f4_out1 8.49/4.05 f4_in(tree(T35, T36, T37)) -> U1(f374_in(T35, T36, T37), tree(T35, T36, T37)) 8.49/4.05 U1(f374_out1, tree(T35, T36, T37)) -> f4_out1 8.49/4.05 f381_in -> f381_out1 8.49/4.05 f380_in(T117, T118, T120) -> f380_out1 8.49/4.05 f380_in(tree(T155, T156, T157), T158, T160) -> U4(f419_in(T160, T155, T156, T157, T158), tree(T155, T156, T157), T158, T160) 8.49/4.05 U4(f419_out1, tree(T155, T156, T157), T158, T160) -> f380_out1 8.49/4.05 f374_in(T35, T36, T37) -> U5(f380_in(T35, T36, T37), T35, T36, T37) 8.49/4.05 U5(f380_out1, T35, T36, T37) -> U6(f381_in, T35, T36, T37) 8.49/4.05 U6(f381_out1, T35, T36, T37) -> f374_out1 8.49/4.05 f419_in(T160, T155, T156, T157, T158) -> U7(f433_in, T160, T155, T156, T157, T158) 8.49/4.05 U7(f433_out1, T160, T155, T156, T157, T158) -> U8(f433_in, T160, T155, T156, T157, T158) 8.49/4.05 U8(f433_out1, T160, T155, T156, T157, T158) -> f419_out1 8.49/4.05 8.49/4.05 8.49/4.05 8.49/4.05 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (38) 8.49/4.05 Obligation: 8.49/4.05 Q restricted rewrite system: 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 f433_in -> f433_out1 8.49/4.05 f433_in -> U2(f463_in) 8.49/4.05 U2(f463_out1) -> f433_out1 8.49/4.05 f381_in -> U3(f504_in) 8.49/4.05 U3(f504_out1) -> f381_out1 8.49/4.05 f463_in -> U9(f433_in) 8.49/4.05 U9(f433_out1) -> U10(f433_in) 8.49/4.05 U10(f433_out1) -> f463_out1 8.49/4.05 f504_in -> U11(f433_in) 8.49/4.05 U11(f433_out1) -> U12(f381_in) 8.49/4.05 U12(f381_out1) -> f504_out1 8.49/4.05 8.49/4.05 Q is empty. 8.49/4.05 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (39) QTRSRRRProof (EQUIVALENT) 8.49/4.05 Used ordering: 8.49/4.05 Polynomial interpretation [POLO]: 8.49/4.05 8.49/4.05 POL(U10(x_1)) = x_1 8.49/4.05 POL(U11(x_1)) = 2*x_1 8.49/4.05 POL(U12(x_1)) = 2*x_1 8.49/4.05 POL(U2(x_1)) = 2*x_1 8.49/4.05 POL(U3(x_1)) = 2*x_1 8.49/4.05 POL(U9(x_1)) = x_1 8.49/4.05 POL(f381_in) = 0 8.49/4.05 POL(f381_out1) = 2 8.49/4.05 POL(f433_in) = 0 8.49/4.05 POL(f433_out1) = 0 8.49/4.05 POL(f463_in) = 0 8.49/4.05 POL(f463_out1) = 0 8.49/4.05 POL(f504_in) = 0 8.49/4.05 POL(f504_out1) = 2 8.49/4.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 8.49/4.05 8.49/4.05 U3(f504_out1) -> f381_out1 8.49/4.05 U12(f381_out1) -> f504_out1 8.49/4.05 8.49/4.05 8.49/4.05 8.49/4.05 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (40) 8.49/4.05 Obligation: 8.49/4.05 Q restricted rewrite system: 8.49/4.05 The TRS R consists of the following rules: 8.49/4.05 8.49/4.05 f433_in -> f433_out1 8.49/4.05 f433_in -> U2(f463_in) 8.49/4.05 U2(f463_out1) -> f433_out1 8.49/4.05 f381_in -> U3(f504_in) 8.49/4.05 f463_in -> U9(f433_in) 8.49/4.05 U9(f433_out1) -> U10(f433_in) 8.49/4.05 U10(f433_out1) -> f463_out1 8.49/4.05 f504_in -> U11(f433_in) 8.49/4.05 U11(f433_out1) -> U12(f381_in) 8.49/4.05 8.49/4.05 Q is empty. 8.49/4.05 8.49/4.05 ---------------------------------------- 8.49/4.05 8.49/4.05 (41) PrologToIRSwTTransformerProof (SOUND) 8.49/4.05 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 8.49/4.05 8.49/4.05 { 8.49/4.05 "root": 2, 8.49/4.05 "program": { 8.49/4.05 "directives": [], 8.49/4.05 "clauses": [ 8.49/4.05 [ 8.49/4.05 "(balance T TB)", 8.49/4.05 "(balance T (- I ([])) (- (. (',' TB (- I ([]))) X) X) (- Rest ([])) (- Rest ([])))" 8.49/4.05 ], 8.49/4.05 [ 8.49/4.05 "(balance (nil) (- X X) (- A B) (- A B) (- (. (',' (nil) (- C C)) T) T))", 8.49/4.05 null 8.49/4.05 ], 8.49/4.05 [ 8.49/4.05 "(balance (tree L V R) (- IH IT) (- (. (',' (tree LB VB RB) (- A D)) H) (. (',' LB (- A (. VB X))) (. (',' RB (- X D)) T))) (- HR TR) (- NH NT))", 8.49/4.05 "(',' (balance L (- IH (. V IT1)) (- H T) (- HR1 TR1) (- NH NT1)) (balance R (- IT1 IT) (- HR1 TR1) (- HR TR) (- NT1 NT)))" 8.49/4.05 ] 8.49/4.05 ] 8.49/4.05 }, 8.49/4.05 "graph": { 8.49/4.05 "nodes": { 8.49/4.05 "24": { 8.49/4.05 "goal": [ 8.49/4.05 { 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 }, 8.49/4.05 { 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 } 8.49/4.05 ], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T11"], 8.49/4.05 "free": [ 8.49/4.05 "X24", 8.49/4.05 "X25", 8.49/4.05 "X26" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "26": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 1, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.05 "type": "PlainIntegerRelationState", 8.49/4.05 "relations": [] 8.49/4.05 }, 8.49/4.05 "ground": ["T11"], 8.49/4.05 "free": [ 8.49/4.05 "X24", 8.49/4.05 "X25", 8.49/4.05 "X26" 8.49/4.05 ], 8.49/4.05 "exprvars": [] 8.49/4.05 } 8.49/4.05 }, 8.49/4.05 "27": { 8.49/4.05 "goal": [{ 8.49/4.05 "clause": 2, 8.49/4.05 "scope": 2, 8.49/4.05 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.05 }], 8.49/4.05 "kb": { 8.49/4.05 "nonunifying": [], 8.49/4.05 "intvars": {}, 8.49/4.05 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": ["T11"], 8.49/4.06 "free": [ 8.49/4.06 "X24", 8.49/4.06 "X25", 8.49/4.06 "X26" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "390": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": 2, 8.49/4.06 "scope": 3, 8.49/4.06 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [ 8.49/4.06 "T35", 8.49/4.06 "T36", 8.49/4.06 "T37" 8.49/4.06 ], 8.49/4.06 "free": [ 8.49/4.06 "X149", 8.49/4.06 "X141", 8.49/4.06 "X142", 8.49/4.06 "X143", 8.49/4.06 "X144" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "490": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "type": "Nodes", 8.49/4.06 "370": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "491": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "430": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": 1, 8.49/4.06 "scope": 4, 8.49/4.06 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X282", 8.49/4.06 "X283", 8.49/4.06 "X284", 8.49/4.06 "X286" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "376": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(',' (balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144)) (balance T43 (- X141 ([])) (- X142 X143) (- X149 ([])) (- X144 ([]))))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [ 8.49/4.06 "T35", 8.49/4.06 "T36", 8.49/4.06 "T37" 8.49/4.06 ], 8.49/4.06 "free": [ 8.49/4.06 "X149", 8.49/4.06 "X141", 8.49/4.06 "X142", 8.49/4.06 "X143", 8.49/4.06 "X144" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "431": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": 2, 8.49/4.06 "scope": 4, 8.49/4.06 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X282", 8.49/4.06 "X283", 8.49/4.06 "X284", 8.49/4.06 "X286" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "377": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "477": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T314 (- T315 (. T316 X413)) (- T317 T318) (- X414 X415) (- T319 X416))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X413", 8.49/4.06 "X414", 8.49/4.06 "X415", 8.49/4.06 "X416" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "434": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(true)" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "478": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T340 (- T336 (. T341 X417)) (- T337 T338) (- X418 X419) (- T339 X420))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X417", 8.49/4.06 "X418", 8.49/4.06 "X419", 8.49/4.06 "X420" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "413": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(true)" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "435": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "414": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "415": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "416": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(',' (balance T164 (- T165 (. T166 X278)) (- (. (',' T160 (- T168 ([]))) (. (',' T155 (- T165 (. T156 T169))) (. (',' T157 (- T169 (. T158 T168))) T167))) T167) (- X279 X280) (- X285 X281)) (balance T170 (- X278 (. T171 X282)) (- X279 X280) (- X283 X284) (- X281 X286)))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [ 8.49/4.06 "T155", 8.49/4.06 "T156", 8.49/4.06 "T157", 8.49/4.06 "T158", 8.49/4.06 "T160" 8.49/4.06 ], 8.49/4.06 "free": [ 8.49/4.06 "X282", 8.49/4.06 "X283", 8.49/4.06 "X284", 8.49/4.06 "X285", 8.49/4.06 "X286", 8.49/4.06 "X278", 8.49/4.06 "X279", 8.49/4.06 "X280", 8.49/4.06 "X281" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "417": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "16": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T12 (- X24 ([])) (- (. (',' T11 (- X24 ([]))) X25) X25) (- X26 ([])) (- X26 ([])))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": ["T11"], 8.49/4.06 "free": [ 8.49/4.06 "X24", 8.49/4.06 "X25", 8.49/4.06 "X26" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "382": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [ 8.49/4.06 "T35", 8.49/4.06 "T36", 8.49/4.06 "T37" 8.49/4.06 ], 8.49/4.06 "free": [ 8.49/4.06 "X149", 8.49/4.06 "X141", 8.49/4.06 "X142", 8.49/4.06 "X143", 8.49/4.06 "X144" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "383": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "484": { 8.49/4.06 "goal": [ 8.49/4.06 { 8.49/4.06 "clause": 1, 8.49/4.06 "scope": 5, 8.49/4.06 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "clause": 2, 8.49/4.06 "scope": 5, 8.49/4.06 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.06 } 8.49/4.06 ], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "485": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": 1, 8.49/4.06 "scope": 5, 8.49/4.06 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "2": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T1 T2)" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": ["T2"], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "365": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(true)" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "387": { 8.49/4.06 "goal": [ 8.49/4.06 { 8.49/4.06 "clause": 1, 8.49/4.06 "scope": 3, 8.49/4.06 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "clause": 2, 8.49/4.06 "scope": 3, 8.49/4.06 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.06 } 8.49/4.06 ], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [ 8.49/4.06 "T35", 8.49/4.06 "T36", 8.49/4.06 "T37" 8.49/4.06 ], 8.49/4.06 "free": [ 8.49/4.06 "X149", 8.49/4.06 "X141", 8.49/4.06 "X142", 8.49/4.06 "X143", 8.49/4.06 "X144" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "442": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "486": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": 2, 8.49/4.06 "scope": 5, 8.49/4.06 "term": "(balance T65 (- T60 ([])) (- T61 T62) (- T63 ([])) (- T64 ([])))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "3": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": 0, 8.49/4.06 "scope": 1, 8.49/4.06 "term": "(balance T1 T2)" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": ["T2"], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "465": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(',' (balance T314 (- T315 (. T316 X413)) (- T317 T318) (- X414 X415) (- T319 X416)) (balance T320 (- X413 (. T321 X417)) (- X414 X415) (- X418 X419) (- X416 X420)))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X417", 8.49/4.06 "X418", 8.49/4.06 "X419", 8.49/4.06 "X420", 8.49/4.06 "X413", 8.49/4.06 "X414", 8.49/4.06 "X415", 8.49/4.06 "X416" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "389": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": 1, 8.49/4.06 "scope": 3, 8.49/4.06 "term": "(balance T38 (- T39 (. T40 X141)) (- (. (',' T35 (- T39 (. T36 T42))) (. (',' T37 (- T42 ([]))) T41)) T41) (- X142 X143) (- X149 X144))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [ 8.49/4.06 "T35", 8.49/4.06 "T36", 8.49/4.06 "T37" 8.49/4.06 ], 8.49/4.06 "free": [ 8.49/4.06 "X149", 8.49/4.06 "X141", 8.49/4.06 "X142", 8.49/4.06 "X143", 8.49/4.06 "X144" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "422": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T164 (- T165 (. T166 X278)) (- (. (',' T160 (- T168 ([]))) (. (',' T155 (- T165 (. T156 T169))) (. (',' T157 (- T169 (. T158 T168))) T167))) T167) (- X279 X280) (- X285 X281))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [ 8.49/4.06 "T155", 8.49/4.06 "T156", 8.49/4.06 "T157", 8.49/4.06 "T158", 8.49/4.06 "T160" 8.49/4.06 ], 8.49/4.06 "free": [ 8.49/4.06 "X285", 8.49/4.06 "X278", 8.49/4.06 "X279", 8.49/4.06 "X280", 8.49/4.06 "X281" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "466": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "423": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X282", 8.49/4.06 "X283", 8.49/4.06 "X284", 8.49/4.06 "X286" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "489": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(true)" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "500": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(',' (balance T447 (- T448 (. T449 X541)) (- T450 T451) (- X542 X543) (- T452 X544)) (balance T453 (- X541 ([])) (- X542 X543) (- T454 ([])) (- X544 ([]))))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X541", 8.49/4.06 "X542", 8.49/4.06 "X543", 8.49/4.06 "X544" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "369": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "501": { 8.49/4.06 "goal": [], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "502": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T447 (- T448 (. T449 X541)) (- T450 T451) (- X542 X543) (- T452 X544))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X541", 8.49/4.06 "X542", 8.49/4.06 "X543", 8.49/4.06 "X544" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "503": { 8.49/4.06 "goal": [{ 8.49/4.06 "clause": -1, 8.49/4.06 "scope": -1, 8.49/4.06 "term": "(balance T473 (- T469 ([])) (- T470 T471) (- T474 ([])) (- T472 ([])))" 8.49/4.06 }], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "427": { 8.49/4.06 "goal": [ 8.49/4.06 { 8.49/4.06 "clause": 1, 8.49/4.06 "scope": 4, 8.49/4.06 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "clause": 2, 8.49/4.06 "scope": 4, 8.49/4.06 "term": "(balance T199 (- T194 (. T200 X282)) (- T195 T196) (- X283 X284) (- T198 X286))" 8.49/4.06 } 8.49/4.06 ], 8.49/4.06 "kb": { 8.49/4.06 "nonunifying": [], 8.49/4.06 "intvars": {}, 8.49/4.06 "arithmetic": { 8.49/4.06 "type": "PlainIntegerRelationState", 8.49/4.06 "relations": [] 8.49/4.06 }, 8.49/4.06 "ground": [], 8.49/4.06 "free": [ 8.49/4.06 "X282", 8.49/4.06 "X283", 8.49/4.06 "X284", 8.49/4.06 "X286" 8.49/4.06 ], 8.49/4.06 "exprvars": [] 8.49/4.06 } 8.49/4.06 } 8.49/4.06 }, 8.49/4.06 "edges": [ 8.49/4.06 { 8.49/4.06 "from": 2, 8.49/4.06 "to": 3, 8.49/4.06 "label": "CASE" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 3, 8.49/4.06 "to": 16, 8.49/4.06 "label": "ONLY EVAL with clause\nbalance(X22, X23) :- balance(X22, -(X24, []), -(.(','(X23, -(X24, [])), X25), X25), -(X26, []), -(X26, [])).\nand substitutionT1 -> T12,\nX22 -> T12,\nT2 -> T11,\nX23 -> T11,\nT10 -> T12" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 16, 8.49/4.06 "to": 24, 8.49/4.06 "label": "CASE" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 24, 8.49/4.06 "to": 26, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 24, 8.49/4.06 "to": 27, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 26, 8.49/4.06 "to": 365, 8.49/4.06 "label": "EVAL with clause\nbalance(nil, -(X69, X69), -(X70, X71), -(X70, X71), -(.(','(nil, -(X72, X72)), X73), X73)).\nand substitutionT12 -> nil,\nX24 -> [],\nX69 -> [],\nX74 -> [],\nT11 -> nil,\nX25 -> [],\nX70 -> .(','(nil, -([], [])), []),\nX71 -> [],\nX26 -> .(','(nil, -([], [])), []),\nX75 -> [],\nT19 -> nil,\nX72 -> [],\nX73 -> []" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 26, 8.49/4.06 "to": 369, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 27, 8.49/4.06 "to": 376, 8.49/4.06 "label": "EVAL with clause\nbalance(tree(X124, X125, X126), -(X127, X128), -(.(','(tree(X129, X130, X131), -(X132, X133)), X134), .(','(X129, -(X132, .(X130, X135))), .(','(X131, -(X135, X133)), X136))), -(X137, X138), -(X139, X140)) :- ','(balance(X124, -(X127, .(X125, X141)), -(X134, X136), -(X142, X143), -(X139, X144)), balance(X126, -(X141, X128), -(X142, X143), -(X137, X138), -(X144, X140))).\nand substitutionX124 -> T38,\nX125 -> T40,\nX126 -> T43,\nT12 -> tree(T38, T40, T43),\nX24 -> T39,\nX127 -> T39,\nX128 -> [],\nX129 -> T35,\nX130 -> T36,\nX131 -> T37,\nT11 -> tree(T35, T36, T37),\nX132 -> T39,\nX133 -> [],\nX25 -> .(','(T35, -(T39, .(T36, T42))), .(','(T37, -(T42, [])), T41)),\nX134 -> .(','(T35, -(T39, .(T36, T42))), .(','(T37, -(T42, [])), T41)),\nX135 -> T42,\nX136 -> T41,\nX146 -> .(','(T35, -(T39, .(T36, T42))), .(','(T37, -(T42, [])), T41)),\nX26 -> X149,\nX137 -> X149,\nX138 -> [],\nX139 -> X149,\nX140 -> [],\nT32 -> T38,\nX145 -> T39,\nT33 -> T40,\nX148 -> T41,\nX147 -> T42,\nT34 -> T43" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 27, 8.49/4.06 "to": 377, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 365, 8.49/4.06 "to": 370, 8.49/4.06 "label": "SUCCESS" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 376, 8.49/4.06 "to": 382, 8.49/4.06 "label": "SPLIT 1" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 376, 8.49/4.06 "to": 383, 8.49/4.06 "label": "SPLIT 2\nreplacements:X141 -> T60,\nX142 -> T61,\nX143 -> T62,\nX149 -> T63,\nX144 -> T64,\nT43 -> T65" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 382, 8.49/4.06 "to": 387, 8.49/4.06 "label": "CASE" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 383, 8.49/4.06 "to": 484, 8.49/4.06 "label": "CASE" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 387, 8.49/4.06 "to": 389, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 387, 8.49/4.06 "to": 390, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 389, 8.49/4.06 "to": 413, 8.49/4.06 "label": "EVAL with clause\nbalance(nil, -(X206, X206), -(X207, X208), -(X207, X208), -(.(','(nil, -(X209, X209)), X210), X210)).\nand substitutionT38 -> nil,\nT39 -> .(T115, T116),\nX206 -> .(T115, T116),\nT40 -> T115,\nX141 -> T116,\nT114 -> .(T115, T116),\nT35 -> T117,\nT36 -> T118,\nT42 -> T119,\nT37 -> T120,\nT41 -> T121,\nX207 -> .(','(T117, -(.(T115, T116), .(T118, T119))), .(','(T120, -(T119, [])), T121)),\nX208 -> T121,\nX142 -> .(','(T117, -(.(T115, T116), .(T118, T119))), .(','(T120, -(T119, [])), T121)),\nX143 -> T121,\nX209 -> X211,\nX210 -> X212,\nX149 -> .(','(nil, -(X211, X211)), X212),\nX144 -> X212" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 389, 8.49/4.06 "to": 414, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 390, 8.49/4.06 "to": 416, 8.49/4.06 "label": "EVAL with clause\nbalance(tree(X261, X262, X263), -(X264, X265), -(.(','(tree(X266, X267, X268), -(X269, X270)), X271), .(','(X266, -(X269, .(X267, X272))), .(','(X268, -(X272, X270)), X273))), -(X274, X275), -(X276, X277)) :- ','(balance(X261, -(X264, .(X262, X278)), -(X271, X273), -(X279, X280), -(X276, X281)), balance(X263, -(X278, X265), -(X279, X280), -(X274, X275), -(X281, X277))).\nand substitutionX261 -> T164,\nX262 -> T166,\nX263 -> T170,\nT38 -> tree(T164, T166, T170),\nT39 -> T165,\nX264 -> T165,\nT40 -> T171,\nX141 -> X282,\nX265 -> .(T171, X282),\nX266 -> T155,\nX267 -> T156,\nX268 -> T157,\nT35 -> tree(T155, T156, T157),\nX269 -> T165,\nT36 -> T158,\nT42 -> T168,\nX270 -> .(T158, T168),\nT37 -> T160,\nT41 -> .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167)),\nX271 -> .(','(T160, -(T168, [])), .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167))),\nX272 -> T169,\nX273 -> T167,\nT161 -> .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167)),\nX142 -> X283,\nX274 -> X283,\nX143 -> X284,\nX275 -> X284,\nX149 -> X285,\nX276 -> X285,\nX144 -> X286,\nX277 -> X286,\nT150 -> T164,\nT153 -> T165,\nT151 -> T166,\nT163 -> T167,\nT159 -> T168,\nT162 -> T169,\nT152 -> T170,\nT154 -> T171" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 390, 8.49/4.06 "to": 417, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 413, 8.49/4.06 "to": 415, 8.49/4.06 "label": "SUCCESS" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 416, 8.49/4.06 "to": 422, 8.49/4.06 "label": "SPLIT 1" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 416, 8.49/4.06 "to": 423, 8.49/4.06 "label": "SPLIT 2\nreplacements:X278 -> T194,\nX279 -> T195,\nX280 -> T196,\nX285 -> T197,\nX281 -> T198,\nT170 -> T199,\nT171 -> T200" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 422, 8.49/4.06 "to": 423, 8.49/4.06 "label": "INSTANCE with matching:\nT199 -> T164\nT194 -> T165\nT200 -> T166\nX282 -> X278\nT195 -> .(','(T160, -(T168, [])), .(','(T155, -(T165, .(T156, T169))), .(','(T157, -(T169, .(T158, T168))), T167)))\nT196 -> T167\nX283 -> X279\nX284 -> X280\nT198 -> X285\nX286 -> X281" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 423, 8.49/4.06 "to": 427, 8.49/4.06 "label": "CASE" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 427, 8.49/4.06 "to": 430, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 427, 8.49/4.06 "to": 431, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 430, 8.49/4.06 "to": 434, 8.49/4.06 "label": "EVAL with clause\nbalance(nil, -(X345, X345), -(X346, X347), -(X346, X347), -(.(','(nil, -(X348, X348)), X349), X349)).\nand substitutionT199 -> nil,\nT194 -> .(T266, T267),\nX345 -> .(T266, T267),\nT200 -> T266,\nX282 -> T267,\nT265 -> .(T266, T267),\nT195 -> T268,\nX346 -> T268,\nT196 -> T269,\nX347 -> T269,\nX283 -> T268,\nX284 -> T269,\nX348 -> T270,\nX349 -> T271,\nT198 -> .(','(nil, -(T270, T270)), T271),\nX286 -> T271" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 430, 8.49/4.06 "to": 435, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 431, 8.49/4.06 "to": 465, 8.49/4.06 "label": "EVAL with clause\nbalance(tree(X396, X397, X398), -(X399, X400), -(.(','(tree(X401, X402, X403), -(X404, X405)), X406), .(','(X401, -(X404, .(X402, X407))), .(','(X403, -(X407, X405)), X408))), -(X409, X410), -(X411, X412)) :- ','(balance(X396, -(X399, .(X397, X413)), -(X406, X408), -(X414, X415), -(X411, X416)), balance(X398, -(X413, X400), -(X414, X415), -(X409, X410), -(X416, X412))).\nand substitutionX396 -> T314,\nX397 -> T316,\nX398 -> T320,\nT199 -> tree(T314, T316, T320),\nT194 -> T315,\nX399 -> T315,\nT200 -> T321,\nX282 -> X417,\nX400 -> .(T321, X417),\nX401 -> T305,\nX402 -> T306,\nX403 -> T307,\nX404 -> T308,\nX405 -> T309,\nX406 -> T317,\nT195 -> .(','(tree(T305, T306, T307), -(T308, T309)), T317),\nX407 -> T311,\nX408 -> T318,\nT196 -> .(','(T305, -(T308, .(T306, T311))), .(','(T307, -(T311, T309)), T318)),\nX283 -> X418,\nX409 -> X418,\nX284 -> X419,\nX410 -> X419,\nT198 -> T319,\nX411 -> T319,\nX286 -> X420,\nX412 -> X420,\nT300 -> T314,\nT303 -> T315,\nT301 -> T316,\nT310 -> T317,\nT312 -> T318,\nT313 -> T319,\nT302 -> T320,\nT304 -> T321" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 431, 8.49/4.06 "to": 466, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 434, 8.49/4.06 "to": 442, 8.49/4.06 "label": "SUCCESS" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 465, 8.49/4.06 "to": 477, 8.49/4.06 "label": "SPLIT 1" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 465, 8.49/4.06 "to": 478, 8.49/4.06 "label": "SPLIT 2\nreplacements:X413 -> T336,\nX414 -> T337,\nX415 -> T338,\nX416 -> T339,\nT320 -> T340,\nT321 -> T341" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 477, 8.49/4.06 "to": 423, 8.49/4.06 "label": "INSTANCE with matching:\nT199 -> T314\nT194 -> T315\nT200 -> T316\nX282 -> X413\nT195 -> T317\nT196 -> T318\nX283 -> X414\nX284 -> X415\nT198 -> T319\nX286 -> X416" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 478, 8.49/4.06 "to": 423, 8.49/4.06 "label": "INSTANCE with matching:\nT199 -> T340\nT194 -> T336\nT200 -> T341\nX282 -> X417\nT195 -> T337\nT196 -> T338\nX283 -> X418\nX284 -> X419\nT198 -> T339\nX286 -> X420" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 484, 8.49/4.06 "to": 485, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 484, 8.49/4.06 "to": 486, 8.49/4.06 "label": "PARALLEL" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 485, 8.49/4.06 "to": 489, 8.49/4.06 "label": "EVAL with clause\nbalance(nil, -(X481, X481), -(X482, X483), -(X482, X483), -(.(','(nil, -(X484, X484)), X485), X485)).\nand substitutionT65 -> nil,\nT60 -> [],\nX481 -> [],\nT400 -> [],\nT61 -> T401,\nX482 -> T401,\nT62 -> [],\nX483 -> [],\nT63 -> T401,\nT402 -> [],\nX484 -> T403,\nX485 -> [],\nT64 -> .(','(nil, -(T403, T403)), []),\nT404 -> []" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 485, 8.49/4.06 "to": 490, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 486, 8.49/4.06 "to": 500, 8.49/4.06 "label": "EVAL with clause\nbalance(tree(X524, X525, X526), -(X527, X528), -(.(','(tree(X529, X530, X531), -(X532, X533)), X534), .(','(X529, -(X532, .(X530, X535))), .(','(X531, -(X535, X533)), X536))), -(X537, X538), -(X539, X540)) :- ','(balance(X524, -(X527, .(X525, X541)), -(X534, X536), -(X542, X543), -(X539, X544)), balance(X526, -(X541, X528), -(X542, X543), -(X537, X538), -(X544, X540))).\nand substitutionX524 -> T447,\nX525 -> T449,\nX526 -> T453,\nT65 -> tree(T447, T449, T453),\nT60 -> T448,\nX527 -> T448,\nX528 -> [],\nX529 -> T437,\nX530 -> T438,\nX531 -> T439,\nX532 -> T440,\nX533 -> T441,\nX534 -> T450,\nT61 -> .(','(tree(T437, T438, T439), -(T440, T441)), T450),\nX535 -> T443,\nX536 -> T451,\nT62 -> .(','(T437, -(T440, .(T438, T443))), .(','(T439, -(T443, T441)), T451)),\nT63 -> T454,\nX537 -> T454,\nX538 -> [],\nT64 -> T452,\nX539 -> T452,\nX540 -> [],\nT433 -> T447,\nT436 -> T448,\nT434 -> T449,\nT442 -> T450,\nT444 -> T451,\nT446 -> T452,\nT435 -> T453,\nT445 -> T454" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 486, 8.49/4.06 "to": 501, 8.49/4.06 "label": "EVAL-BACKTRACK" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 489, 8.49/4.06 "to": 491, 8.49/4.06 "label": "SUCCESS" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 500, 8.49/4.06 "to": 502, 8.49/4.06 "label": "SPLIT 1" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 500, 8.49/4.06 "to": 503, 8.49/4.06 "label": "SPLIT 2\nreplacements:X541 -> T469,\nX542 -> T470,\nX543 -> T471,\nX544 -> T472,\nT453 -> T473,\nT454 -> T474" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 502, 8.49/4.06 "to": 423, 8.49/4.06 "label": "INSTANCE with matching:\nT199 -> T447\nT194 -> T448\nT200 -> T449\nX282 -> X541\nT195 -> T450\nT196 -> T451\nX283 -> X542\nX284 -> X543\nT198 -> T452\nX286 -> X544" 8.49/4.06 }, 8.49/4.06 { 8.49/4.06 "from": 503, 8.49/4.06 "to": 383, 8.49/4.06 "label": "INSTANCE with matching:\nT65 -> T473\nT60 -> T469\nT61 -> T470\nT62 -> T471\nT63 -> T474\nT64 -> T472" 8.49/4.06 } 8.49/4.06 ], 8.49/4.06 "type": "Graph" 8.49/4.06 } 8.49/4.06 } 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (42) 8.49/4.06 Complex Obligation (AND) 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (43) 8.49/4.06 Obligation: 8.49/4.06 Rules: 8.49/4.06 f431_out -> f427_out :|: TRUE 8.49/4.06 f430_out -> f427_out :|: TRUE 8.49/4.06 f427_in -> f431_in :|: TRUE 8.49/4.06 f427_in -> f430_in :|: TRUE 8.49/4.06 f431_in -> f465_in :|: TRUE 8.49/4.06 f465_out -> f431_out :|: TRUE 8.49/4.06 f431_in -> f466_in :|: TRUE 8.49/4.06 f466_out -> f431_out :|: TRUE 8.49/4.06 f427_out -> f423_out :|: TRUE 8.49/4.06 f423_in -> f427_in :|: TRUE 8.49/4.06 f477_out -> f478_in :|: TRUE 8.49/4.06 f465_in -> f477_in :|: TRUE 8.49/4.06 f478_out -> f465_out :|: TRUE 8.49/4.06 f423_out -> f478_out :|: TRUE 8.49/4.06 f478_in -> f423_in :|: TRUE 8.49/4.06 f477_in -> f423_in :|: TRUE 8.49/4.06 f423_out -> f477_out :|: TRUE 8.49/4.06 f2_in(T2) -> f3_in(T2) :|: TRUE 8.49/4.06 f3_out(x) -> f2_out(x) :|: TRUE 8.49/4.06 f16_out(T11) -> f3_out(T11) :|: TRUE 8.49/4.06 f3_in(x1) -> f16_in(x1) :|: TRUE 8.49/4.06 f24_out(x2) -> f16_out(x2) :|: TRUE 8.49/4.06 f16_in(x3) -> f24_in(x3) :|: TRUE 8.49/4.06 f26_out(x4) -> f24_out(x4) :|: TRUE 8.49/4.06 f24_in(x5) -> f27_in(x5) :|: TRUE 8.49/4.06 f24_in(x6) -> f26_in(x6) :|: TRUE 8.49/4.06 f27_out(x7) -> f24_out(x7) :|: TRUE 8.49/4.06 f376_out(T35, T36, T37) -> f27_out(tree(T35, T36, T37)) :|: TRUE 8.49/4.06 f377_out -> f27_out(x8) :|: TRUE 8.49/4.06 f27_in(x9) -> f377_in :|: TRUE 8.49/4.06 f27_in(tree(x10, x11, x12)) -> f376_in(x10, x11, x12) :|: TRUE 8.49/4.06 f382_out(x13, x14, x15) -> f383_in :|: TRUE 8.49/4.06 f383_out -> f376_out(x16, x17, x18) :|: TRUE 8.49/4.06 f376_in(x19, x20, x21) -> f382_in(x19, x20, x21) :|: TRUE 8.49/4.06 f484_out -> f383_out :|: TRUE 8.49/4.06 f383_in -> f484_in :|: TRUE 8.49/4.06 f486_out -> f484_out :|: TRUE 8.49/4.06 f484_in -> f486_in :|: TRUE 8.49/4.06 f484_in -> f485_in :|: TRUE 8.49/4.06 f485_out -> f484_out :|: TRUE 8.49/4.06 f501_out -> f486_out :|: TRUE 8.49/4.06 f500_out -> f486_out :|: TRUE 8.49/4.06 f486_in -> f501_in :|: TRUE 8.49/4.06 f486_in -> f500_in :|: TRUE 8.49/4.06 f503_out -> f500_out :|: TRUE 8.49/4.06 f500_in -> f502_in :|: TRUE 8.49/4.06 f502_out -> f503_in :|: TRUE 8.49/4.06 f423_out -> f502_out :|: TRUE 8.49/4.06 f502_in -> f423_in :|: TRUE 8.49/4.06 f382_in(x22, x23, x24) -> f387_in(x22, x23, x24) :|: TRUE 8.49/4.06 f387_out(x25, x26, x27) -> f382_out(x25, x26, x27) :|: TRUE 8.49/4.06 f390_out(x28, x29, x30) -> f387_out(x28, x29, x30) :|: TRUE 8.49/4.06 f389_out(x31, x32, x33) -> f387_out(x31, x32, x33) :|: TRUE 8.49/4.06 f387_in(x34, x35, x36) -> f390_in(x34, x35, x36) :|: TRUE 8.49/4.06 f387_in(x37, x38, x39) -> f389_in(x37, x38, x39) :|: TRUE 8.49/4.06 f390_in(tree(T155, T156, T157), T158, T160) -> f416_in(T160, T155, T156, T157, T158) :|: TRUE 8.49/4.06 f417_out -> f390_out(x40, x41, x42) :|: TRUE 8.49/4.06 f416_out(x43, x44, x45, x46, x47) -> f390_out(tree(x44, x45, x46), x47, x43) :|: TRUE 8.49/4.06 f390_in(x48, x49, x50) -> f417_in :|: TRUE 8.49/4.06 f422_out(x51, x52, x53, x54, x55) -> f423_in :|: TRUE 8.49/4.06 f423_out -> f416_out(x56, x57, x58, x59, x60) :|: TRUE 8.49/4.06 f416_in(x61, x62, x63, x64, x65) -> f422_in(x61, x62, x63, x64, x65) :|: TRUE 8.49/4.06 f422_in(x66, x67, x68, x69, x70) -> f423_in :|: TRUE 8.49/4.06 f423_out -> f422_out(x71, x72, x73, x74, x75) :|: TRUE 8.49/4.06 Start term: f2_in(T2) 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (44) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 8.49/4.06 Constructed simple dependency graph. 8.49/4.06 8.49/4.06 Simplified to the following IRSwTs: 8.49/4.06 8.49/4.06 intTRSProblem: 8.49/4.06 f427_in -> f431_in :|: TRUE 8.49/4.06 f431_in -> f465_in :|: TRUE 8.49/4.06 f423_in -> f427_in :|: TRUE 8.49/4.06 f465_in -> f477_in :|: TRUE 8.49/4.06 f477_in -> f423_in :|: TRUE 8.49/4.06 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (45) 8.49/4.06 Obligation: 8.49/4.06 Rules: 8.49/4.06 f427_in -> f431_in :|: TRUE 8.49/4.06 f431_in -> f465_in :|: TRUE 8.49/4.06 f423_in -> f427_in :|: TRUE 8.49/4.06 f465_in -> f477_in :|: TRUE 8.49/4.06 f477_in -> f423_in :|: TRUE 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (46) IntTRSCompressionProof (EQUIVALENT) 8.49/4.06 Compressed rules. 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (47) 8.49/4.06 Obligation: 8.49/4.06 Rules: 8.49/4.06 f423_in -> f423_in :|: TRUE 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (48) IRSFormatTransformerProof (EQUIVALENT) 8.49/4.06 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (49) 8.49/4.06 Obligation: 8.49/4.06 Rules: 8.49/4.06 f423_in -> f423_in :|: TRUE 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (50) IRSwTTerminationDigraphProof (EQUIVALENT) 8.49/4.06 Constructed termination digraph! 8.49/4.06 Nodes: 8.49/4.06 (1) f423_in -> f423_in :|: TRUE 8.49/4.06 8.49/4.06 Arcs: 8.49/4.06 (1) -> (1) 8.49/4.06 8.49/4.06 This digraph is fully evaluated! 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (51) 8.49/4.06 Obligation: 8.49/4.06 8.49/4.06 Termination digraph: 8.49/4.06 Nodes: 8.49/4.06 (1) f423_in -> f423_in :|: TRUE 8.49/4.06 8.49/4.06 Arcs: 8.49/4.06 (1) -> (1) 8.49/4.06 8.49/4.06 This digraph is fully evaluated! 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (52) FilterProof (EQUIVALENT) 8.49/4.06 Used the following sort dictionary for filtering: 8.49/4.06 f423_in() 8.49/4.06 Replaced non-predefined constructor symbols by 0. 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (53) 8.49/4.06 Obligation: 8.49/4.06 Rules: 8.49/4.06 f423_in -> f423_in :|: TRUE 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (54) IntTRSPeriodicNontermProof (COMPLETE) 8.49/4.06 Normalized system to the following form: 8.49/4.06 f(pc) -> f(1) :|: pc = 1 && TRUE 8.49/4.06 Witness term starting non-terminating reduction: f(1) 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (55) 8.49/4.06 NO 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (56) 8.49/4.06 Obligation: 8.49/4.06 Rules: 8.49/4.06 f503_in -> f383_in :|: TRUE 8.49/4.06 f383_out -> f503_out :|: TRUE 8.49/4.06 f431_out -> f427_out :|: TRUE 8.49/4.06 f430_out -> f427_out :|: TRUE 8.49/4.06 f427_in -> f431_in :|: TRUE 8.49/4.06 f427_in -> f430_in :|: TRUE 8.49/4.06 f501_out -> f486_out :|: TRUE 8.49/4.06 f500_out -> f486_out :|: TRUE 8.49/4.06 f486_in -> f501_in :|: TRUE 8.49/4.06 f486_in -> f500_in :|: TRUE 8.49/4.06 f431_in -> f465_in :|: TRUE 8.49/4.06 f465_out -> f431_out :|: TRUE 8.49/4.06 f431_in -> f466_in :|: TRUE 8.49/4.06 f466_out -> f431_out :|: TRUE 8.49/4.06 f484_out -> f383_out :|: TRUE 8.49/4.06 f383_in -> f484_in :|: TRUE 8.49/4.06 f503_out -> f500_out :|: TRUE 8.49/4.06 f500_in -> f502_in :|: TRUE 8.49/4.06 f502_out -> f503_in :|: TRUE 8.49/4.06 f423_out -> f502_out :|: TRUE 8.49/4.06 f502_in -> f423_in :|: TRUE 8.49/4.06 f427_out -> f423_out :|: TRUE 8.49/4.06 f423_in -> f427_in :|: TRUE 8.49/4.06 f430_in -> f434_in :|: TRUE 8.49/4.06 f434_out -> f430_out :|: TRUE 8.49/4.06 f435_out -> f430_out :|: TRUE 8.49/4.06 f430_in -> f435_in :|: TRUE 8.49/4.06 f477_out -> f478_in :|: TRUE 8.49/4.06 f465_in -> f477_in :|: TRUE 8.49/4.06 f478_out -> f465_out :|: TRUE 8.49/4.06 f486_out -> f484_out :|: TRUE 8.49/4.06 f484_in -> f486_in :|: TRUE 8.49/4.06 f484_in -> f485_in :|: TRUE 8.49/4.06 f485_out -> f484_out :|: TRUE 8.49/4.06 f423_out -> f478_out :|: TRUE 8.49/4.06 f478_in -> f423_in :|: TRUE 8.49/4.06 f477_in -> f423_in :|: TRUE 8.49/4.06 f423_out -> f477_out :|: TRUE 8.49/4.06 f434_in -> f434_out :|: TRUE 8.49/4.06 f2_in(T2) -> f3_in(T2) :|: TRUE 8.49/4.06 f3_out(x) -> f2_out(x) :|: TRUE 8.49/4.06 f16_out(T11) -> f3_out(T11) :|: TRUE 8.49/4.06 f3_in(x1) -> f16_in(x1) :|: TRUE 8.49/4.06 f24_out(x2) -> f16_out(x2) :|: TRUE 8.49/4.06 f16_in(x3) -> f24_in(x3) :|: TRUE 8.49/4.06 f26_out(x4) -> f24_out(x4) :|: TRUE 8.49/4.06 f24_in(x5) -> f27_in(x5) :|: TRUE 8.49/4.06 f24_in(x6) -> f26_in(x6) :|: TRUE 8.49/4.06 f27_out(x7) -> f24_out(x7) :|: TRUE 8.49/4.06 f376_out(T35, T36, T37) -> f27_out(tree(T35, T36, T37)) :|: TRUE 8.49/4.06 f377_out -> f27_out(x8) :|: TRUE 8.49/4.06 f27_in(x9) -> f377_in :|: TRUE 8.49/4.06 f27_in(tree(x10, x11, x12)) -> f376_in(x10, x11, x12) :|: TRUE 8.49/4.06 f382_out(x13, x14, x15) -> f383_in :|: TRUE 8.49/4.06 f383_out -> f376_out(x16, x17, x18) :|: TRUE 8.49/4.06 f376_in(x19, x20, x21) -> f382_in(x19, x20, x21) :|: TRUE 8.49/4.06 Start term: f2_in(T2) 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (57) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 8.49/4.06 Constructed simple dependency graph. 8.49/4.06 8.49/4.06 Simplified to the following IRSwTs: 8.49/4.06 8.49/4.06 8.49/4.06 ---------------------------------------- 8.49/4.06 8.49/4.06 (58) 8.49/4.06 TRUE 8.72/4.27 EOF