MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Left Termination of the query pattern log2(a,g) w.r.t. the given Prolog program could not be shown: (0) Prolog (1) PrologToPiTRSProof [SOUND, 0 ms] (2) PiTRS (3) DependencyPairsProof [EQUIVALENT, 0 ms] (4) PiDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) AND (7) PiDP (8) UsableRulesProof [EQUIVALENT, 0 ms] (9) PiDP (10) PiDPToQDPProof [SOUND, 0 ms] (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) PiDP (15) UsableRulesProof [EQUIVALENT, 0 ms] (16) PiDP (17) PiDPToQDPProof [SOUND, 0 ms] (18) QDP (19) TransformationProof [EQUIVALENT, 0 ms] (20) QDP (21) QDPOrderProof [EQUIVALENT, 29 ms] (22) QDP (23) DependencyGraphProof [EQUIVALENT, 0 ms] (24) TRUE (25) PiDP (26) UsableRulesProof [EQUIVALENT, 0 ms] (27) PiDP (28) PrologToPiTRSProof [SOUND, 0 ms] (29) PiTRS (30) DependencyPairsProof [EQUIVALENT, 0 ms] (31) PiDP (32) DependencyGraphProof [EQUIVALENT, 0 ms] (33) AND (34) PiDP (35) UsableRulesProof [EQUIVALENT, 0 ms] (36) PiDP (37) PiDPToQDPProof [SOUND, 0 ms] (38) QDP (39) QDPSizeChangeProof [EQUIVALENT, 0 ms] (40) YES (41) PiDP (42) UsableRulesProof [EQUIVALENT, 0 ms] (43) PiDP (44) PiDPToQDPProof [SOUND, 0 ms] (45) QDP (46) MRRProof [EQUIVALENT, 15 ms] (47) QDP (48) DependencyGraphProof [EQUIVALENT, 0 ms] (49) TRUE (50) PiDP (51) UsableRulesProof [EQUIVALENT, 0 ms] (52) PiDP (53) PiDPToQDPProof [SOUND, 0 ms] (54) QDP (55) PrologToDTProblemTransformerProof [SOUND, 92 ms] (56) TRIPLES (57) TriplesToPiDPProof [SOUND, 26 ms] (58) PiDP (59) DependencyGraphProof [EQUIVALENT, 0 ms] (60) AND (61) PiDP (62) UsableRulesProof [EQUIVALENT, 0 ms] (63) PiDP (64) PiDPToQDPProof [SOUND, 0 ms] (65) QDP (66) QDPSizeChangeProof [EQUIVALENT, 0 ms] (67) YES (68) PiDP (69) UsableRulesProof [EQUIVALENT, 0 ms] (70) PiDP (71) PiDPToQDPProof [SOUND, 0 ms] (72) QDP (73) TransformationProof [EQUIVALENT, 0 ms] (74) QDP (75) UsableRulesProof [EQUIVALENT, 0 ms] (76) QDP (77) QReductionProof [EQUIVALENT, 0 ms] (78) QDP (79) PiDP (80) UsableRulesProof [EQUIVALENT, 0 ms] (81) PiDP (82) PrologToTRSTransformerProof [SOUND, 76 ms] (83) QTRS (84) PrologToIRSwTTransformerProof [SOUND, 135 ms] (85) AND (86) IRSwT (87) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (88) TRUE (89) IRSwT (90) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (91) TRUE (92) IRSwT (93) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (94) IRSwT (95) IntTRSCompressionProof [EQUIVALENT, 2 ms] (96) IRSwT (97) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (98) IRSwT (99) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] (100) IRSwT (101) FilterProof [EQUIVALENT, 0 ms] (102) IntTRS (103) IntTRSPeriodicNontermProof [COMPLETE, 5 ms] (104) NO ---------------------------------------- (0) Obligation: Clauses: log2(X, Y) :- log2(X, 0, Y). log2(0, I, I). log2(s(0), I, I). log2(s(s(X)), I, Y) :- ','(half(s(s(X)), X1), log2(X1, s(I), Y)). half(0, 0). half(s(0), 0). half(s(s(X)), s(Y)) :- half(X, Y). Query: log2(a,g) ---------------------------------------- (1) PrologToPiTRSProof (SOUND) We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: log2_in_2: (f,b) log2_in_3: (f,b,b) (b,b,b) half_in_2: (f,f) (b,f) Transforming Prolog into the following Term Rewriting System: Pi-finite rewrite system: The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x2, x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1, x2, x3) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x2, x3, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) log2_out_ag(x1, x2) = log2_out_ag(x1, x2) Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog ---------------------------------------- (2) Obligation: Pi-finite rewrite system: The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x2, x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1, x2, x3) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x2, x3, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) log2_out_ag(x1, x2) = log2_out_ag(x1, x2) ---------------------------------------- (3) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: Pi DP problem: The TRS P consists of the following rules: LOG2_IN_AG(X, Y) -> U1_AG(X, Y, log2_in_agg(X, 0, Y)) LOG2_IN_AG(X, Y) -> LOG2_IN_AGG(X, 0, Y) LOG2_IN_AGG(s(s(X)), I, Y) -> U2_AGG(X, I, Y, half_in_aa(s(s(X)), X1)) LOG2_IN_AGG(s(s(X)), I, Y) -> HALF_IN_AA(s(s(X)), X1) HALF_IN_AA(s(s(X)), s(Y)) -> U4_AA(X, Y, half_in_aa(X, Y)) HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_AGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) LOG2_IN_GGG(s(s(X)), I, Y) -> HALF_IN_GA(s(s(X)), X1) HALF_IN_GA(s(s(X)), s(Y)) -> U4_GA(X, Y, half_in_ga(X, Y)) HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_GGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x2, x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1, x2, x3) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x2, x3, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) log2_out_ag(x1, x2) = log2_out_ag(x1, x2) LOG2_IN_AG(x1, x2) = LOG2_IN_AG(x2) U1_AG(x1, x2, x3) = U1_AG(x2, x3) LOG2_IN_AGG(x1, x2, x3) = LOG2_IN_AGG(x2, x3) U2_AGG(x1, x2, x3, x4) = U2_AGG(x2, x3, x4) HALF_IN_AA(x1, x2) = HALF_IN_AA U4_AA(x1, x2, x3) = U4_AA(x3) U3_AGG(x1, x2, x3, x4) = U3_AGG(x1, x2, x3, x4) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) U4_GA(x1, x2, x3) = U4_GA(x1, x3) U3_GGG(x1, x2, x3, x4) = U3_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (4) Obligation: Pi DP problem: The TRS P consists of the following rules: LOG2_IN_AG(X, Y) -> U1_AG(X, Y, log2_in_agg(X, 0, Y)) LOG2_IN_AG(X, Y) -> LOG2_IN_AGG(X, 0, Y) LOG2_IN_AGG(s(s(X)), I, Y) -> U2_AGG(X, I, Y, half_in_aa(s(s(X)), X1)) LOG2_IN_AGG(s(s(X)), I, Y) -> HALF_IN_AA(s(s(X)), X1) HALF_IN_AA(s(s(X)), s(Y)) -> U4_AA(X, Y, half_in_aa(X, Y)) HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_AGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) LOG2_IN_GGG(s(s(X)), I, Y) -> HALF_IN_GA(s(s(X)), X1) HALF_IN_GA(s(s(X)), s(Y)) -> U4_GA(X, Y, half_in_ga(X, Y)) HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_GGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x2, x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1, x2, x3) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x2, x3, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) log2_out_ag(x1, x2) = log2_out_ag(x1, x2) LOG2_IN_AG(x1, x2) = LOG2_IN_AG(x2) U1_AG(x1, x2, x3) = U1_AG(x2, x3) LOG2_IN_AGG(x1, x2, x3) = LOG2_IN_AGG(x2, x3) U2_AGG(x1, x2, x3, x4) = U2_AGG(x2, x3, x4) HALF_IN_AA(x1, x2) = HALF_IN_AA U4_AA(x1, x2, x3) = U4_AA(x3) U3_AGG(x1, x2, x3, x4) = U3_AGG(x1, x2, x3, x4) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) U4_GA(x1, x2, x3) = U4_GA(x1, x3) U3_GGG(x1, x2, x3, x4) = U3_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (5) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 10 less nodes. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x2, x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1, x2, x3) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x2, x3, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) log2_out_ag(x1, x2) = log2_out_ag(x1, x2) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (8) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (9) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (10) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: HALF_IN_GA(s(s(X))) -> HALF_IN_GA(X) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (12) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *HALF_IN_GA(s(s(X))) -> HALF_IN_GA(X) The graph contains the following edges 1 > 1 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Pi DP problem: The TRS P consists of the following rules: U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x2, x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1, x2, x3) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x2, x3, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) log2_out_ag(x1, x2) = log2_out_ag(x1, x2) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (15) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (16) Obligation: Pi DP problem: The TRS P consists of the following rules: U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) The TRS R consists of the following rules: half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) The argument filtering Pi contains the following mapping: s(x1) = s(x1) 0 = 0 half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (17) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)))) The TRS R consists of the following rules: half_in_ga(s(s(X))) -> U4_ga(X, half_in_ga(X)) U4_ga(X, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) half_in_ga(0) -> half_out_ga(0, 0) half_in_ga(s(0)) -> half_out_ga(s(0), 0) The set Q consists of the following terms: half_in_ga(x0) U4_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (19) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)))) at position [3] we obtained the following new rules [LPAR04]: (LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, U4_ga(X, half_in_ga(X))),LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, U4_ga(X, half_in_ga(X)))) ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, U4_ga(X, half_in_ga(X))) The TRS R consists of the following rules: half_in_ga(s(s(X))) -> U4_ga(X, half_in_ga(X)) U4_ga(X, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) half_in_ga(0) -> half_out_ga(0, 0) half_in_ga(s(0)) -> half_out_ga(s(0), 0) The set Q consists of the following terms: half_in_ga(x0) U4_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (21) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, U4_ga(X, half_in_ga(X))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( U2_GGG_4(x_1, ..., x_4) ) = 2x_4 POL( U4_ga_2(x_1, x_2) ) = 2x_2 POL( half_in_ga_1(x_1) ) = 2x_1 POL( s_1(x_1) ) = 2x_1 + 1 POL( 0 ) = 1 POL( half_out_ga_2(x_1, x_2) ) = x_2 + 1 POL( LOG2_IN_GGG_3(x_1, ..., x_3) ) = 2x_1 + 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: half_in_ga(s(s(X))) -> U4_ga(X, half_in_ga(X)) half_in_ga(0) -> half_out_ga(0, 0) half_in_ga(s(0)) -> half_out_ga(s(0), 0) U4_ga(X, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) The TRS R consists of the following rules: half_in_ga(s(s(X))) -> U4_ga(X, half_in_ga(X)) U4_ga(X, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) half_in_ga(0) -> half_out_ga(0, 0) half_in_ga(s(0)) -> half_out_ga(s(0), 0) The set Q consists of the following terms: half_in_ga(x0) U4_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (23) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (24) TRUE ---------------------------------------- (25) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x2, x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1, x2, x3) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x2, x3, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x1, x2) U4_ga(x1, x2, x3) = U4_ga(x1, x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) log2_out_ag(x1, x2) = log2_out_ag(x1, x2) HALF_IN_AA(x1, x2) = HALF_IN_AA We have to consider all (P,R,Pi)-chains ---------------------------------------- (26) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (27) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) HALF_IN_AA(x1, x2) = HALF_IN_AA We have to consider all (P,R,Pi)-chains ---------------------------------------- (28) PrologToPiTRSProof (SOUND) We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: log2_in_2: (f,b) log2_in_3: (f,b,b) (b,b,b) half_in_2: (f,f) (b,f) Transforming Prolog into the following Term Rewriting System: Pi-finite rewrite system: The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg U2_ggg(x1, x2, x3, x4) = U2_ggg(x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) log2_out_ag(x1, x2) = log2_out_ag(x1) Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog ---------------------------------------- (29) Obligation: Pi-finite rewrite system: The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg U2_ggg(x1, x2, x3, x4) = U2_ggg(x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) log2_out_ag(x1, x2) = log2_out_ag(x1) ---------------------------------------- (30) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: Pi DP problem: The TRS P consists of the following rules: LOG2_IN_AG(X, Y) -> U1_AG(X, Y, log2_in_agg(X, 0, Y)) LOG2_IN_AG(X, Y) -> LOG2_IN_AGG(X, 0, Y) LOG2_IN_AGG(s(s(X)), I, Y) -> U2_AGG(X, I, Y, half_in_aa(s(s(X)), X1)) LOG2_IN_AGG(s(s(X)), I, Y) -> HALF_IN_AA(s(s(X)), X1) HALF_IN_AA(s(s(X)), s(Y)) -> U4_AA(X, Y, half_in_aa(X, Y)) HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_AGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) LOG2_IN_GGG(s(s(X)), I, Y) -> HALF_IN_GA(s(s(X)), X1) HALF_IN_GA(s(s(X)), s(Y)) -> U4_GA(X, Y, half_in_ga(X, Y)) HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_GGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg U2_ggg(x1, x2, x3, x4) = U2_ggg(x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) log2_out_ag(x1, x2) = log2_out_ag(x1) LOG2_IN_AG(x1, x2) = LOG2_IN_AG(x2) U1_AG(x1, x2, x3) = U1_AG(x3) LOG2_IN_AGG(x1, x2, x3) = LOG2_IN_AGG(x2, x3) U2_AGG(x1, x2, x3, x4) = U2_AGG(x2, x3, x4) HALF_IN_AA(x1, x2) = HALF_IN_AA U4_AA(x1, x2, x3) = U4_AA(x3) U3_AGG(x1, x2, x3, x4) = U3_AGG(x1, x4) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x2, x3, x4) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) U4_GA(x1, x2, x3) = U4_GA(x3) U3_GGG(x1, x2, x3, x4) = U3_GGG(x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (31) Obligation: Pi DP problem: The TRS P consists of the following rules: LOG2_IN_AG(X, Y) -> U1_AG(X, Y, log2_in_agg(X, 0, Y)) LOG2_IN_AG(X, Y) -> LOG2_IN_AGG(X, 0, Y) LOG2_IN_AGG(s(s(X)), I, Y) -> U2_AGG(X, I, Y, half_in_aa(s(s(X)), X1)) LOG2_IN_AGG(s(s(X)), I, Y) -> HALF_IN_AA(s(s(X)), X1) HALF_IN_AA(s(s(X)), s(Y)) -> U4_AA(X, Y, half_in_aa(X, Y)) HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_AGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_AGG(X, I, Y, half_out_aa(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) LOG2_IN_GGG(s(s(X)), I, Y) -> HALF_IN_GA(s(s(X)), X1) HALF_IN_GA(s(s(X)), s(Y)) -> U4_GA(X, Y, half_in_ga(X, Y)) HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_GGG(X, I, Y, log2_in_ggg(X1, s(I), Y)) U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg U2_ggg(x1, x2, x3, x4) = U2_ggg(x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) log2_out_ag(x1, x2) = log2_out_ag(x1) LOG2_IN_AG(x1, x2) = LOG2_IN_AG(x2) U1_AG(x1, x2, x3) = U1_AG(x3) LOG2_IN_AGG(x1, x2, x3) = LOG2_IN_AGG(x2, x3) U2_AGG(x1, x2, x3, x4) = U2_AGG(x2, x3, x4) HALF_IN_AA(x1, x2) = HALF_IN_AA U4_AA(x1, x2, x3) = U4_AA(x3) U3_AGG(x1, x2, x3, x4) = U3_AGG(x1, x4) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x2, x3, x4) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) U4_GA(x1, x2, x3) = U4_GA(x3) U3_GGG(x1, x2, x3, x4) = U3_GGG(x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (32) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 10 less nodes. ---------------------------------------- (33) Complex Obligation (AND) ---------------------------------------- (34) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg U2_ggg(x1, x2, x3, x4) = U2_ggg(x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) log2_out_ag(x1, x2) = log2_out_ag(x1) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (35) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (36) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_GA(s(s(X)), s(Y)) -> HALF_IN_GA(X, Y) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) HALF_IN_GA(x1, x2) = HALF_IN_GA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (37) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: HALF_IN_GA(s(s(X))) -> HALF_IN_GA(X) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (39) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *HALF_IN_GA(s(s(X))) -> HALF_IN_GA(X) The graph contains the following edges 1 > 1 ---------------------------------------- (40) YES ---------------------------------------- (41) Obligation: Pi DP problem: The TRS P consists of the following rules: U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg U2_ggg(x1, x2, x3, x4) = U2_ggg(x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) log2_out_ag(x1, x2) = log2_out_ag(x1) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (42) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (43) Obligation: Pi DP problem: The TRS P consists of the following rules: U2_GGG(X, I, Y, half_out_ga(s(s(X)), X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(X, I, Y, half_in_ga(s(s(X)), X1)) The TRS R consists of the following rules: half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) The argument filtering Pi contains the following mapping: s(x1) = s(x1) 0 = 0 half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) LOG2_IN_GGG(x1, x2, x3) = LOG2_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (44) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: U2_GGG(I, Y, half_out_ga(X1)) -> LOG2_IN_GGG(X1, s(I), Y) LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(I, Y, half_in_ga(s(s(X)))) The TRS R consists of the following rules: half_in_ga(s(s(X))) -> U4_ga(half_in_ga(X)) U4_ga(half_out_ga(Y)) -> half_out_ga(s(Y)) half_in_ga(0) -> half_out_ga(0) half_in_ga(s(0)) -> half_out_ga(0) The set Q consists of the following terms: half_in_ga(x0) U4_ga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (46) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: LOG2_IN_GGG(s(s(X)), I, Y) -> U2_GGG(I, Y, half_in_ga(s(s(X)))) Strictly oriented rules of the TRS R: half_in_ga(s(0)) -> half_out_ga(0) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(LOG2_IN_GGG(x_1, x_2, x_3)) = 2*x_1 + x_2 + x_3 POL(U2_GGG(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 POL(U4_ga(x_1)) = 2 + x_1 POL(half_in_ga(x_1)) = x_1 POL(half_out_ga(x_1)) = 2*x_1 POL(s(x_1)) = 1 + x_1 ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: U2_GGG(I, Y, half_out_ga(X1)) -> LOG2_IN_GGG(X1, s(I), Y) The TRS R consists of the following rules: half_in_ga(s(s(X))) -> U4_ga(half_in_ga(X)) U4_ga(half_out_ga(Y)) -> half_out_ga(s(Y)) half_in_ga(0) -> half_out_ga(0) The set Q consists of the following terms: half_in_ga(x0) U4_ga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (48) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (49) TRUE ---------------------------------------- (50) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) The TRS R consists of the following rules: log2_in_ag(X, Y) -> U1_ag(X, Y, log2_in_agg(X, 0, Y)) log2_in_agg(0, I, I) -> log2_out_agg(0, I, I) log2_in_agg(s(0), I, I) -> log2_out_agg(s(0), I, I) log2_in_agg(s(s(X)), I, Y) -> U2_agg(X, I, Y, half_in_aa(s(s(X)), X1)) half_in_aa(0, 0) -> half_out_aa(0, 0) half_in_aa(s(0), 0) -> half_out_aa(s(0), 0) half_in_aa(s(s(X)), s(Y)) -> U4_aa(X, Y, half_in_aa(X, Y)) U4_aa(X, Y, half_out_aa(X, Y)) -> half_out_aa(s(s(X)), s(Y)) U2_agg(X, I, Y, half_out_aa(s(s(X)), X1)) -> U3_agg(X, I, Y, log2_in_ggg(X1, s(I), Y)) log2_in_ggg(0, I, I) -> log2_out_ggg(0, I, I) log2_in_ggg(s(0), I, I) -> log2_out_ggg(s(0), I, I) log2_in_ggg(s(s(X)), I, Y) -> U2_ggg(X, I, Y, half_in_ga(s(s(X)), X1)) half_in_ga(0, 0) -> half_out_ga(0, 0) half_in_ga(s(0), 0) -> half_out_ga(s(0), 0) half_in_ga(s(s(X)), s(Y)) -> U4_ga(X, Y, half_in_ga(X, Y)) U4_ga(X, Y, half_out_ga(X, Y)) -> half_out_ga(s(s(X)), s(Y)) U2_ggg(X, I, Y, half_out_ga(s(s(X)), X1)) -> U3_ggg(X, I, Y, log2_in_ggg(X1, s(I), Y)) U3_ggg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_ggg(s(s(X)), I, Y) U3_agg(X, I, Y, log2_out_ggg(X1, s(I), Y)) -> log2_out_agg(s(s(X)), I, Y) U1_ag(X, Y, log2_out_agg(X, 0, Y)) -> log2_out_ag(X, Y) The argument filtering Pi contains the following mapping: log2_in_ag(x1, x2) = log2_in_ag(x2) U1_ag(x1, x2, x3) = U1_ag(x3) log2_in_agg(x1, x2, x3) = log2_in_agg(x2, x3) log2_out_agg(x1, x2, x3) = log2_out_agg(x1) U2_agg(x1, x2, x3, x4) = U2_agg(x2, x3, x4) half_in_aa(x1, x2) = half_in_aa half_out_aa(x1, x2) = half_out_aa(x1, x2) U4_aa(x1, x2, x3) = U4_aa(x3) s(x1) = s(x1) U3_agg(x1, x2, x3, x4) = U3_agg(x1, x4) log2_in_ggg(x1, x2, x3) = log2_in_ggg(x1, x2, x3) 0 = 0 log2_out_ggg(x1, x2, x3) = log2_out_ggg U2_ggg(x1, x2, x3, x4) = U2_ggg(x2, x3, x4) half_in_ga(x1, x2) = half_in_ga(x1) half_out_ga(x1, x2) = half_out_ga(x2) U4_ga(x1, x2, x3) = U4_ga(x3) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) log2_out_ag(x1, x2) = log2_out_ag(x1) HALF_IN_AA(x1, x2) = HALF_IN_AA We have to consider all (P,R,Pi)-chains ---------------------------------------- (51) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (52) Obligation: Pi DP problem: The TRS P consists of the following rules: HALF_IN_AA(s(s(X)), s(Y)) -> HALF_IN_AA(X, Y) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) HALF_IN_AA(x1, x2) = HALF_IN_AA We have to consider all (P,R,Pi)-chains ---------------------------------------- (53) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: HALF_IN_AA -> HALF_IN_AA R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (55) PrologToDTProblemTransformerProof (SOUND) Built DT problem from termination graph DT10. { "root": 1, "program": { "directives": [], "clauses": [ [ "(log2 X Y)", "(log2 X (0) Y)" ], [ "(log2 (0) I I)", null ], [ "(log2 (s (0)) I I)", null ], [ "(log2 (s (s X)) I Y)", "(',' (half (s (s X)) X1) (log2 X1 (s I) Y))" ], [ "(half (0) (0))", null ], [ "(half (s (0)) (0))", null ], [ "(half (s (s X)) (s Y))", "(half X Y)" ] ] }, "graph": { "nodes": { "type": "Nodes", "590": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T57)) X159)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T57"], "free": ["X159"], "exprvars": [] } }, "592": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T58", "T59" ], "free": [], "exprvars": [] } }, "594": { "goal": [ { "clause": 1, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" }, { "clause": 2, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" }, { "clause": 3, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T58", "T59" ], "free": [], "exprvars": [] } }, "596": { "goal": [{ "clause": 1, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T58", "T59" ], "free": [], "exprvars": [] } }, "597": { "goal": [ { "clause": 2, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" }, { "clause": 3, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T58", "T59" ], "free": [], "exprvars": [] } }, "236": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T14)) X26) (log2 X26 (s (0)) T13))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T13"], "free": ["X26"], "exprvars": [] } }, "632": { "goal": [ { "clause": 1, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" }, { "clause": 2, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" }, { "clause": 3, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T65", "T66" ], "free": [], "exprvars": [] } }, "512": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T43)) X113)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T43"], "free": ["X113"], "exprvars": [] } }, "633": { "goal": [{ "clause": 1, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T65", "T66" ], "free": [], "exprvars": [] } }, "238": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "513": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T45 (s (s (s (s (0))))) T44)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "634": { "goal": [ { "clause": 2, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" }, { "clause": 3, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T65", "T66" ], "free": [], "exprvars": [] } }, "514": { "goal": [ { "clause": 1, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" }, { "clause": 2, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" }, { "clause": 3, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "636": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "516": { "goal": [{ "clause": 1, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "517": { "goal": [ { "clause": 2, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" }, { "clause": 3, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "638": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "639": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "361": { "goal": [{ "clause": 1, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "362": { "goal": [ { "clause": 2, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }, { "clause": 3, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "363": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "1": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "free": [], "exprvars": [] } }, "364": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "485": { "goal": [ { "clause": 1, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" }, { "clause": 2, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" }, { "clause": 3, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T37", "T38" ], "free": [], "exprvars": [] } }, "365": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "640": { "goal": [{ "clause": 2, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T65", "T66" ], "free": [], "exprvars": [] } }, "245": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T14)) X26)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X26"], "exprvars": [] } }, "366": { "goal": [{ "clause": 2, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "520": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "641": { "goal": [{ "clause": 3, "scope": 11, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T65", "T66" ], "free": [], "exprvars": [] } }, "4": { "goal": [{ "clause": 0, "scope": 1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "free": [], "exprvars": [] } }, "367": { "goal": [{ "clause": 3, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "488": { "goal": [{ "clause": 1, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T37", "T38" ], "free": [], "exprvars": [] } }, "521": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "247": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "368": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "489": { "goal": [ { "clause": 2, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" }, { "clause": 3, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T37", "T38" ], "free": [], "exprvars": [] } }, "522": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "369": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "7": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "645": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "526": { "goal": [{ "clause": 2, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "527": { "goal": [{ "clause": 3, "scope": 8, "term": "(log2 T45 (s (s (s (s (0))))) T44)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "648": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "649": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "370": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "491": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "371": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T36)) X90) (log2 X90 (s (s (s (0)))) T37))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T36", "T37" ], "free": ["X90"], "exprvars": [] } }, "251": { "goal": [ { "clause": 4, "scope": 3, "term": "(half (s (s T14)) X26)" }, { "clause": 5, "scope": 3, "term": "(half (s (s T14)) X26)" }, { "clause": 6, "scope": 3, "term": "(half (s (s T14)) X26)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X26"], "exprvars": [] } }, "372": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "373": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T36)) X90)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T36"], "free": ["X90"], "exprvars": [] } }, "494": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "374": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T38 (s (s (s (0)))) T37)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T37", "T38" ], "free": [], "exprvars": [] } }, "495": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "254": { "goal": [ { "clause": 5, "scope": 3, "term": "(half (s (s T14)) X26)" }, { "clause": 6, "scope": 3, "term": "(half (s (s T14)) X26)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X26"], "exprvars": [] } }, "530": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "256": { "goal": [{ "clause": 6, "scope": 3, "term": "(half (s (s T14)) X26)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X26"], "exprvars": [] } }, "498": { "goal": [{ "clause": 2, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T37", "T38" ], "free": [], "exprvars": [] } }, "531": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "499": { "goal": [{ "clause": 3, "scope": 7, "term": "(log2 T38 (s (s (s (0)))) T37)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T37", "T38" ], "free": [], "exprvars": [] } }, "532": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "658": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T71)) X205) (log2 X205 (s (s (s (s (s (s (s (s (0))))))))) T72))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T71", "T72" ], "free": ["X205"], "exprvars": [] } }, "538": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T50)) X136) (log2 X136 (s (s (s (s (s (0)))))) T51))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T50", "T51" ], "free": ["X136"], "exprvars": [] } }, "659": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "539": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "662": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T71)) X205) (log2 X205 (s T73) T72))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T71", "T72", "T73" ], "free": ["X205"], "exprvars": [] } }, "267": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "268": { "goal": [ { "clause": 4, "scope": 4, "term": "(half T20 X35)" }, { "clause": 5, "scope": 4, "term": "(half T20 X35)" }, { "clause": 6, "scope": 4, "term": "(half T20 X35)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "664": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T71)) X205)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T71"], "free": ["X205"], "exprvars": [] } }, "269": { "goal": [{ "clause": 4, "scope": 4, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "665": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "668": { "goal": [ { "clause": 1, "scope": 12, "term": "(log2 T74 (s T73) T72)" }, { "clause": 2, "scope": 12, "term": "(log2 T74 (s T73) T72)" }, { "clause": 3, "scope": 12, "term": "(log2 T74 (s T73) T72)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "270": { "goal": [ { "clause": 5, "scope": 4, "term": "(half T20 X35)" }, { "clause": 6, "scope": 4, "term": "(half T20 X35)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "271": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "272": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "273": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "274": { "goal": [{ "clause": 5, "scope": 4, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "670": { "goal": [{ "clause": 1, "scope": 12, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "275": { "goal": [{ "clause": 6, "scope": 4, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "276": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "672": { "goal": [ { "clause": 2, "scope": 12, "term": "(log2 T74 (s T73) T72)" }, { "clause": 3, "scope": 12, "term": "(log2 T74 (s T73) T72)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "277": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "278": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "674": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "279": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T24 X44)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X44"], "exprvars": [] } }, "676": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "678": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "280": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "281": { "goal": [ { "clause": 1, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }, { "clause": 2, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }, { "clause": 3, "scope": 5, "term": "(log2 T15 (s (0)) T13)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "680": { "goal": [{ "clause": 2, "scope": 12, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "681": { "goal": [{ "clause": 3, "scope": 12, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "562": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T50)) X136)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T50"], "free": ["X136"], "exprvars": [] } }, "563": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T51", "T52" ], "free": [], "exprvars": [] } }, "684": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "686": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "566": { "goal": [ { "clause": 1, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" }, { "clause": 2, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" }, { "clause": 3, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T51", "T52" ], "free": [], "exprvars": [] } }, "325": { "goal": [{ "clause": 1, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "600": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "688": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "326": { "goal": [ { "clause": 2, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }, { "clause": 3, "scope": 5, "term": "(log2 T15 (s (0)) T13)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "568": { "goal": [{ "clause": 1, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T51", "T52" ], "free": [], "exprvars": [] } }, "601": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "327": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "569": { "goal": [ { "clause": 2, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" }, { "clause": 3, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T51", "T52" ], "free": [], "exprvars": [] } }, "602": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "328": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "329": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "209": { "goal": [ { "clause": 1, "scope": 2, "term": "(log2 T7 (0) T6)" }, { "clause": 2, "scope": 2, "term": "(log2 T7 (0) T6)" }, { "clause": 3, "scope": 2, "term": "(log2 T7 (0) T6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "606": { "goal": [{ "clause": 2, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T58", "T59" ], "free": [], "exprvars": [] } }, "607": { "goal": [{ "clause": 3, "scope": 10, "term": "(log2 T59 (s (s (s (s (s (s (0))))))) T58)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T58", "T59" ], "free": [], "exprvars": [] } }, "690": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T93)) X228) (log2 X228 (s (s T94)) T95))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T93", "T94", "T95" ], "free": ["X228"], "exprvars": [] } }, "691": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "330": { "goal": [{ "clause": 2, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "210": { "goal": [{ "clause": 1, "scope": 2, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "331": { "goal": [{ "clause": 3, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "573": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "211": { "goal": [ { "clause": 2, "scope": 2, "term": "(log2 T7 (0) T6)" }, { "clause": 3, "scope": 2, "term": "(log2 T7 (0) T6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "332": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "574": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "212": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "333": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "575": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "213": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "334": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "214": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "335": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T29)) X67) (log2 X67 (s (s (0))) T30))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T29", "T30" ], "free": ["X67"], "exprvars": [] } }, "610": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "215": { "goal": [{ "clause": 2, "scope": 2, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "336": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "578": { "goal": [{ "clause": 2, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T51", "T52" ], "free": [], "exprvars": [] } }, "611": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "216": { "goal": [{ "clause": 3, "scope": 2, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "337": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T29)) X67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T29"], "free": ["X67"], "exprvars": [] } }, "579": { "goal": [{ "clause": 3, "scope": 9, "term": "(log2 T52 (s (s (s (s (s (0)))))) T51)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T51", "T52" ], "free": [], "exprvars": [] } }, "612": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "338": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "616": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T64)) X182) (log2 X182 (s (s (s (s (s (s (s (0)))))))) T65))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T64", "T65" ], "free": ["X182"], "exprvars": [] } }, "617": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "580": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "581": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "582": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "221": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "222": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "223": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "586": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T57)) X159) (log2 X159 (s (s (s (s (s (s (0))))))) T58))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T57", "T58" ], "free": ["X159"], "exprvars": [] } }, "587": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "346": { "goal": [ { "clause": 1, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }, { "clause": 2, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }, { "clause": 3, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "621": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T64)) X182)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T64"], "free": ["X182"], "exprvars": [] } }, "622": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T66 (s (s (s (s (s (s (s (0)))))))) T65)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T65", "T66" ], "free": [], "exprvars": [] } }, "503": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "504": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "505": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "508": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T43)) X113) (log2 X113 (s (s (s (s (0))))) T44))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T43", "T44" ], "free": ["X113"], "exprvars": [] } }, "509": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 1, "to": 4, "label": "CASE" }, { "from": 4, "to": 7, "label": "ONLY EVAL with clause\nlog2(X4, X5) :- log2(X4, 0, X5).\nand substitutionT1 -> T7,\nX4 -> T7,\nT2 -> T6,\nX5 -> T6,\nT5 -> T7" }, { "from": 7, "to": 209, "label": "CASE" }, { "from": 209, "to": 210, "label": "PARALLEL" }, { "from": 209, "to": 211, "label": "PARALLEL" }, { "from": 210, "to": 212, "label": "EVAL with clause\nlog2(0, X10, X10).\nand substitutionT7 -> 0,\nX10 -> 0,\nT6 -> 0" }, { "from": 210, "to": 213, "label": "EVAL-BACKTRACK" }, { "from": 211, "to": 215, "label": "PARALLEL" }, { "from": 211, "to": 216, "label": "PARALLEL" }, { "from": 212, "to": 214, "label": "SUCCESS" }, { "from": 215, "to": 221, "label": "EVAL with clause\nlog2(s(0), X15, X15).\nand substitutionT7 -> s(0),\nX15 -> 0,\nT6 -> 0" }, { "from": 215, "to": 222, "label": "EVAL-BACKTRACK" }, { "from": 216, "to": 236, "label": "EVAL with clause\nlog2(s(s(X23)), X24, X25) :- ','(half(s(s(X23)), X26), log2(X26, s(X24), X25)).\nand substitutionX23 -> T14,\nT7 -> s(s(T14)),\nX24 -> 0,\nT6 -> T13,\nX25 -> T13,\nT12 -> T14" }, { "from": 216, "to": 238, "label": "EVAL-BACKTRACK" }, { "from": 221, "to": 223, "label": "SUCCESS" }, { "from": 236, "to": 245, "label": "SPLIT 1" }, { "from": 236, "to": 247, "label": "SPLIT 2\nnew knowledge:\nT14 is ground\nT15 is ground\nreplacements:X26 -> T15" }, { "from": 245, "to": 251, "label": "CASE" }, { "from": 247, "to": 281, "label": "CASE" }, { "from": 251, "to": 254, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 254, "to": 256, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 256, "to": 267, "label": "ONLY EVAL with clause\nhalf(s(s(X33)), s(X34)) :- half(X33, X34).\nand substitutionT14 -> T20,\nX33 -> T20,\nX34 -> X35,\nX26 -> s(X35),\nT19 -> T20" }, { "from": 267, "to": 268, "label": "CASE" }, { "from": 268, "to": 269, "label": "PARALLEL" }, { "from": 268, "to": 270, "label": "PARALLEL" }, { "from": 269, "to": 271, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT20 -> 0,\nX35 -> 0" }, { "from": 269, "to": 272, "label": "EVAL-BACKTRACK" }, { "from": 270, "to": 274, "label": "PARALLEL" }, { "from": 270, "to": 275, "label": "PARALLEL" }, { "from": 271, "to": 273, "label": "SUCCESS" }, { "from": 274, "to": 276, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT20 -> s(0),\nX35 -> 0" }, { "from": 274, "to": 277, "label": "EVAL-BACKTRACK" }, { "from": 275, "to": 279, "label": "EVAL with clause\nhalf(s(s(X42)), s(X43)) :- half(X42, X43).\nand substitutionX42 -> T24,\nT20 -> s(s(T24)),\nX43 -> X44,\nX35 -> s(X44),\nT23 -> T24" }, { "from": 275, "to": 280, "label": "EVAL-BACKTRACK" }, { "from": 276, "to": 278, "label": "SUCCESS" }, { "from": 279, "to": 267, "label": "INSTANCE with matching:\nT20 -> T24\nX35 -> X44" }, { "from": 281, "to": 325, "label": "PARALLEL" }, { "from": 281, "to": 326, "label": "PARALLEL" }, { "from": 325, "to": 327, "label": "EVAL with clause\nlog2(0, X51, X51).\nand substitutionT15 -> 0,\nX51 -> s(0),\nT13 -> s(0)" }, { "from": 325, "to": 328, "label": "EVAL-BACKTRACK" }, { "from": 326, "to": 330, "label": "PARALLEL" }, { "from": 326, "to": 331, "label": "PARALLEL" }, { "from": 327, "to": 329, "label": "SUCCESS" }, { "from": 330, "to": 332, "label": "EVAL with clause\nlog2(s(0), X56, X56).\nand substitutionT15 -> s(0),\nX56 -> s(0),\nT13 -> s(0)" }, { "from": 330, "to": 333, "label": "EVAL-BACKTRACK" }, { "from": 331, "to": 335, "label": "EVAL with clause\nlog2(s(s(X64)), X65, X66) :- ','(half(s(s(X64)), X67), log2(X67, s(X65), X66)).\nand substitutionX64 -> T29,\nT15 -> s(s(T29)),\nX65 -> s(0),\nT13 -> T30,\nX66 -> T30" }, { "from": 331, "to": 336, "label": "EVAL-BACKTRACK" }, { "from": 332, "to": 334, "label": "SUCCESS" }, { "from": 335, "to": 337, "label": "SPLIT 1" }, { "from": 335, "to": 338, "label": "SPLIT 2\nnew knowledge:\nT29 is ground\nT31 is ground\nreplacements:X67 -> T31" }, { "from": 337, "to": 245, "label": "INSTANCE with matching:\nT14 -> T29\nX26 -> X67" }, { "from": 338, "to": 346, "label": "CASE" }, { "from": 346, "to": 361, "label": "PARALLEL" }, { "from": 346, "to": 362, "label": "PARALLEL" }, { "from": 361, "to": 363, "label": "EVAL with clause\nlog2(0, X74, X74).\nand substitutionT31 -> 0,\nX74 -> s(s(0)),\nT30 -> s(s(0))" }, { "from": 361, "to": 364, "label": "EVAL-BACKTRACK" }, { "from": 362, "to": 366, "label": "PARALLEL" }, { "from": 362, "to": 367, "label": "PARALLEL" }, { "from": 363, "to": 365, "label": "SUCCESS" }, { "from": 366, "to": 368, "label": "EVAL with clause\nlog2(s(0), X79, X79).\nand substitutionT31 -> s(0),\nX79 -> s(s(0)),\nT30 -> s(s(0))" }, { "from": 366, "to": 369, "label": "EVAL-BACKTRACK" }, { "from": 367, "to": 371, "label": "EVAL with clause\nlog2(s(s(X87)), X88, X89) :- ','(half(s(s(X87)), X90), log2(X90, s(X88), X89)).\nand substitutionX87 -> T36,\nT31 -> s(s(T36)),\nX88 -> s(s(0)),\nT30 -> T37,\nX89 -> T37" }, { "from": 367, "to": 372, "label": "EVAL-BACKTRACK" }, { "from": 368, "to": 370, "label": "SUCCESS" }, { "from": 371, "to": 373, "label": "SPLIT 1" }, { "from": 371, "to": 374, "label": "SPLIT 2\nnew knowledge:\nT36 is ground\nT38 is ground\nreplacements:X90 -> T38" }, { "from": 373, "to": 245, "label": "INSTANCE with matching:\nT14 -> T36\nX26 -> X90" }, { "from": 374, "to": 485, "label": "CASE" }, { "from": 485, "to": 488, "label": "PARALLEL" }, { "from": 485, "to": 489, "label": "PARALLEL" }, { "from": 488, "to": 491, "label": "EVAL with clause\nlog2(0, X97, X97).\nand substitutionT38 -> 0,\nX97 -> s(s(s(0))),\nT37 -> s(s(s(0)))" }, { "from": 488, "to": 494, "label": "EVAL-BACKTRACK" }, { "from": 489, "to": 498, "label": "PARALLEL" }, { "from": 489, "to": 499, "label": "PARALLEL" }, { "from": 491, "to": 495, "label": "SUCCESS" }, { "from": 498, "to": 503, "label": "EVAL with clause\nlog2(s(0), X102, X102).\nand substitutionT38 -> s(0),\nX102 -> s(s(s(0))),\nT37 -> s(s(s(0)))" }, { "from": 498, "to": 504, "label": "EVAL-BACKTRACK" }, { "from": 499, "to": 508, "label": "EVAL with clause\nlog2(s(s(X110)), X111, X112) :- ','(half(s(s(X110)), X113), log2(X113, s(X111), X112)).\nand substitutionX110 -> T43,\nT38 -> s(s(T43)),\nX111 -> s(s(s(0))),\nT37 -> T44,\nX112 -> T44" }, { "from": 499, "to": 509, "label": "EVAL-BACKTRACK" }, { "from": 503, "to": 505, "label": "SUCCESS" }, { "from": 508, "to": 512, "label": "SPLIT 1" }, { "from": 508, "to": 513, "label": "SPLIT 2\nnew knowledge:\nT43 is ground\nT45 is ground\nreplacements:X113 -> T45" }, { "from": 512, "to": 245, "label": "INSTANCE with matching:\nT14 -> T43\nX26 -> X113" }, { "from": 513, "to": 514, "label": "CASE" }, { "from": 514, "to": 516, "label": "PARALLEL" }, { "from": 514, "to": 517, "label": "PARALLEL" }, { "from": 516, "to": 520, "label": "EVAL with clause\nlog2(0, X120, X120).\nand substitutionT45 -> 0,\nX120 -> s(s(s(s(0)))),\nT44 -> s(s(s(s(0))))" }, { "from": 516, "to": 521, "label": "EVAL-BACKTRACK" }, { "from": 517, "to": 526, "label": "PARALLEL" }, { "from": 517, "to": 527, "label": "PARALLEL" }, { "from": 520, "to": 522, "label": "SUCCESS" }, { "from": 526, "to": 530, "label": "EVAL with clause\nlog2(s(0), X125, X125).\nand substitutionT45 -> s(0),\nX125 -> s(s(s(s(0)))),\nT44 -> s(s(s(s(0))))" }, { "from": 526, "to": 531, "label": "EVAL-BACKTRACK" }, { "from": 527, "to": 538, "label": "EVAL with clause\nlog2(s(s(X133)), X134, X135) :- ','(half(s(s(X133)), X136), log2(X136, s(X134), X135)).\nand substitutionX133 -> T50,\nT45 -> s(s(T50)),\nX134 -> s(s(s(s(0)))),\nT44 -> T51,\nX135 -> T51" }, { "from": 527, "to": 539, "label": "EVAL-BACKTRACK" }, { "from": 530, "to": 532, "label": "SUCCESS" }, { "from": 538, "to": 562, "label": "SPLIT 1" }, { "from": 538, "to": 563, "label": "SPLIT 2\nnew knowledge:\nT50 is ground\nT52 is ground\nreplacements:X136 -> T52" }, { "from": 562, "to": 245, "label": "INSTANCE with matching:\nT14 -> T50\nX26 -> X136" }, { "from": 563, "to": 566, "label": "CASE" }, { "from": 566, "to": 568, "label": "PARALLEL" }, { "from": 566, "to": 569, "label": "PARALLEL" }, { "from": 568, "to": 573, "label": "EVAL with clause\nlog2(0, X143, X143).\nand substitutionT52 -> 0,\nX143 -> s(s(s(s(s(0))))),\nT51 -> s(s(s(s(s(0)))))" }, { "from": 568, "to": 574, "label": "EVAL-BACKTRACK" }, { "from": 569, "to": 578, "label": "PARALLEL" }, { "from": 569, "to": 579, "label": "PARALLEL" }, { "from": 573, "to": 575, "label": "SUCCESS" }, { "from": 578, "to": 580, "label": "EVAL with clause\nlog2(s(0), X148, X148).\nand substitutionT52 -> s(0),\nX148 -> s(s(s(s(s(0))))),\nT51 -> s(s(s(s(s(0)))))" }, { "from": 578, "to": 581, "label": "EVAL-BACKTRACK" }, { "from": 579, "to": 586, "label": "EVAL with clause\nlog2(s(s(X156)), X157, X158) :- ','(half(s(s(X156)), X159), log2(X159, s(X157), X158)).\nand substitutionX156 -> T57,\nT52 -> s(s(T57)),\nX157 -> s(s(s(s(s(0))))),\nT51 -> T58,\nX158 -> T58" }, { "from": 579, "to": 587, "label": "EVAL-BACKTRACK" }, { "from": 580, "to": 582, "label": "SUCCESS" }, { "from": 586, "to": 590, "label": "SPLIT 1" }, { "from": 586, "to": 592, "label": "SPLIT 2\nnew knowledge:\nT57 is ground\nT59 is ground\nreplacements:X159 -> T59" }, { "from": 590, "to": 245, "label": "INSTANCE with matching:\nT14 -> T57\nX26 -> X159" }, { "from": 592, "to": 594, "label": "CASE" }, { "from": 594, "to": 596, "label": "PARALLEL" }, { "from": 594, "to": 597, "label": "PARALLEL" }, { "from": 596, "to": 600, "label": "EVAL with clause\nlog2(0, X166, X166).\nand substitutionT59 -> 0,\nX166 -> s(s(s(s(s(s(0)))))),\nT58 -> s(s(s(s(s(s(0))))))" }, { "from": 596, "to": 601, "label": "EVAL-BACKTRACK" }, { "from": 597, "to": 606, "label": "PARALLEL" }, { "from": 597, "to": 607, "label": "PARALLEL" }, { "from": 600, "to": 602, "label": "SUCCESS" }, { "from": 606, "to": 610, "label": "EVAL with clause\nlog2(s(0), X171, X171).\nand substitutionT59 -> s(0),\nX171 -> s(s(s(s(s(s(0)))))),\nT58 -> s(s(s(s(s(s(0))))))" }, { "from": 606, "to": 611, "label": "EVAL-BACKTRACK" }, { "from": 607, "to": 616, "label": "EVAL with clause\nlog2(s(s(X179)), X180, X181) :- ','(half(s(s(X179)), X182), log2(X182, s(X180), X181)).\nand substitutionX179 -> T64,\nT59 -> s(s(T64)),\nX180 -> s(s(s(s(s(s(0)))))),\nT58 -> T65,\nX181 -> T65" }, { "from": 607, "to": 617, "label": "EVAL-BACKTRACK" }, { "from": 610, "to": 612, "label": "SUCCESS" }, { "from": 616, "to": 621, "label": "SPLIT 1" }, { "from": 616, "to": 622, "label": "SPLIT 2\nnew knowledge:\nT64 is ground\nT66 is ground\nreplacements:X182 -> T66" }, { "from": 621, "to": 245, "label": "INSTANCE with matching:\nT14 -> T64\nX26 -> X182" }, { "from": 622, "to": 632, "label": "CASE" }, { "from": 632, "to": 633, "label": "PARALLEL" }, { "from": 632, "to": 634, "label": "PARALLEL" }, { "from": 633, "to": 636, "label": "EVAL with clause\nlog2(0, X189, X189).\nand substitutionT66 -> 0,\nX189 -> s(s(s(s(s(s(s(0))))))),\nT65 -> s(s(s(s(s(s(s(0)))))))" }, { "from": 633, "to": 638, "label": "EVAL-BACKTRACK" }, { "from": 634, "to": 640, "label": "PARALLEL" }, { "from": 634, "to": 641, "label": "PARALLEL" }, { "from": 636, "to": 639, "label": "SUCCESS" }, { "from": 640, "to": 645, "label": "EVAL with clause\nlog2(s(0), X194, X194).\nand substitutionT66 -> s(0),\nX194 -> s(s(s(s(s(s(s(0))))))),\nT65 -> s(s(s(s(s(s(s(0)))))))" }, { "from": 640, "to": 648, "label": "EVAL-BACKTRACK" }, { "from": 641, "to": 658, "label": "EVAL with clause\nlog2(s(s(X202)), X203, X204) :- ','(half(s(s(X202)), X205), log2(X205, s(X203), X204)).\nand substitutionX202 -> T71,\nT66 -> s(s(T71)),\nX203 -> s(s(s(s(s(s(s(0))))))),\nT65 -> T72,\nX204 -> T72" }, { "from": 641, "to": 659, "label": "EVAL-BACKTRACK" }, { "from": 645, "to": 649, "label": "SUCCESS" }, { "from": 658, "to": 662, "label": "GENERALIZATION\nT73 <-- s(s(s(s(s(s(s(0)))))))\n\nNew Knowledge:\nT73 is ground" }, { "from": 662, "to": 664, "label": "SPLIT 1" }, { "from": 662, "to": 665, "label": "SPLIT 2\nnew knowledge:\nT71 is ground\nT74 is ground\nreplacements:X205 -> T74" }, { "from": 664, "to": 245, "label": "INSTANCE with matching:\nT14 -> T71\nX26 -> X205" }, { "from": 665, "to": 668, "label": "CASE" }, { "from": 668, "to": 670, "label": "PARALLEL" }, { "from": 668, "to": 672, "label": "PARALLEL" }, { "from": 670, "to": 674, "label": "EVAL with clause\nlog2(0, X212, X212).\nand substitutionT74 -> 0,\nT73 -> T81,\nX212 -> s(T81),\nT72 -> s(T81)" }, { "from": 670, "to": 676, "label": "EVAL-BACKTRACK" }, { "from": 672, "to": 680, "label": "PARALLEL" }, { "from": 672, "to": 681, "label": "PARALLEL" }, { "from": 674, "to": 678, "label": "SUCCESS" }, { "from": 680, "to": 684, "label": "EVAL with clause\nlog2(s(0), X217, X217).\nand substitutionT74 -> s(0),\nT73 -> T86,\nX217 -> s(T86),\nT72 -> s(T86)" }, { "from": 680, "to": 686, "label": "EVAL-BACKTRACK" }, { "from": 681, "to": 690, "label": "EVAL with clause\nlog2(s(s(X225)), X226, X227) :- ','(half(s(s(X225)), X228), log2(X228, s(X226), X227)).\nand substitutionX225 -> T93,\nT74 -> s(s(T93)),\nT73 -> T94,\nX226 -> s(T94),\nT72 -> T95,\nX227 -> T95" }, { "from": 681, "to": 691, "label": "EVAL-BACKTRACK" }, { "from": 684, "to": 688, "label": "SUCCESS" }, { "from": 690, "to": 662, "label": "INSTANCE with matching:\nT71 -> T93\nX205 -> X228\nT73 -> s(T94)\nT72 -> T95" } ], "type": "Graph" } } ---------------------------------------- (56) Obligation: Triples: halfA(s(s(X1)), s(X2)) :- halfA(X1, X2). halfB(X1, s(X2)) :- halfA(X1, X2). pC(X1, X2, X3, X4) :- halfB(X1, X2). pC(X1, s(s(X2)), X3, X4) :- ','(halfcB(X1, s(s(X2))), pC(X2, X5, s(X3), X4)). log2D(s(s(X1)), X2) :- halfB(X1, X3). log2D(s(s(X1)), X2) :- ','(halfcB(X1, s(s(X3))), halfB(X3, X4)). log2D(s(s(X1)), X2) :- ','(halfcB(X1, s(s(X3))), ','(halfcB(X3, s(s(X4))), halfB(X4, X5))). log2D(s(s(X1)), X2) :- ','(halfcB(X1, s(s(X3))), ','(halfcB(X3, s(s(X4))), ','(halfcB(X4, s(s(X5))), halfB(X5, X6)))). log2D(s(s(X1)), X2) :- ','(halfcB(X1, s(s(X3))), ','(halfcB(X3, s(s(X4))), ','(halfcB(X4, s(s(X5))), ','(halfcB(X5, s(s(X6))), halfB(X6, X7))))). log2D(s(s(X1)), X2) :- ','(halfcB(X1, s(s(X3))), ','(halfcB(X3, s(s(X4))), ','(halfcB(X4, s(s(X5))), ','(halfcB(X5, s(s(X6))), ','(halfcB(X6, s(s(X7))), halfB(X7, X8)))))). log2D(s(s(X1)), X2) :- ','(halfcB(X1, s(s(X3))), ','(halfcB(X3, s(s(X4))), ','(halfcB(X4, s(s(X5))), ','(halfcB(X5, s(s(X6))), ','(halfcB(X6, s(s(X7))), ','(halfcB(X7, s(s(X8))), halfB(X8, X9))))))). log2D(s(s(X1)), X2) :- ','(halfcB(X1, s(s(X3))), ','(halfcB(X3, s(s(X4))), ','(halfcB(X4, s(s(X5))), ','(halfcB(X5, s(s(X6))), ','(halfcB(X6, s(s(X7))), ','(halfcB(X7, s(s(X8))), ','(halfcB(X8, s(s(X9))), pC(X9, X10, s(s(s(s(s(s(s(0))))))), X2)))))))). Clauses: halfcA(0, 0). halfcA(s(0), 0). halfcA(s(s(X1)), s(X2)) :- halfcA(X1, X2). halfcB(X1, s(X2)) :- halfcA(X1, X2). qcC(X1, 0, X2, s(X2)) :- halfcB(X1, 0). qcC(X1, s(0), X2, s(X2)) :- halfcB(X1, s(0)). qcC(X1, s(s(X2)), X3, X4) :- ','(halfcB(X1, s(s(X2))), qcC(X2, X5, s(X3), X4)). Afs: log2D(x1, x2) = log2D(x2) ---------------------------------------- (57) TriplesToPiDPProof (SOUND) We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: log2D_in_2: (f,b) halfB_in_2: (f,f) (b,f) halfA_in_2: (f,f) (b,f) halfcB_in_2: (f,f) (b,f) halfcA_in_2: (f,f) (b,f) pC_in_4: (b,f,b,b) Transforming TRIPLES into the following Term Rewriting System: Pi DP problem: The TRS P consists of the following rules: LOG2D_IN_AG(s(s(X1)), X2) -> U6_AG(X1, X2, halfB_in_aa(X1, X3)) LOG2D_IN_AG(s(s(X1)), X2) -> HALFB_IN_AA(X1, X3) HALFB_IN_AA(X1, s(X2)) -> U2_AA(X1, X2, halfA_in_aa(X1, X2)) HALFB_IN_AA(X1, s(X2)) -> HALFA_IN_AA(X1, X2) HALFA_IN_AA(s(s(X1)), s(X2)) -> U1_AA(X1, X2, halfA_in_aa(X1, X2)) HALFA_IN_AA(s(s(X1)), s(X2)) -> HALFA_IN_AA(X1, X2) LOG2D_IN_AG(s(s(X1)), X2) -> U7_AG(X1, X2, halfcB_in_aa(X1, s(s(X3)))) U7_AG(X1, X2, halfcB_out_aa(X1, s(s(X3)))) -> U8_AG(X1, X2, halfB_in_ga(X3, X4)) U7_AG(X1, X2, halfcB_out_aa(X1, s(s(X3)))) -> HALFB_IN_GA(X3, X4) HALFB_IN_GA(X1, s(X2)) -> U2_GA(X1, X2, halfA_in_ga(X1, X2)) HALFB_IN_GA(X1, s(X2)) -> HALFA_IN_GA(X1, X2) HALFA_IN_GA(s(s(X1)), s(X2)) -> U1_GA(X1, X2, halfA_in_ga(X1, X2)) HALFA_IN_GA(s(s(X1)), s(X2)) -> HALFA_IN_GA(X1, X2) U7_AG(X1, X2, halfcB_out_aa(X1, s(s(X3)))) -> U9_AG(X1, X2, halfcB_in_ga(X3, s(s(X4)))) U9_AG(X1, X2, halfcB_out_ga(X3, s(s(X4)))) -> U10_AG(X1, X2, halfB_in_ga(X4, X5)) U9_AG(X1, X2, halfcB_out_ga(X3, s(s(X4)))) -> HALFB_IN_GA(X4, X5) U9_AG(X1, X2, halfcB_out_ga(X3, s(s(X4)))) -> U11_AG(X1, X2, halfcB_in_ga(X4, s(s(X5)))) U11_AG(X1, X2, halfcB_out_ga(X4, s(s(X5)))) -> U12_AG(X1, X2, halfB_in_ga(X5, X6)) U11_AG(X1, X2, halfcB_out_ga(X4, s(s(X5)))) -> HALFB_IN_GA(X5, X6) U11_AG(X1, X2, halfcB_out_ga(X4, s(s(X5)))) -> U13_AG(X1, X2, halfcB_in_ga(X5, s(s(X6)))) U13_AG(X1, X2, halfcB_out_ga(X5, s(s(X6)))) -> U14_AG(X1, X2, halfB_in_ga(X6, X7)) U13_AG(X1, X2, halfcB_out_ga(X5, s(s(X6)))) -> HALFB_IN_GA(X6, X7) U13_AG(X1, X2, halfcB_out_ga(X5, s(s(X6)))) -> U15_AG(X1, X2, halfcB_in_ga(X6, s(s(X7)))) U15_AG(X1, X2, halfcB_out_ga(X6, s(s(X7)))) -> U16_AG(X1, X2, halfB_in_ga(X7, X8)) U15_AG(X1, X2, halfcB_out_ga(X6, s(s(X7)))) -> HALFB_IN_GA(X7, X8) U15_AG(X1, X2, halfcB_out_ga(X6, s(s(X7)))) -> U17_AG(X1, X2, halfcB_in_ga(X7, s(s(X8)))) U17_AG(X1, X2, halfcB_out_ga(X7, s(s(X8)))) -> U18_AG(X1, X2, halfB_in_ga(X8, X9)) U17_AG(X1, X2, halfcB_out_ga(X7, s(s(X8)))) -> HALFB_IN_GA(X8, X9) U17_AG(X1, X2, halfcB_out_ga(X7, s(s(X8)))) -> U19_AG(X1, X2, halfcB_in_ga(X8, s(s(X9)))) U19_AG(X1, X2, halfcB_out_ga(X8, s(s(X9)))) -> U20_AG(X1, X2, pC_in_gagg(X9, X10, s(s(s(s(s(s(s(0))))))), X2)) U19_AG(X1, X2, halfcB_out_ga(X8, s(s(X9)))) -> PC_IN_GAGG(X9, X10, s(s(s(s(s(s(s(0))))))), X2) PC_IN_GAGG(X1, X2, X3, X4) -> U3_GAGG(X1, X2, X3, X4, halfB_in_ga(X1, X2)) PC_IN_GAGG(X1, X2, X3, X4) -> HALFB_IN_GA(X1, X2) PC_IN_GAGG(X1, s(s(X2)), X3, X4) -> U4_GAGG(X1, X2, X3, X4, halfcB_in_ga(X1, s(s(X2)))) U4_GAGG(X1, X2, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> U5_GAGG(X1, X2, X3, X4, pC_in_gagg(X2, X5, s(X3), X4)) U4_GAGG(X1, X2, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, X5, s(X3), X4) The TRS R consists of the following rules: halfcB_in_aa(X1, s(X2)) -> U23_aa(X1, X2, halfcA_in_aa(X1, X2)) halfcA_in_aa(0, 0) -> halfcA_out_aa(0, 0) halfcA_in_aa(s(0), 0) -> halfcA_out_aa(s(0), 0) halfcA_in_aa(s(s(X1)), s(X2)) -> U22_aa(X1, X2, halfcA_in_aa(X1, X2)) U22_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcA_out_aa(s(s(X1)), s(X2)) U23_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcB_out_aa(X1, s(X2)) halfcB_in_ga(X1, s(X2)) -> U23_ga(X1, X2, halfcA_in_ga(X1, X2)) halfcA_in_ga(0, 0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0), 0) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1)), s(X2)) -> U22_ga(X1, X2, halfcA_in_ga(X1, X2)) U22_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) U23_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) The argument filtering Pi contains the following mapping: halfB_in_aa(x1, x2) = halfB_in_aa halfA_in_aa(x1, x2) = halfA_in_aa halfcB_in_aa(x1, x2) = halfcB_in_aa U23_aa(x1, x2, x3) = U23_aa(x3) halfcA_in_aa(x1, x2) = halfcA_in_aa halfcA_out_aa(x1, x2) = halfcA_out_aa(x1, x2) U22_aa(x1, x2, x3) = U22_aa(x3) halfcB_out_aa(x1, x2) = halfcB_out_aa(x1, x2) s(x1) = s(x1) halfB_in_ga(x1, x2) = halfB_in_ga(x1) halfA_in_ga(x1, x2) = halfA_in_ga(x1) halfcB_in_ga(x1, x2) = halfcB_in_ga(x1) U23_ga(x1, x2, x3) = U23_ga(x1, x3) halfcA_in_ga(x1, x2) = halfcA_in_ga(x1) 0 = 0 halfcA_out_ga(x1, x2) = halfcA_out_ga(x1, x2) U22_ga(x1, x2, x3) = U22_ga(x1, x3) halfcB_out_ga(x1, x2) = halfcB_out_ga(x1, x2) pC_in_gagg(x1, x2, x3, x4) = pC_in_gagg(x1, x3, x4) LOG2D_IN_AG(x1, x2) = LOG2D_IN_AG(x2) U6_AG(x1, x2, x3) = U6_AG(x2, x3) HALFB_IN_AA(x1, x2) = HALFB_IN_AA U2_AA(x1, x2, x3) = U2_AA(x3) HALFA_IN_AA(x1, x2) = HALFA_IN_AA U1_AA(x1, x2, x3) = U1_AA(x3) U7_AG(x1, x2, x3) = U7_AG(x2, x3) U8_AG(x1, x2, x3) = U8_AG(x1, x2, x3) HALFB_IN_GA(x1, x2) = HALFB_IN_GA(x1) U2_GA(x1, x2, x3) = U2_GA(x1, x3) HALFA_IN_GA(x1, x2) = HALFA_IN_GA(x1) U1_GA(x1, x2, x3) = U1_GA(x1, x3) U9_AG(x1, x2, x3) = U9_AG(x1, x2, x3) U10_AG(x1, x2, x3) = U10_AG(x1, x2, x3) U11_AG(x1, x2, x3) = U11_AG(x1, x2, x3) U12_AG(x1, x2, x3) = U12_AG(x1, x2, x3) U13_AG(x1, x2, x3) = U13_AG(x1, x2, x3) U14_AG(x1, x2, x3) = U14_AG(x1, x2, x3) U15_AG(x1, x2, x3) = U15_AG(x1, x2, x3) U16_AG(x1, x2, x3) = U16_AG(x1, x2, x3) U17_AG(x1, x2, x3) = U17_AG(x1, x2, x3) U18_AG(x1, x2, x3) = U18_AG(x1, x2, x3) U19_AG(x1, x2, x3) = U19_AG(x1, x2, x3) U20_AG(x1, x2, x3) = U20_AG(x1, x2, x3) PC_IN_GAGG(x1, x2, x3, x4) = PC_IN_GAGG(x1, x3, x4) U3_GAGG(x1, x2, x3, x4, x5) = U3_GAGG(x1, x3, x4, x5) U4_GAGG(x1, x2, x3, x4, x5) = U4_GAGG(x1, x3, x4, x5) U5_GAGG(x1, x2, x3, x4, x5) = U5_GAGG(x1, x2, x3, x4, x5) We have to consider all (P,R,Pi)-chains Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES ---------------------------------------- (58) Obligation: Pi DP problem: The TRS P consists of the following rules: LOG2D_IN_AG(s(s(X1)), X2) -> U6_AG(X1, X2, halfB_in_aa(X1, X3)) LOG2D_IN_AG(s(s(X1)), X2) -> HALFB_IN_AA(X1, X3) HALFB_IN_AA(X1, s(X2)) -> U2_AA(X1, X2, halfA_in_aa(X1, X2)) HALFB_IN_AA(X1, s(X2)) -> HALFA_IN_AA(X1, X2) HALFA_IN_AA(s(s(X1)), s(X2)) -> U1_AA(X1, X2, halfA_in_aa(X1, X2)) HALFA_IN_AA(s(s(X1)), s(X2)) -> HALFA_IN_AA(X1, X2) LOG2D_IN_AG(s(s(X1)), X2) -> U7_AG(X1, X2, halfcB_in_aa(X1, s(s(X3)))) U7_AG(X1, X2, halfcB_out_aa(X1, s(s(X3)))) -> U8_AG(X1, X2, halfB_in_ga(X3, X4)) U7_AG(X1, X2, halfcB_out_aa(X1, s(s(X3)))) -> HALFB_IN_GA(X3, X4) HALFB_IN_GA(X1, s(X2)) -> U2_GA(X1, X2, halfA_in_ga(X1, X2)) HALFB_IN_GA(X1, s(X2)) -> HALFA_IN_GA(X1, X2) HALFA_IN_GA(s(s(X1)), s(X2)) -> U1_GA(X1, X2, halfA_in_ga(X1, X2)) HALFA_IN_GA(s(s(X1)), s(X2)) -> HALFA_IN_GA(X1, X2) U7_AG(X1, X2, halfcB_out_aa(X1, s(s(X3)))) -> U9_AG(X1, X2, halfcB_in_ga(X3, s(s(X4)))) U9_AG(X1, X2, halfcB_out_ga(X3, s(s(X4)))) -> U10_AG(X1, X2, halfB_in_ga(X4, X5)) U9_AG(X1, X2, halfcB_out_ga(X3, s(s(X4)))) -> HALFB_IN_GA(X4, X5) U9_AG(X1, X2, halfcB_out_ga(X3, s(s(X4)))) -> U11_AG(X1, X2, halfcB_in_ga(X4, s(s(X5)))) U11_AG(X1, X2, halfcB_out_ga(X4, s(s(X5)))) -> U12_AG(X1, X2, halfB_in_ga(X5, X6)) U11_AG(X1, X2, halfcB_out_ga(X4, s(s(X5)))) -> HALFB_IN_GA(X5, X6) U11_AG(X1, X2, halfcB_out_ga(X4, s(s(X5)))) -> U13_AG(X1, X2, halfcB_in_ga(X5, s(s(X6)))) U13_AG(X1, X2, halfcB_out_ga(X5, s(s(X6)))) -> U14_AG(X1, X2, halfB_in_ga(X6, X7)) U13_AG(X1, X2, halfcB_out_ga(X5, s(s(X6)))) -> HALFB_IN_GA(X6, X7) U13_AG(X1, X2, halfcB_out_ga(X5, s(s(X6)))) -> U15_AG(X1, X2, halfcB_in_ga(X6, s(s(X7)))) U15_AG(X1, X2, halfcB_out_ga(X6, s(s(X7)))) -> U16_AG(X1, X2, halfB_in_ga(X7, X8)) U15_AG(X1, X2, halfcB_out_ga(X6, s(s(X7)))) -> HALFB_IN_GA(X7, X8) U15_AG(X1, X2, halfcB_out_ga(X6, s(s(X7)))) -> U17_AG(X1, X2, halfcB_in_ga(X7, s(s(X8)))) U17_AG(X1, X2, halfcB_out_ga(X7, s(s(X8)))) -> U18_AG(X1, X2, halfB_in_ga(X8, X9)) U17_AG(X1, X2, halfcB_out_ga(X7, s(s(X8)))) -> HALFB_IN_GA(X8, X9) U17_AG(X1, X2, halfcB_out_ga(X7, s(s(X8)))) -> U19_AG(X1, X2, halfcB_in_ga(X8, s(s(X9)))) U19_AG(X1, X2, halfcB_out_ga(X8, s(s(X9)))) -> U20_AG(X1, X2, pC_in_gagg(X9, X10, s(s(s(s(s(s(s(0))))))), X2)) U19_AG(X1, X2, halfcB_out_ga(X8, s(s(X9)))) -> PC_IN_GAGG(X9, X10, s(s(s(s(s(s(s(0))))))), X2) PC_IN_GAGG(X1, X2, X3, X4) -> U3_GAGG(X1, X2, X3, X4, halfB_in_ga(X1, X2)) PC_IN_GAGG(X1, X2, X3, X4) -> HALFB_IN_GA(X1, X2) PC_IN_GAGG(X1, s(s(X2)), X3, X4) -> U4_GAGG(X1, X2, X3, X4, halfcB_in_ga(X1, s(s(X2)))) U4_GAGG(X1, X2, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> U5_GAGG(X1, X2, X3, X4, pC_in_gagg(X2, X5, s(X3), X4)) U4_GAGG(X1, X2, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, X5, s(X3), X4) The TRS R consists of the following rules: halfcB_in_aa(X1, s(X2)) -> U23_aa(X1, X2, halfcA_in_aa(X1, X2)) halfcA_in_aa(0, 0) -> halfcA_out_aa(0, 0) halfcA_in_aa(s(0), 0) -> halfcA_out_aa(s(0), 0) halfcA_in_aa(s(s(X1)), s(X2)) -> U22_aa(X1, X2, halfcA_in_aa(X1, X2)) U22_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcA_out_aa(s(s(X1)), s(X2)) U23_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcB_out_aa(X1, s(X2)) halfcB_in_ga(X1, s(X2)) -> U23_ga(X1, X2, halfcA_in_ga(X1, X2)) halfcA_in_ga(0, 0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0), 0) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1)), s(X2)) -> U22_ga(X1, X2, halfcA_in_ga(X1, X2)) U22_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) U23_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) The argument filtering Pi contains the following mapping: halfB_in_aa(x1, x2) = halfB_in_aa halfA_in_aa(x1, x2) = halfA_in_aa halfcB_in_aa(x1, x2) = halfcB_in_aa U23_aa(x1, x2, x3) = U23_aa(x3) halfcA_in_aa(x1, x2) = halfcA_in_aa halfcA_out_aa(x1, x2) = halfcA_out_aa(x1, x2) U22_aa(x1, x2, x3) = U22_aa(x3) halfcB_out_aa(x1, x2) = halfcB_out_aa(x1, x2) s(x1) = s(x1) halfB_in_ga(x1, x2) = halfB_in_ga(x1) halfA_in_ga(x1, x2) = halfA_in_ga(x1) halfcB_in_ga(x1, x2) = halfcB_in_ga(x1) U23_ga(x1, x2, x3) = U23_ga(x1, x3) halfcA_in_ga(x1, x2) = halfcA_in_ga(x1) 0 = 0 halfcA_out_ga(x1, x2) = halfcA_out_ga(x1, x2) U22_ga(x1, x2, x3) = U22_ga(x1, x3) halfcB_out_ga(x1, x2) = halfcB_out_ga(x1, x2) pC_in_gagg(x1, x2, x3, x4) = pC_in_gagg(x1, x3, x4) LOG2D_IN_AG(x1, x2) = LOG2D_IN_AG(x2) U6_AG(x1, x2, x3) = U6_AG(x2, x3) HALFB_IN_AA(x1, x2) = HALFB_IN_AA U2_AA(x1, x2, x3) = U2_AA(x3) HALFA_IN_AA(x1, x2) = HALFA_IN_AA U1_AA(x1, x2, x3) = U1_AA(x3) U7_AG(x1, x2, x3) = U7_AG(x2, x3) U8_AG(x1, x2, x3) = U8_AG(x1, x2, x3) HALFB_IN_GA(x1, x2) = HALFB_IN_GA(x1) U2_GA(x1, x2, x3) = U2_GA(x1, x3) HALFA_IN_GA(x1, x2) = HALFA_IN_GA(x1) U1_GA(x1, x2, x3) = U1_GA(x1, x3) U9_AG(x1, x2, x3) = U9_AG(x1, x2, x3) U10_AG(x1, x2, x3) = U10_AG(x1, x2, x3) U11_AG(x1, x2, x3) = U11_AG(x1, x2, x3) U12_AG(x1, x2, x3) = U12_AG(x1, x2, x3) U13_AG(x1, x2, x3) = U13_AG(x1, x2, x3) U14_AG(x1, x2, x3) = U14_AG(x1, x2, x3) U15_AG(x1, x2, x3) = U15_AG(x1, x2, x3) U16_AG(x1, x2, x3) = U16_AG(x1, x2, x3) U17_AG(x1, x2, x3) = U17_AG(x1, x2, x3) U18_AG(x1, x2, x3) = U18_AG(x1, x2, x3) U19_AG(x1, x2, x3) = U19_AG(x1, x2, x3) U20_AG(x1, x2, x3) = U20_AG(x1, x2, x3) PC_IN_GAGG(x1, x2, x3, x4) = PC_IN_GAGG(x1, x3, x4) U3_GAGG(x1, x2, x3, x4, x5) = U3_GAGG(x1, x3, x4, x5) U4_GAGG(x1, x2, x3, x4, x5) = U4_GAGG(x1, x3, x4, x5) U5_GAGG(x1, x2, x3, x4, x5) = U5_GAGG(x1, x2, x3, x4, x5) We have to consider all (P,R,Pi)-chains ---------------------------------------- (59) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 32 less nodes. ---------------------------------------- (60) Complex Obligation (AND) ---------------------------------------- (61) Obligation: Pi DP problem: The TRS P consists of the following rules: HALFA_IN_GA(s(s(X1)), s(X2)) -> HALFA_IN_GA(X1, X2) The TRS R consists of the following rules: halfcB_in_aa(X1, s(X2)) -> U23_aa(X1, X2, halfcA_in_aa(X1, X2)) halfcA_in_aa(0, 0) -> halfcA_out_aa(0, 0) halfcA_in_aa(s(0), 0) -> halfcA_out_aa(s(0), 0) halfcA_in_aa(s(s(X1)), s(X2)) -> U22_aa(X1, X2, halfcA_in_aa(X1, X2)) U22_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcA_out_aa(s(s(X1)), s(X2)) U23_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcB_out_aa(X1, s(X2)) halfcB_in_ga(X1, s(X2)) -> U23_ga(X1, X2, halfcA_in_ga(X1, X2)) halfcA_in_ga(0, 0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0), 0) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1)), s(X2)) -> U22_ga(X1, X2, halfcA_in_ga(X1, X2)) U22_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) U23_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) The argument filtering Pi contains the following mapping: halfcB_in_aa(x1, x2) = halfcB_in_aa U23_aa(x1, x2, x3) = U23_aa(x3) halfcA_in_aa(x1, x2) = halfcA_in_aa halfcA_out_aa(x1, x2) = halfcA_out_aa(x1, x2) U22_aa(x1, x2, x3) = U22_aa(x3) halfcB_out_aa(x1, x2) = halfcB_out_aa(x1, x2) s(x1) = s(x1) halfcB_in_ga(x1, x2) = halfcB_in_ga(x1) U23_ga(x1, x2, x3) = U23_ga(x1, x3) halfcA_in_ga(x1, x2) = halfcA_in_ga(x1) 0 = 0 halfcA_out_ga(x1, x2) = halfcA_out_ga(x1, x2) U22_ga(x1, x2, x3) = U22_ga(x1, x3) halfcB_out_ga(x1, x2) = halfcB_out_ga(x1, x2) HALFA_IN_GA(x1, x2) = HALFA_IN_GA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (62) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (63) Obligation: Pi DP problem: The TRS P consists of the following rules: HALFA_IN_GA(s(s(X1)), s(X2)) -> HALFA_IN_GA(X1, X2) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) HALFA_IN_GA(x1, x2) = HALFA_IN_GA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (64) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: HALFA_IN_GA(s(s(X1))) -> HALFA_IN_GA(X1) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (66) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *HALFA_IN_GA(s(s(X1))) -> HALFA_IN_GA(X1) The graph contains the following edges 1 > 1 ---------------------------------------- (67) YES ---------------------------------------- (68) Obligation: Pi DP problem: The TRS P consists of the following rules: PC_IN_GAGG(X1, s(s(X2)), X3, X4) -> U4_GAGG(X1, X2, X3, X4, halfcB_in_ga(X1, s(s(X2)))) U4_GAGG(X1, X2, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, X5, s(X3), X4) The TRS R consists of the following rules: halfcB_in_aa(X1, s(X2)) -> U23_aa(X1, X2, halfcA_in_aa(X1, X2)) halfcA_in_aa(0, 0) -> halfcA_out_aa(0, 0) halfcA_in_aa(s(0), 0) -> halfcA_out_aa(s(0), 0) halfcA_in_aa(s(s(X1)), s(X2)) -> U22_aa(X1, X2, halfcA_in_aa(X1, X2)) U22_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcA_out_aa(s(s(X1)), s(X2)) U23_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcB_out_aa(X1, s(X2)) halfcB_in_ga(X1, s(X2)) -> U23_ga(X1, X2, halfcA_in_ga(X1, X2)) halfcA_in_ga(0, 0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0), 0) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1)), s(X2)) -> U22_ga(X1, X2, halfcA_in_ga(X1, X2)) U22_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) U23_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) The argument filtering Pi contains the following mapping: halfcB_in_aa(x1, x2) = halfcB_in_aa U23_aa(x1, x2, x3) = U23_aa(x3) halfcA_in_aa(x1, x2) = halfcA_in_aa halfcA_out_aa(x1, x2) = halfcA_out_aa(x1, x2) U22_aa(x1, x2, x3) = U22_aa(x3) halfcB_out_aa(x1, x2) = halfcB_out_aa(x1, x2) s(x1) = s(x1) halfcB_in_ga(x1, x2) = halfcB_in_ga(x1) U23_ga(x1, x2, x3) = U23_ga(x1, x3) halfcA_in_ga(x1, x2) = halfcA_in_ga(x1) 0 = 0 halfcA_out_ga(x1, x2) = halfcA_out_ga(x1, x2) U22_ga(x1, x2, x3) = U22_ga(x1, x3) halfcB_out_ga(x1, x2) = halfcB_out_ga(x1, x2) PC_IN_GAGG(x1, x2, x3, x4) = PC_IN_GAGG(x1, x3, x4) U4_GAGG(x1, x2, x3, x4, x5) = U4_GAGG(x1, x3, x4, x5) We have to consider all (P,R,Pi)-chains ---------------------------------------- (69) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (70) Obligation: Pi DP problem: The TRS P consists of the following rules: PC_IN_GAGG(X1, s(s(X2)), X3, X4) -> U4_GAGG(X1, X2, X3, X4, halfcB_in_ga(X1, s(s(X2)))) U4_GAGG(X1, X2, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, X5, s(X3), X4) The TRS R consists of the following rules: halfcB_in_ga(X1, s(X2)) -> U23_ga(X1, X2, halfcA_in_ga(X1, X2)) U23_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) halfcA_in_ga(0, 0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0), 0) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1)), s(X2)) -> U22_ga(X1, X2, halfcA_in_ga(X1, X2)) U22_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) The argument filtering Pi contains the following mapping: s(x1) = s(x1) halfcB_in_ga(x1, x2) = halfcB_in_ga(x1) U23_ga(x1, x2, x3) = U23_ga(x1, x3) halfcA_in_ga(x1, x2) = halfcA_in_ga(x1) 0 = 0 halfcA_out_ga(x1, x2) = halfcA_out_ga(x1, x2) U22_ga(x1, x2, x3) = U22_ga(x1, x3) halfcB_out_ga(x1, x2) = halfcB_out_ga(x1, x2) PC_IN_GAGG(x1, x2, x3, x4) = PC_IN_GAGG(x1, x3, x4) U4_GAGG(x1, x2, x3, x4, x5) = U4_GAGG(x1, x3, x4, x5) We have to consider all (P,R,Pi)-chains ---------------------------------------- (71) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (72) Obligation: Q DP problem: The TRS P consists of the following rules: PC_IN_GAGG(X1, X3, X4) -> U4_GAGG(X1, X3, X4, halfcB_in_ga(X1)) U4_GAGG(X1, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, s(X3), X4) The TRS R consists of the following rules: halfcB_in_ga(X1) -> U23_ga(X1, halfcA_in_ga(X1)) U23_ga(X1, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) halfcA_in_ga(0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0)) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1))) -> U22_ga(X1, halfcA_in_ga(X1)) U22_ga(X1, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) The set Q consists of the following terms: halfcB_in_ga(x0) U23_ga(x0, x1) halfcA_in_ga(x0) U22_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (73) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule PC_IN_GAGG(X1, X3, X4) -> U4_GAGG(X1, X3, X4, halfcB_in_ga(X1)) at position [3] we obtained the following new rules [LPAR04]: (PC_IN_GAGG(X1, X3, X4) -> U4_GAGG(X1, X3, X4, U23_ga(X1, halfcA_in_ga(X1))),PC_IN_GAGG(X1, X3, X4) -> U4_GAGG(X1, X3, X4, U23_ga(X1, halfcA_in_ga(X1)))) ---------------------------------------- (74) Obligation: Q DP problem: The TRS P consists of the following rules: U4_GAGG(X1, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, s(X3), X4) PC_IN_GAGG(X1, X3, X4) -> U4_GAGG(X1, X3, X4, U23_ga(X1, halfcA_in_ga(X1))) The TRS R consists of the following rules: halfcB_in_ga(X1) -> U23_ga(X1, halfcA_in_ga(X1)) U23_ga(X1, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) halfcA_in_ga(0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0)) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1))) -> U22_ga(X1, halfcA_in_ga(X1)) U22_ga(X1, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) The set Q consists of the following terms: halfcB_in_ga(x0) U23_ga(x0, x1) halfcA_in_ga(x0) U22_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (75) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (76) Obligation: Q DP problem: The TRS P consists of the following rules: U4_GAGG(X1, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, s(X3), X4) PC_IN_GAGG(X1, X3, X4) -> U4_GAGG(X1, X3, X4, U23_ga(X1, halfcA_in_ga(X1))) The TRS R consists of the following rules: halfcA_in_ga(0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0)) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1))) -> U22_ga(X1, halfcA_in_ga(X1)) U23_ga(X1, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) U22_ga(X1, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) The set Q consists of the following terms: halfcB_in_ga(x0) U23_ga(x0, x1) halfcA_in_ga(x0) U22_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (77) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. halfcB_in_ga(x0) ---------------------------------------- (78) Obligation: Q DP problem: The TRS P consists of the following rules: U4_GAGG(X1, X3, X4, halfcB_out_ga(X1, s(s(X2)))) -> PC_IN_GAGG(X2, s(X3), X4) PC_IN_GAGG(X1, X3, X4) -> U4_GAGG(X1, X3, X4, U23_ga(X1, halfcA_in_ga(X1))) The TRS R consists of the following rules: halfcA_in_ga(0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0)) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1))) -> U22_ga(X1, halfcA_in_ga(X1)) U23_ga(X1, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) U22_ga(X1, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) The set Q consists of the following terms: U23_ga(x0, x1) halfcA_in_ga(x0) U22_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (79) Obligation: Pi DP problem: The TRS P consists of the following rules: HALFA_IN_AA(s(s(X1)), s(X2)) -> HALFA_IN_AA(X1, X2) The TRS R consists of the following rules: halfcB_in_aa(X1, s(X2)) -> U23_aa(X1, X2, halfcA_in_aa(X1, X2)) halfcA_in_aa(0, 0) -> halfcA_out_aa(0, 0) halfcA_in_aa(s(0), 0) -> halfcA_out_aa(s(0), 0) halfcA_in_aa(s(s(X1)), s(X2)) -> U22_aa(X1, X2, halfcA_in_aa(X1, X2)) U22_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcA_out_aa(s(s(X1)), s(X2)) U23_aa(X1, X2, halfcA_out_aa(X1, X2)) -> halfcB_out_aa(X1, s(X2)) halfcB_in_ga(X1, s(X2)) -> U23_ga(X1, X2, halfcA_in_ga(X1, X2)) halfcA_in_ga(0, 0) -> halfcA_out_ga(0, 0) halfcA_in_ga(s(0), 0) -> halfcA_out_ga(s(0), 0) halfcA_in_ga(s(s(X1)), s(X2)) -> U22_ga(X1, X2, halfcA_in_ga(X1, X2)) U22_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcA_out_ga(s(s(X1)), s(X2)) U23_ga(X1, X2, halfcA_out_ga(X1, X2)) -> halfcB_out_ga(X1, s(X2)) The argument filtering Pi contains the following mapping: halfcB_in_aa(x1, x2) = halfcB_in_aa U23_aa(x1, x2, x3) = U23_aa(x3) halfcA_in_aa(x1, x2) = halfcA_in_aa halfcA_out_aa(x1, x2) = halfcA_out_aa(x1, x2) U22_aa(x1, x2, x3) = U22_aa(x3) halfcB_out_aa(x1, x2) = halfcB_out_aa(x1, x2) s(x1) = s(x1) halfcB_in_ga(x1, x2) = halfcB_in_ga(x1) U23_ga(x1, x2, x3) = U23_ga(x1, x3) halfcA_in_ga(x1, x2) = halfcA_in_ga(x1) 0 = 0 halfcA_out_ga(x1, x2) = halfcA_out_ga(x1, x2) U22_ga(x1, x2, x3) = U22_ga(x1, x3) halfcB_out_ga(x1, x2) = halfcB_out_ga(x1, x2) HALFA_IN_AA(x1, x2) = HALFA_IN_AA We have to consider all (P,R,Pi)-chains ---------------------------------------- (80) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (81) Obligation: Pi DP problem: The TRS P consists of the following rules: HALFA_IN_AA(s(s(X1)), s(X2)) -> HALFA_IN_AA(X1, X2) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) HALFA_IN_AA(x1, x2) = HALFA_IN_AA We have to consider all (P,R,Pi)-chains ---------------------------------------- (82) PrologToTRSTransformerProof (SOUND) Transformed Prolog program to TRS. { "root": 2, "program": { "directives": [], "clauses": [ [ "(log2 X Y)", "(log2 X (0) Y)" ], [ "(log2 (0) I I)", null ], [ "(log2 (s (0)) I I)", null ], [ "(log2 (s (s X)) I Y)", "(',' (half (s (s X)) X1) (log2 X1 (s I) Y))" ], [ "(half (0) (0))", null ], [ "(half (s (0)) (0))", null ], [ "(half (s (s X)) (s Y))", "(half X Y)" ] ] }, "graph": { "nodes": { "193": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "type": "Nodes", "110": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "198": { "goal": [ { "clause": 4, "scope": 4, "term": "(half T23 X41)" }, { "clause": 5, "scope": 4, "term": "(half T23 X41)" }, { "clause": 6, "scope": 4, "term": "(half T23 X41)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "111": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "199": { "goal": [{ "clause": 4, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "112": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "510": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T59)) X160)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T59"], "free": ["X160"], "exprvars": [] } }, "511": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "635": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T73)) X206) (log2 X206 (s (s (s (s (s (s (s (0)))))))) T74))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T73", "T74" ], "free": ["X206"], "exprvars": [] } }, "515": { "goal": [ { "clause": 1, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }, { "clause": 2, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }, { "clause": 3, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "637": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "94": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "95": { "goal": [ { "clause": 1, "scope": 2, "term": "(log2 T10 (0) T9)" }, { "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }, { "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "518": { "goal": [{ "clause": 1, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "96": { "goal": [{ "clause": 1, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "519": { "goal": [ { "clause": 2, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }, { "clause": 3, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "97": { "goal": [ { "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }, { "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "98": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "99": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "484": { "goal": [ { "clause": 1, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }, { "clause": 2, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }, { "clause": 3, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "free": [], "exprvars": [] } }, "486": { "goal": [{ "clause": 1, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "487": { "goal": [ { "clause": 2, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }, { "clause": 3, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "400": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "free": [], "exprvars": [] } }, "523": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "524": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "404": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T45)) X114)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T45"], "free": ["X114"], "exprvars": [] } }, "525": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "646": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T73)) X206)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T73"], "free": ["X206"], "exprvars": [] } }, "405": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "647": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "528": { "goal": [{ "clause": 2, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "529": { "goal": [{ "clause": 3, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "490": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "492": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "493": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "375": { "goal": [ { "clause": 4, "scope": 7, "term": "(half T37 X82)" }, { "clause": 5, "scope": 7, "term": "(half T37 X82)" }, { "clause": 6, "scope": 7, "term": "(half T37 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "496": { "goal": [{ "clause": 2, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "376": { "goal": [{ "clause": 4, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "497": { "goal": [{ "clause": 3, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "377": { "goal": [ { "clause": 5, "scope": 7, "term": "(half T37 X82)" }, { "clause": 6, "scope": 7, "term": "(half T37 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "378": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "137": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T17)) X32) (log2 X32 (s (0)) T16))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T16"], "free": ["X32"], "exprvars": [] } }, "379": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "533": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "415": { "goal": [ { "clause": 1, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }, { "clause": 2, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }, { "clause": 3, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "536": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "537": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "418": { "goal": [{ "clause": 1, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "380": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "381": { "goal": [{ "clause": 5, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "382": { "goal": [{ "clause": 6, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "383": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "384": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "385": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "386": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T40 X91)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T40"], "free": ["X91"], "exprvars": [] } }, "387": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "420": { "goal": [ { "clause": 2, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }, { "clause": 3, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "541": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T66)) X183) (log2 X183 (s (s (s (s (s (s (0))))))) T67))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T66", "T67" ], "free": ["X183"], "exprvars": [] } }, "146": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "388": { "goal": [ { "clause": 1, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }, { "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }, { "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "542": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "301": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "389": { "goal": [{ "clause": 1, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "304": { "goal": [{ "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "425": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "700": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "426": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "701": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "306": { "goal": [{ "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "548": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T66)) X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T66"], "free": ["X183"], "exprvars": [] } }, "669": { "goal": [ { "clause": 1, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }, { "clause": 2, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }, { "clause": 3, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "702": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "428": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "549": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "703": { "goal": [{ "clause": 2, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "704": { "goal": [{ "clause": 3, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "705": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "706": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "707": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "708": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T102)) X252) (log2 X252 (s (s T103)) T104))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T102", "T103", "T104" ], "free": ["X252"], "exprvars": [] } }, "709": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "390": { "goal": [ { "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }, { "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "391": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "392": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "393": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "394": { "goal": [{ "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "395": { "goal": [{ "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "396": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "671": { "goal": [{ "clause": 1, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "397": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "398": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "431": { "goal": [{ "clause": 2, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "673": { "goal": [ { "clause": 2, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }, { "clause": 3, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "311": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "399": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T45)) X114) (log2 X114 (s (s (s (0)))) T46))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T45", "T46" ], "free": ["X114"], "exprvars": [] } }, "432": { "goal": [{ "clause": 3, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "312": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "675": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "313": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "434": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "555": { "goal": [ { "clause": 1, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }, { "clause": 2, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }, { "clause": 3, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "556": { "goal": [{ "clause": 1, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "677": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "436": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "557": { "goal": [ { "clause": 2, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }, { "clause": 3, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "316": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T32)) X73) (log2 X73 (s (s (0))) T33))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T32", "T33" ], "free": ["X73"], "exprvars": [] } }, "437": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "679": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "317": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "438": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T52)) X137) (log2 X137 (s (s (s (s (0))))) T53))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T52", "T53" ], "free": ["X137"], "exprvars": [] } }, "439": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "285": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T27 X50)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X50"], "exprvars": [] } }, "165": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "682": { "goal": [{ "clause": 2, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "166": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "287": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "683": { "goal": [{ "clause": 3, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "200": { "goal": [ { "clause": 5, "scope": 4, "term": "(half T23 X41)" }, { "clause": 6, "scope": 4, "term": "(half T23 X41)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "201": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "443": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T52)) X137)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T52"], "free": ["X137"], "exprvars": [] } }, "685": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "202": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "444": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "203": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "687": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "204": { "goal": [{ "clause": 5, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "205": { "goal": [{ "clause": 6, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "689": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "206": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "207": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "208": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "291": { "goal": [ { "clause": 1, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }, { "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }, { "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "293": { "goal": [{ "clause": 1, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "294": { "goal": [ { "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }, { "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "692": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T80)) X229) (log2 X229 (s (s (s (s (s (s (s (s (0))))))))) T81))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T80", "T81" ], "free": ["X229"], "exprvars": [] } }, "693": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "298": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "694": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T80)) X229) (log2 X229 (s T82) T81))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T80", "T81", "T82" ], "free": ["X229"], "exprvars": [] } }, "178": { "goal": [ { "clause": 4, "scope": 3, "term": "(half (s (s T17)) X32)" }, { "clause": 5, "scope": 3, "term": "(half (s (s T17)) X32)" }, { "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "299": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "695": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T80)) X229)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T80"], "free": ["X229"], "exprvars": [] } }, "179": { "goal": [ { "clause": 5, "scope": 3, "term": "(half (s (s T17)) X32)" }, { "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "696": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "697": { "goal": [ { "clause": 1, "scope": 14, "term": "(log2 T83 (s T82) T81)" }, { "clause": 2, "scope": 14, "term": "(log2 T83 (s T82) T81)" }, { "clause": 3, "scope": 14, "term": "(log2 T83 (s T82) T81)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "698": { "goal": [{ "clause": 1, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "699": { "goal": [ { "clause": 2, "scope": 14, "term": "(log2 T83 (s T82) T81)" }, { "clause": 3, "scope": 14, "term": "(log2 T83 (s T82) T81)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "618": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "619": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "181": { "goal": [{ "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "340": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "341": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "100": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "342": { "goal": [ { "clause": 4, "scope": 6, "term": "(half (s (s T32)) X73)" }, { "clause": 5, "scope": 6, "term": "(half (s (s T32)) X73)" }, { "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "101": { "goal": [{ "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "343": { "goal": [ { "clause": 5, "scope": 6, "term": "(half (s (s T32)) X73)" }, { "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "102": { "goal": [{ "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "344": { "goal": [{ "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "345": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "620": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "500": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "501": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "502": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "625": { "goal": [{ "clause": 2, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "626": { "goal": [{ "clause": 3, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "506": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T59)) X160) (log2 X160 (s (s (s (s (s (0)))))) T60))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T59", "T60" ], "free": ["X160"], "exprvars": [] } }, "627": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "507": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "628": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "629": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 2, "to": 6, "label": "CASE" }, { "from": 6, "to": 94, "label": "ONLY EVAL with clause\nlog2(X8, X9) :- log2(X8, 0, X9).\nand substitutionT1 -> T10,\nX8 -> T10,\nT2 -> T9,\nX9 -> T9,\nT8 -> T10" }, { "from": 94, "to": 95, "label": "CASE" }, { "from": 95, "to": 96, "label": "PARALLEL" }, { "from": 95, "to": 97, "label": "PARALLEL" }, { "from": 96, "to": 98, "label": "EVAL with clause\nlog2(0, X16, X16).\nand substitutionT10 -> 0,\nX16 -> 0,\nT9 -> 0" }, { "from": 96, "to": 99, "label": "EVAL-BACKTRACK" }, { "from": 97, "to": 101, "label": "PARALLEL" }, { "from": 97, "to": 102, "label": "PARALLEL" }, { "from": 98, "to": 100, "label": "SUCCESS" }, { "from": 101, "to": 110, "label": "EVAL with clause\nlog2(s(0), X21, X21).\nand substitutionT10 -> s(0),\nX21 -> 0,\nT9 -> 0" }, { "from": 101, "to": 111, "label": "EVAL-BACKTRACK" }, { "from": 102, "to": 137, "label": "EVAL with clause\nlog2(s(s(X29)), X30, X31) :- ','(half(s(s(X29)), X32), log2(X32, s(X30), X31)).\nand substitutionX29 -> T17,\nT10 -> s(s(T17)),\nX30 -> 0,\nT9 -> T16,\nX31 -> T16,\nT15 -> T17" }, { "from": 102, "to": 146, "label": "EVAL-BACKTRACK" }, { "from": 110, "to": 112, "label": "SUCCESS" }, { "from": 137, "to": 165, "label": "SPLIT 1" }, { "from": 137, "to": 166, "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nT18 is ground\nreplacements:X32 -> T18" }, { "from": 165, "to": 178, "label": "CASE" }, { "from": 166, "to": 291, "label": "CASE" }, { "from": 178, "to": 179, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 179, "to": 181, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 181, "to": 193, "label": "ONLY EVAL with clause\nhalf(s(s(X39)), s(X40)) :- half(X39, X40).\nand substitutionT17 -> T23,\nX39 -> T23,\nX40 -> X41,\nX32 -> s(X41),\nT22 -> T23" }, { "from": 193, "to": 198, "label": "CASE" }, { "from": 198, "to": 199, "label": "PARALLEL" }, { "from": 198, "to": 200, "label": "PARALLEL" }, { "from": 199, "to": 201, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT23 -> 0,\nX41 -> 0" }, { "from": 199, "to": 202, "label": "EVAL-BACKTRACK" }, { "from": 200, "to": 204, "label": "PARALLEL" }, { "from": 200, "to": 205, "label": "PARALLEL" }, { "from": 201, "to": 203, "label": "SUCCESS" }, { "from": 204, "to": 206, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT23 -> s(0),\nX41 -> 0" }, { "from": 204, "to": 207, "label": "EVAL-BACKTRACK" }, { "from": 205, "to": 285, "label": "EVAL with clause\nhalf(s(s(X48)), s(X49)) :- half(X48, X49).\nand substitutionX48 -> T27,\nT23 -> s(s(T27)),\nX49 -> X50,\nX41 -> s(X50),\nT26 -> T27" }, { "from": 205, "to": 287, "label": "EVAL-BACKTRACK" }, { "from": 206, "to": 208, "label": "SUCCESS" }, { "from": 285, "to": 193, "label": "INSTANCE with matching:\nT23 -> T27\nX41 -> X50" }, { "from": 291, "to": 293, "label": "PARALLEL" }, { "from": 291, "to": 294, "label": "PARALLEL" }, { "from": 293, "to": 298, "label": "EVAL with clause\nlog2(0, X57, X57).\nand substitutionT18 -> 0,\nX57 -> s(0),\nT16 -> s(0)" }, { "from": 293, "to": 299, "label": "EVAL-BACKTRACK" }, { "from": 294, "to": 304, "label": "PARALLEL" }, { "from": 294, "to": 306, "label": "PARALLEL" }, { "from": 298, "to": 301, "label": "SUCCESS" }, { "from": 304, "to": 311, "label": "EVAL with clause\nlog2(s(0), X62, X62).\nand substitutionT18 -> s(0),\nX62 -> s(0),\nT16 -> s(0)" }, { "from": 304, "to": 312, "label": "EVAL-BACKTRACK" }, { "from": 306, "to": 316, "label": "EVAL with clause\nlog2(s(s(X70)), X71, X72) :- ','(half(s(s(X70)), X73), log2(X73, s(X71), X72)).\nand substitutionX70 -> T32,\nT18 -> s(s(T32)),\nX71 -> s(0),\nT16 -> T33,\nX72 -> T33" }, { "from": 306, "to": 317, "label": "EVAL-BACKTRACK" }, { "from": 311, "to": 313, "label": "SUCCESS" }, { "from": 316, "to": 340, "label": "SPLIT 1" }, { "from": 316, "to": 341, "label": "SPLIT 2\nnew knowledge:\nT32 is ground\nT34 is ground\nreplacements:X73 -> T34" }, { "from": 340, "to": 342, "label": "CASE" }, { "from": 341, "to": 388, "label": "CASE" }, { "from": 342, "to": 343, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 343, "to": 344, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 344, "to": 345, "label": "ONLY EVAL with clause\nhalf(s(s(X80)), s(X81)) :- half(X80, X81).\nand substitutionT32 -> T37,\nX80 -> T37,\nX81 -> X82,\nX73 -> s(X82)" }, { "from": 345, "to": 375, "label": "CASE" }, { "from": 375, "to": 376, "label": "PARALLEL" }, { "from": 375, "to": 377, "label": "PARALLEL" }, { "from": 376, "to": 378, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT37 -> 0,\nX82 -> 0" }, { "from": 376, "to": 379, "label": "EVAL-BACKTRACK" }, { "from": 377, "to": 381, "label": "PARALLEL" }, { "from": 377, "to": 382, "label": "PARALLEL" }, { "from": 378, "to": 380, "label": "SUCCESS" }, { "from": 381, "to": 383, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT37 -> s(0),\nX82 -> 0" }, { "from": 381, "to": 384, "label": "EVAL-BACKTRACK" }, { "from": 382, "to": 386, "label": "EVAL with clause\nhalf(s(s(X89)), s(X90)) :- half(X89, X90).\nand substitutionX89 -> T40,\nT37 -> s(s(T40)),\nX90 -> X91,\nX82 -> s(X91)" }, { "from": 382, "to": 387, "label": "EVAL-BACKTRACK" }, { "from": 383, "to": 385, "label": "SUCCESS" }, { "from": 386, "to": 345, "label": "INSTANCE with matching:\nT37 -> T40\nX82 -> X91" }, { "from": 388, "to": 389, "label": "PARALLEL" }, { "from": 388, "to": 390, "label": "PARALLEL" }, { "from": 389, "to": 391, "label": "EVAL with clause\nlog2(0, X98, X98).\nand substitutionT34 -> 0,\nX98 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 389, "to": 392, "label": "EVAL-BACKTRACK" }, { "from": 390, "to": 394, "label": "PARALLEL" }, { "from": 390, "to": 395, "label": "PARALLEL" }, { "from": 391, "to": 393, "label": "SUCCESS" }, { "from": 394, "to": 396, "label": "EVAL with clause\nlog2(s(0), X103, X103).\nand substitutionT34 -> s(0),\nX103 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 394, "to": 397, "label": "EVAL-BACKTRACK" }, { "from": 395, "to": 399, "label": "EVAL with clause\nlog2(s(s(X111)), X112, X113) :- ','(half(s(s(X111)), X114), log2(X114, s(X112), X113)).\nand substitutionX111 -> T45,\nT34 -> s(s(T45)),\nX112 -> s(s(0)),\nT33 -> T46,\nX113 -> T46" }, { "from": 395, "to": 400, "label": "EVAL-BACKTRACK" }, { "from": 396, "to": 398, "label": "SUCCESS" }, { "from": 399, "to": 404, "label": "SPLIT 1" }, { "from": 399, "to": 405, "label": "SPLIT 2\nnew knowledge:\nT45 is ground\nT47 is ground\nreplacements:X114 -> T47" }, { "from": 404, "to": 340, "label": "INSTANCE with matching:\nT32 -> T45\nX73 -> X114" }, { "from": 405, "to": 415, "label": "CASE" }, { "from": 415, "to": 418, "label": "PARALLEL" }, { "from": 415, "to": 420, "label": "PARALLEL" }, { "from": 418, "to": 425, "label": "EVAL with clause\nlog2(0, X121, X121).\nand substitutionT47 -> 0,\nX121 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 418, "to": 426, "label": "EVAL-BACKTRACK" }, { "from": 420, "to": 431, "label": "PARALLEL" }, { "from": 420, "to": 432, "label": "PARALLEL" }, { "from": 425, "to": 428, "label": "SUCCESS" }, { "from": 431, "to": 434, "label": "EVAL with clause\nlog2(s(0), X126, X126).\nand substitutionT47 -> s(0),\nX126 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 431, "to": 436, "label": "EVAL-BACKTRACK" }, { "from": 432, "to": 438, "label": "EVAL with clause\nlog2(s(s(X134)), X135, X136) :- ','(half(s(s(X134)), X137), log2(X137, s(X135), X136)).\nand substitutionX134 -> T52,\nT47 -> s(s(T52)),\nX135 -> s(s(s(0))),\nT46 -> T53,\nX136 -> T53" }, { "from": 432, "to": 439, "label": "EVAL-BACKTRACK" }, { "from": 434, "to": 437, "label": "SUCCESS" }, { "from": 438, "to": 443, "label": "SPLIT 1" }, { "from": 438, "to": 444, "label": "SPLIT 2\nnew knowledge:\nT52 is ground\nT54 is ground\nreplacements:X137 -> T54" }, { "from": 443, "to": 340, "label": "INSTANCE with matching:\nT32 -> T52\nX73 -> X137" }, { "from": 444, "to": 484, "label": "CASE" }, { "from": 484, "to": 486, "label": "PARALLEL" }, { "from": 484, "to": 487, "label": "PARALLEL" }, { "from": 486, "to": 490, "label": "EVAL with clause\nlog2(0, X144, X144).\nand substitutionT54 -> 0,\nX144 -> s(s(s(s(0)))),\nT53 -> s(s(s(s(0))))" }, { "from": 486, "to": 492, "label": "EVAL-BACKTRACK" }, { "from": 487, "to": 496, "label": "PARALLEL" }, { "from": 487, "to": 497, "label": "PARALLEL" }, { "from": 490, "to": 493, "label": "SUCCESS" }, { "from": 496, "to": 500, "label": "EVAL with clause\nlog2(s(0), X149, X149).\nand substitutionT54 -> s(0),\nX149 -> s(s(s(s(0)))),\nT53 -> s(s(s(s(0))))" }, { "from": 496, "to": 501, "label": "EVAL-BACKTRACK" }, { "from": 497, "to": 506, "label": "EVAL with clause\nlog2(s(s(X157)), X158, X159) :- ','(half(s(s(X157)), X160), log2(X160, s(X158), X159)).\nand substitutionX157 -> T59,\nT54 -> s(s(T59)),\nX158 -> s(s(s(s(0)))),\nT53 -> T60,\nX159 -> T60" }, { "from": 497, "to": 507, "label": "EVAL-BACKTRACK" }, { "from": 500, "to": 502, "label": "SUCCESS" }, { "from": 506, "to": 510, "label": "SPLIT 1" }, { "from": 506, "to": 511, "label": "SPLIT 2\nnew knowledge:\nT59 is ground\nT61 is ground\nreplacements:X160 -> T61" }, { "from": 510, "to": 340, "label": "INSTANCE with matching:\nT32 -> T59\nX73 -> X160" }, { "from": 511, "to": 515, "label": "CASE" }, { "from": 515, "to": 518, "label": "PARALLEL" }, { "from": 515, "to": 519, "label": "PARALLEL" }, { "from": 518, "to": 523, "label": "EVAL with clause\nlog2(0, X167, X167).\nand substitutionT61 -> 0,\nX167 -> s(s(s(s(s(0))))),\nT60 -> s(s(s(s(s(0)))))" }, { "from": 518, "to": 524, "label": "EVAL-BACKTRACK" }, { "from": 519, "to": 528, "label": "PARALLEL" }, { "from": 519, "to": 529, "label": "PARALLEL" }, { "from": 523, "to": 525, "label": "SUCCESS" }, { "from": 528, "to": 533, "label": "EVAL with clause\nlog2(s(0), X172, X172).\nand substitutionT61 -> s(0),\nX172 -> s(s(s(s(s(0))))),\nT60 -> s(s(s(s(s(0)))))" }, { "from": 528, "to": 536, "label": "EVAL-BACKTRACK" }, { "from": 529, "to": 541, "label": "EVAL with clause\nlog2(s(s(X180)), X181, X182) :- ','(half(s(s(X180)), X183), log2(X183, s(X181), X182)).\nand substitutionX180 -> T66,\nT61 -> s(s(T66)),\nX181 -> s(s(s(s(s(0))))),\nT60 -> T67,\nX182 -> T67" }, { "from": 529, "to": 542, "label": "EVAL-BACKTRACK" }, { "from": 533, "to": 537, "label": "SUCCESS" }, { "from": 541, "to": 548, "label": "SPLIT 1" }, { "from": 541, "to": 549, "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT68 is ground\nreplacements:X183 -> T68" }, { "from": 548, "to": 340, "label": "INSTANCE with matching:\nT32 -> T66\nX73 -> X183" }, { "from": 549, "to": 555, "label": "CASE" }, { "from": 555, "to": 556, "label": "PARALLEL" }, { "from": 555, "to": 557, "label": "PARALLEL" }, { "from": 556, "to": 618, "label": "EVAL with clause\nlog2(0, X190, X190).\nand substitutionT68 -> 0,\nX190 -> s(s(s(s(s(s(0)))))),\nT67 -> s(s(s(s(s(s(0))))))" }, { "from": 556, "to": 619, "label": "EVAL-BACKTRACK" }, { "from": 557, "to": 625, "label": "PARALLEL" }, { "from": 557, "to": 626, "label": "PARALLEL" }, { "from": 618, "to": 620, "label": "SUCCESS" }, { "from": 625, "to": 627, "label": "EVAL with clause\nlog2(s(0), X195, X195).\nand substitutionT68 -> s(0),\nX195 -> s(s(s(s(s(s(0)))))),\nT67 -> s(s(s(s(s(s(0))))))" }, { "from": 625, "to": 628, "label": "EVAL-BACKTRACK" }, { "from": 626, "to": 635, "label": "EVAL with clause\nlog2(s(s(X203)), X204, X205) :- ','(half(s(s(X203)), X206), log2(X206, s(X204), X205)).\nand substitutionX203 -> T73,\nT68 -> s(s(T73)),\nX204 -> s(s(s(s(s(s(0)))))),\nT67 -> T74,\nX205 -> T74" }, { "from": 626, "to": 637, "label": "EVAL-BACKTRACK" }, { "from": 627, "to": 629, "label": "SUCCESS" }, { "from": 635, "to": 646, "label": "SPLIT 1" }, { "from": 635, "to": 647, "label": "SPLIT 2\nnew knowledge:\nT73 is ground\nT75 is ground\nreplacements:X206 -> T75" }, { "from": 646, "to": 340, "label": "INSTANCE with matching:\nT32 -> T73\nX73 -> X206" }, { "from": 647, "to": 669, "label": "CASE" }, { "from": 669, "to": 671, "label": "PARALLEL" }, { "from": 669, "to": 673, "label": "PARALLEL" }, { "from": 671, "to": 675, "label": "EVAL with clause\nlog2(0, X213, X213).\nand substitutionT75 -> 0,\nX213 -> s(s(s(s(s(s(s(0))))))),\nT74 -> s(s(s(s(s(s(s(0)))))))" }, { "from": 671, "to": 677, "label": "EVAL-BACKTRACK" }, { "from": 673, "to": 682, "label": "PARALLEL" }, { "from": 673, "to": 683, "label": "PARALLEL" }, { "from": 675, "to": 679, "label": "SUCCESS" }, { "from": 682, "to": 685, "label": "EVAL with clause\nlog2(s(0), X218, X218).\nand substitutionT75 -> s(0),\nX218 -> s(s(s(s(s(s(s(0))))))),\nT74 -> s(s(s(s(s(s(s(0)))))))" }, { "from": 682, "to": 687, "label": "EVAL-BACKTRACK" }, { "from": 683, "to": 692, "label": "EVAL with clause\nlog2(s(s(X226)), X227, X228) :- ','(half(s(s(X226)), X229), log2(X229, s(X227), X228)).\nand substitutionX226 -> T80,\nT75 -> s(s(T80)),\nX227 -> s(s(s(s(s(s(s(0))))))),\nT74 -> T81,\nX228 -> T81" }, { "from": 683, "to": 693, "label": "EVAL-BACKTRACK" }, { "from": 685, "to": 689, "label": "SUCCESS" }, { "from": 692, "to": 694, "label": "GENERALIZATION\nT82 <-- s(s(s(s(s(s(s(0)))))))\n\nNew Knowledge:\nT82 is ground" }, { "from": 694, "to": 695, "label": "SPLIT 1" }, { "from": 694, "to": 696, "label": "SPLIT 2\nnew knowledge:\nT80 is ground\nT83 is ground\nreplacements:X229 -> T83" }, { "from": 695, "to": 340, "label": "INSTANCE with matching:\nT32 -> T80\nX73 -> X229" }, { "from": 696, "to": 697, "label": "CASE" }, { "from": 697, "to": 698, "label": "PARALLEL" }, { "from": 697, "to": 699, "label": "PARALLEL" }, { "from": 698, "to": 700, "label": "EVAL with clause\nlog2(0, X236, X236).\nand substitutionT83 -> 0,\nT82 -> T90,\nX236 -> s(T90),\nT81 -> s(T90)" }, { "from": 698, "to": 701, "label": "EVAL-BACKTRACK" }, { "from": 699, "to": 703, "label": "PARALLEL" }, { "from": 699, "to": 704, "label": "PARALLEL" }, { "from": 700, "to": 702, "label": "SUCCESS" }, { "from": 703, "to": 705, "label": "EVAL with clause\nlog2(s(0), X241, X241).\nand substitutionT83 -> s(0),\nT82 -> T95,\nX241 -> s(T95),\nT81 -> s(T95)" }, { "from": 703, "to": 706, "label": "EVAL-BACKTRACK" }, { "from": 704, "to": 708, "label": "EVAL with clause\nlog2(s(s(X249)), X250, X251) :- ','(half(s(s(X249)), X252), log2(X252, s(X250), X251)).\nand substitutionX249 -> T102,\nT83 -> s(s(T102)),\nT82 -> T103,\nX250 -> s(T103),\nT81 -> T104,\nX251 -> T104" }, { "from": 704, "to": 709, "label": "EVAL-BACKTRACK" }, { "from": 705, "to": 707, "label": "SUCCESS" }, { "from": 708, "to": 694, "label": "INSTANCE with matching:\nT80 -> T102\nX229 -> X252\nT82 -> s(T103)\nT81 -> T104" } ], "type": "Graph" } } ---------------------------------------- (83) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: f2_in(0) -> f2_out1(0) f2_in(0) -> f2_out1(s(0)) f2_in(T16) -> U1(f137_in(T16), T16) U1(f137_out1(T17, X32), T16) -> f2_out1(s(s(T17))) f193_in -> f193_out1(0, 0) f193_in -> f193_out1(s(0), 0) f193_in -> U2(f193_in) U2(f193_out1(T27, X50)) -> f193_out1(s(s(T27)), s(X50)) f345_in(0) -> f345_out1(0) f345_in(s(0)) -> f345_out1(0) f345_in(s(s(T40))) -> U3(f345_in(T40), s(s(T40))) U3(f345_out1(X91), s(s(T40))) -> f345_out1(s(X91)) f340_in(T37) -> U4(f345_in(T37), T37) U4(f345_out1(X82), T37) -> f340_out1(s(X82)) f165_in -> U5(f193_in) U5(f193_out1(T23, X41)) -> f165_out1(T23, s(X41)) f166_in(0, s(0)) -> f166_out1 f166_in(s(0), s(0)) -> f166_out1 f166_in(s(s(T32)), T33) -> U6(f316_in(T32, T33), s(s(T32)), T33) U6(f316_out1(X73), s(s(T32)), T33) -> f166_out1 f341_in(0, s(s(0))) -> f341_out1 f341_in(s(0), s(s(0))) -> f341_out1 f341_in(s(s(T45)), T46) -> U7(f399_in(T45, T46), s(s(T45)), T46) U7(f399_out1(X114), s(s(T45)), T46) -> f341_out1 f405_in(0, s(s(s(0)))) -> f405_out1 f405_in(s(0), s(s(s(0)))) -> f405_out1 f405_in(s(s(T52)), T53) -> U8(f438_in(T52, T53), s(s(T52)), T53) U8(f438_out1(X137), s(s(T52)), T53) -> f405_out1 f444_in(0, s(s(s(s(0))))) -> f444_out1 f444_in(s(0), s(s(s(s(0))))) -> f444_out1 f444_in(s(s(T59)), T60) -> U9(f506_in(T59, T60), s(s(T59)), T60) U9(f506_out1(X160), s(s(T59)), T60) -> f444_out1 f511_in(0, s(s(s(s(s(0)))))) -> f511_out1 f511_in(s(0), s(s(s(s(s(0)))))) -> f511_out1 f511_in(s(s(T66)), T67) -> U10(f541_in(T66, T67), s(s(T66)), T67) U10(f541_out1(X183), s(s(T66)), T67) -> f511_out1 f549_in(0, s(s(s(s(s(s(0))))))) -> f549_out1 f549_in(s(0), s(s(s(s(s(s(0))))))) -> f549_out1 f549_in(s(s(T73)), T74) -> U11(f635_in(T73, T74), s(s(T73)), T74) U11(f635_out1(X206), s(s(T73)), T74) -> f549_out1 f647_in(0, s(s(s(s(s(s(s(0)))))))) -> f647_out1 f647_in(s(0), s(s(s(s(s(s(s(0)))))))) -> f647_out1 f647_in(s(s(T80)), T81) -> U12(f694_in(T80, s(s(s(s(s(s(s(0))))))), T81), s(s(T80)), T81) U12(f694_out1(X229), s(s(T80)), T81) -> f647_out1 f696_in(0, T90, s(T90)) -> f696_out1 f696_in(s(0), T95, s(T95)) -> f696_out1 f696_in(s(s(T102)), T103, T104) -> U13(f694_in(T102, s(T103), T104), s(s(T102)), T103, T104) U13(f694_out1(X252), s(s(T102)), T103, T104) -> f696_out1 f137_in(T16) -> U14(f165_in, T16) U14(f165_out1(T17, T18), T16) -> U15(f166_in(T18, T16), T16, T17, T18) U15(f166_out1, T16, T17, T18) -> f137_out1(T17, T18) f316_in(T32, T33) -> U16(f340_in(T32), T32, T33) U16(f340_out1(T34), T32, T33) -> U17(f341_in(T34, T33), T32, T33, T34) U17(f341_out1, T32, T33, T34) -> f316_out1(T34) f399_in(T45, T46) -> U18(f340_in(T45), T45, T46) U18(f340_out1(T47), T45, T46) -> U19(f405_in(T47, T46), T45, T46, T47) U19(f405_out1, T45, T46, T47) -> f399_out1(T47) f438_in(T52, T53) -> U20(f340_in(T52), T52, T53) U20(f340_out1(T54), T52, T53) -> U21(f444_in(T54, T53), T52, T53, T54) U21(f444_out1, T52, T53, T54) -> f438_out1(T54) f506_in(T59, T60) -> U22(f340_in(T59), T59, T60) U22(f340_out1(T61), T59, T60) -> U23(f511_in(T61, T60), T59, T60, T61) U23(f511_out1, T59, T60, T61) -> f506_out1(T61) f541_in(T66, T67) -> U24(f340_in(T66), T66, T67) U24(f340_out1(T68), T66, T67) -> U25(f549_in(T68, T67), T66, T67, T68) U25(f549_out1, T66, T67, T68) -> f541_out1(T68) f635_in(T73, T74) -> U26(f340_in(T73), T73, T74) U26(f340_out1(T75), T73, T74) -> U27(f647_in(T75, T74), T73, T74, T75) U27(f647_out1, T73, T74, T75) -> f635_out1(T75) f694_in(T80, T82, T81) -> U28(f340_in(T80), T80, T82, T81) U28(f340_out1(T83), T80, T82, T81) -> U29(f696_in(T83, T82, T81), T80, T82, T81, T83) U29(f696_out1, T80, T82, T81, T83) -> f694_out1(T83) Q is empty. ---------------------------------------- (84) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 3, "program": { "directives": [], "clauses": [ [ "(log2 X Y)", "(log2 X (0) Y)" ], [ "(log2 (0) I I)", null ], [ "(log2 (s (0)) I I)", null ], [ "(log2 (s (s X)) I Y)", "(',' (half (s (s X)) X1) (log2 X1 (s I) Y))" ], [ "(half (0) (0))", null ], [ "(half (s (0)) (0))", null ], [ "(half (s (s X)) (s Y))", "(half X Y)" ] ] }, "graph": { "nodes": { "type": "Nodes", "591": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T66)) X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T66"], "free": ["X183"], "exprvars": [] } }, "471": { "goal": [ { "clause": 1, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }, { "clause": 2, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }, { "clause": 3, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "472": { "goal": [{ "clause": 1, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "593": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "473": { "goal": [ { "clause": 2, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }, { "clause": 3, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "474": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "595": { "goal": [ { "clause": 1, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }, { "clause": 2, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }, { "clause": 3, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "475": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "476": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "630": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T73)) X206)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T73"], "free": ["X206"], "exprvars": [] } }, "477": { "goal": [{ "clause": 2, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "598": { "goal": [{ "clause": 1, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "631": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "478": { "goal": [{ "clause": 3, "scope": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "599": { "goal": [ { "clause": 2, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }, { "clause": 3, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "479": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "480": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "481": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "482": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T52)) X137) (log2 X137 (s (s (s (s (0))))) T53))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T52", "T53" ], "free": ["X137"], "exprvars": [] } }, "483": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "free": [], "exprvars": [] } }, "642": { "goal": [ { "clause": 1, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }, { "clause": 2, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }, { "clause": 3, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "5": { "goal": [{ "clause": 0, "scope": 1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "free": [], "exprvars": [] } }, "401": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "643": { "goal": [{ "clause": 1, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "402": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "644": { "goal": [ { "clause": 2, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }, { "clause": 3, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "403": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "8": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "406": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T32)) X73) (log2 X73 (s (s (0))) T33))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T32", "T33" ], "free": ["X73"], "exprvars": [] } }, "407": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "408": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "409": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "26": { "goal": [ { "clause": 1, "scope": 2, "term": "(log2 T10 (0) T9)" }, { "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }, { "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "27": { "goal": [{ "clause": 1, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "28": { "goal": [ { "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }, { "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "29": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "650": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "651": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "410": { "goal": [ { "clause": 4, "scope": 6, "term": "(half (s (s T32)) X73)" }, { "clause": 5, "scope": 6, "term": "(half (s (s T32)) X73)" }, { "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "652": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "411": { "goal": [ { "clause": 5, "scope": 6, "term": "(half (s (s T32)) X73)" }, { "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "653": { "goal": [{ "clause": 2, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "412": { "goal": [{ "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "654": { "goal": [{ "clause": 3, "scope": 13, "term": "(log2 T75 (s (s (s (s (s (s (s (0)))))))) T74)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "413": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "534": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T52)) X137)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T52"], "free": ["X137"], "exprvars": [] } }, "655": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "414": { "goal": [ { "clause": 4, "scope": 7, "term": "(half T37 X82)" }, { "clause": 5, "scope": 7, "term": "(half T37 X82)" }, { "clause": 6, "scope": 7, "term": "(half T37 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "535": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "656": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "657": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "416": { "goal": [{ "clause": 4, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "417": { "goal": [ { "clause": 5, "scope": 7, "term": "(half T37 X82)" }, { "clause": 6, "scope": 7, "term": "(half T37 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "419": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "30": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "31": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "38": { "goal": [{ "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "39": { "goal": [{ "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "660": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T80)) X229) (log2 X229 (s (s (s (s (s (s (s (s (0))))))))) T81))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T80", "T81" ], "free": ["X229"], "exprvars": [] } }, "540": { "goal": [ { "clause": 1, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }, { "clause": 2, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }, { "clause": 3, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "661": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "300": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "421": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "663": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T80)) X229) (log2 X229 (s T82) T81))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T80", "T81", "T82" ], "free": ["X229"], "exprvars": [] } }, "422": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "543": { "goal": [{ "clause": 1, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "302": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "423": { "goal": [{ "clause": 5, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "544": { "goal": [ { "clause": 2, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }, { "clause": 3, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "303": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "424": { "goal": [{ "clause": 6, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "545": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "666": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T80)) X229)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T80"], "free": ["X229"], "exprvars": [] } }, "546": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "667": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "305": { "goal": [{ "clause": 5, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "547": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "427": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "307": { "goal": [{ "clause": 6, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "308": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "429": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "309": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "550": { "goal": [{ "clause": 2, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "430": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "551": { "goal": [{ "clause": 3, "scope": 10, "term": "(log2 T54 (s (s (s (s (0))))) T53)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [], "exprvars": [] } }, "310": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "552": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "553": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "433": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T40 X91)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T40"], "free": ["X91"], "exprvars": [] } }, "554": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "314": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T27 X50)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X50"], "exprvars": [] } }, "435": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "710": { "goal": [ { "clause": 1, "scope": 14, "term": "(log2 T83 (s T82) T81)" }, { "clause": 2, "scope": 14, "term": "(log2 T83 (s T82) T81)" }, { "clause": 3, "scope": 14, "term": "(log2 T83 (s T82) T81)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "315": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "711": { "goal": [{ "clause": 1, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "558": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T59)) X160) (log2 X160 (s (s (s (s (s (0)))))) T60))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T59", "T60" ], "free": ["X160"], "exprvars": [] } }, "712": { "goal": [ { "clause": 2, "scope": 14, "term": "(log2 T83 (s T82) T81)" }, { "clause": 3, "scope": 14, "term": "(log2 T83 (s T82) T81)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "559": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "713": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "318": { "goal": [ { "clause": 1, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }, { "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }, { "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "714": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "319": { "goal": [{ "clause": 1, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "715": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "716": { "goal": [{ "clause": 2, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "717": { "goal": [{ "clause": 3, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "718": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "719": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "58": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "282": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T17)) X32) (log2 X32 (s (0)) T16))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T16"], "free": ["X32"], "exprvars": [] } }, "283": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "284": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "560": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T59)) X160)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T59"], "free": ["X160"], "exprvars": [] } }, "286": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "440": { "goal": [ { "clause": 1, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }, { "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }, { "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "561": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "320": { "goal": [ { "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }, { "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "441": { "goal": [{ "clause": 1, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "288": { "goal": [ { "clause": 4, "scope": 3, "term": "(half (s (s T17)) X32)" }, { "clause": 5, "scope": 3, "term": "(half (s (s T17)) X32)" }, { "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "321": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "442": { "goal": [ { "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }, { "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "289": { "goal": [ { "clause": 5, "scope": 3, "term": "(half (s (s T17)) X32)" }, { "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "322": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "564": { "goal": [ { "clause": 1, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }, { "clause": 2, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }, { "clause": 3, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "323": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "565": { "goal": [{ "clause": 1, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "324": { "goal": [{ "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "445": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "720": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "446": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "567": { "goal": [ { "clause": 2, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }, { "clause": 3, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "721": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T102)) X252) (log2 X252 (s (s T103)) T104))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T102", "T103", "T104" ], "free": ["X252"], "exprvars": [] } }, "447": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "722": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "448": { "goal": [{ "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "449": { "goal": [{ "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "603": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "604": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "605": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "608": { "goal": [{ "clause": 2, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "609": { "goal": [{ "clause": 3, "scope": 12, "term": "(log2 T68 (s (s (s (s (s (s (0))))))) T67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T67", "T68" ], "free": [], "exprvars": [] } }, "67": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "290": { "goal": [{ "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "292": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "295": { "goal": [ { "clause": 4, "scope": 4, "term": "(half T23 X41)" }, { "clause": 5, "scope": 4, "term": "(half T23 X41)" }, { "clause": 6, "scope": 4, "term": "(half T23 X41)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "570": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "296": { "goal": [{ "clause": 4, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "450": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "571": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "297": { "goal": [ { "clause": 5, "scope": 4, "term": "(half T23 X41)" }, { "clause": 6, "scope": 4, "term": "(half T23 X41)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "451": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "572": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "452": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "453": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T45)) X114) (log2 X114 (s (s (s (0)))) T46))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T45", "T46" ], "free": ["X114"], "exprvars": [] } }, "454": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "455": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T45)) X114)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T45"], "free": ["X114"], "exprvars": [] } }, "576": { "goal": [{ "clause": 2, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "456": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "577": { "goal": [{ "clause": 3, "scope": 11, "term": "(log2 T61 (s (s (s (s (s (0)))))) T60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T60", "T61" ], "free": [], "exprvars": [] } }, "613": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "339": { "goal": [{ "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "614": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "615": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "74": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "583": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "584": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "585": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "588": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T66)) X183) (log2 X183 (s (s (s (s (s (s (0))))))) T67))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T66", "T67" ], "free": ["X183"], "exprvars": [] } }, "589": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "623": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (half (s (s T73)) X206) (log2 X206 (s (s (s (s (s (s (s (0)))))))) T74))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T73", "T74" ], "free": ["X206"], "exprvars": [] } }, "624": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 5, "label": "CASE" }, { "from": 5, "to": 8, "label": "ONLY EVAL with clause\nlog2(X8, X9) :- log2(X8, 0, X9).\nand substitutionT1 -> T10,\nX8 -> T10,\nT2 -> T9,\nX9 -> T9,\nT8 -> T10" }, { "from": 8, "to": 26, "label": "CASE" }, { "from": 26, "to": 27, "label": "PARALLEL" }, { "from": 26, "to": 28, "label": "PARALLEL" }, { "from": 27, "to": 29, "label": "EVAL with clause\nlog2(0, X16, X16).\nand substitutionT10 -> 0,\nX16 -> 0,\nT9 -> 0" }, { "from": 27, "to": 30, "label": "EVAL-BACKTRACK" }, { "from": 28, "to": 38, "label": "PARALLEL" }, { "from": 28, "to": 39, "label": "PARALLEL" }, { "from": 29, "to": 31, "label": "SUCCESS" }, { "from": 38, "to": 58, "label": "EVAL with clause\nlog2(s(0), X21, X21).\nand substitutionT10 -> s(0),\nX21 -> 0,\nT9 -> 0" }, { "from": 38, "to": 67, "label": "EVAL-BACKTRACK" }, { "from": 39, "to": 282, "label": "EVAL with clause\nlog2(s(s(X29)), X30, X31) :- ','(half(s(s(X29)), X32), log2(X32, s(X30), X31)).\nand substitutionX29 -> T17,\nT10 -> s(s(T17)),\nX30 -> 0,\nT9 -> T16,\nX31 -> T16,\nT15 -> T17" }, { "from": 39, "to": 283, "label": "EVAL-BACKTRACK" }, { "from": 58, "to": 74, "label": "SUCCESS" }, { "from": 282, "to": 284, "label": "SPLIT 1" }, { "from": 282, "to": 286, "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nT18 is ground\nreplacements:X32 -> T18" }, { "from": 284, "to": 288, "label": "CASE" }, { "from": 286, "to": 318, "label": "CASE" }, { "from": 288, "to": 289, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 289, "to": 290, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 290, "to": 292, "label": "ONLY EVAL with clause\nhalf(s(s(X39)), s(X40)) :- half(X39, X40).\nand substitutionT17 -> T23,\nX39 -> T23,\nX40 -> X41,\nX32 -> s(X41),\nT22 -> T23" }, { "from": 292, "to": 295, "label": "CASE" }, { "from": 295, "to": 296, "label": "PARALLEL" }, { "from": 295, "to": 297, "label": "PARALLEL" }, { "from": 296, "to": 300, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT23 -> 0,\nX41 -> 0" }, { "from": 296, "to": 302, "label": "EVAL-BACKTRACK" }, { "from": 297, "to": 305, "label": "PARALLEL" }, { "from": 297, "to": 307, "label": "PARALLEL" }, { "from": 300, "to": 303, "label": "SUCCESS" }, { "from": 305, "to": 308, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT23 -> s(0),\nX41 -> 0" }, { "from": 305, "to": 309, "label": "EVAL-BACKTRACK" }, { "from": 307, "to": 314, "label": "EVAL with clause\nhalf(s(s(X48)), s(X49)) :- half(X48, X49).\nand substitutionX48 -> T27,\nT23 -> s(s(T27)),\nX49 -> X50,\nX41 -> s(X50),\nT26 -> T27" }, { "from": 307, "to": 315, "label": "EVAL-BACKTRACK" }, { "from": 308, "to": 310, "label": "SUCCESS" }, { "from": 314, "to": 292, "label": "INSTANCE with matching:\nT23 -> T27\nX41 -> X50" }, { "from": 318, "to": 319, "label": "PARALLEL" }, { "from": 318, "to": 320, "label": "PARALLEL" }, { "from": 319, "to": 321, "label": "EVAL with clause\nlog2(0, X57, X57).\nand substitutionT18 -> 0,\nX57 -> s(0),\nT16 -> s(0)" }, { "from": 319, "to": 322, "label": "EVAL-BACKTRACK" }, { "from": 320, "to": 324, "label": "PARALLEL" }, { "from": 320, "to": 339, "label": "PARALLEL" }, { "from": 321, "to": 323, "label": "SUCCESS" }, { "from": 324, "to": 401, "label": "EVAL with clause\nlog2(s(0), X62, X62).\nand substitutionT18 -> s(0),\nX62 -> s(0),\nT16 -> s(0)" }, { "from": 324, "to": 402, "label": "EVAL-BACKTRACK" }, { "from": 339, "to": 406, "label": "EVAL with clause\nlog2(s(s(X70)), X71, X72) :- ','(half(s(s(X70)), X73), log2(X73, s(X71), X72)).\nand substitutionX70 -> T32,\nT18 -> s(s(T32)),\nX71 -> s(0),\nT16 -> T33,\nX72 -> T33" }, { "from": 339, "to": 407, "label": "EVAL-BACKTRACK" }, { "from": 401, "to": 403, "label": "SUCCESS" }, { "from": 406, "to": 408, "label": "SPLIT 1" }, { "from": 406, "to": 409, "label": "SPLIT 2\nnew knowledge:\nT32 is ground\nT34 is ground\nreplacements:X73 -> T34" }, { "from": 408, "to": 410, "label": "CASE" }, { "from": 409, "to": 440, "label": "CASE" }, { "from": 410, "to": 411, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 411, "to": 412, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 412, "to": 413, "label": "ONLY EVAL with clause\nhalf(s(s(X80)), s(X81)) :- half(X80, X81).\nand substitutionT32 -> T37,\nX80 -> T37,\nX81 -> X82,\nX73 -> s(X82)" }, { "from": 413, "to": 414, "label": "CASE" }, { "from": 414, "to": 416, "label": "PARALLEL" }, { "from": 414, "to": 417, "label": "PARALLEL" }, { "from": 416, "to": 419, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT37 -> 0,\nX82 -> 0" }, { "from": 416, "to": 421, "label": "EVAL-BACKTRACK" }, { "from": 417, "to": 423, "label": "PARALLEL" }, { "from": 417, "to": 424, "label": "PARALLEL" }, { "from": 419, "to": 422, "label": "SUCCESS" }, { "from": 423, "to": 427, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT37 -> s(0),\nX82 -> 0" }, { "from": 423, "to": 429, "label": "EVAL-BACKTRACK" }, { "from": 424, "to": 433, "label": "EVAL with clause\nhalf(s(s(X89)), s(X90)) :- half(X89, X90).\nand substitutionX89 -> T40,\nT37 -> s(s(T40)),\nX90 -> X91,\nX82 -> s(X91)" }, { "from": 424, "to": 435, "label": "EVAL-BACKTRACK" }, { "from": 427, "to": 430, "label": "SUCCESS" }, { "from": 433, "to": 413, "label": "INSTANCE with matching:\nT37 -> T40\nX82 -> X91" }, { "from": 440, "to": 441, "label": "PARALLEL" }, { "from": 440, "to": 442, "label": "PARALLEL" }, { "from": 441, "to": 445, "label": "EVAL with clause\nlog2(0, X98, X98).\nand substitutionT34 -> 0,\nX98 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 441, "to": 446, "label": "EVAL-BACKTRACK" }, { "from": 442, "to": 448, "label": "PARALLEL" }, { "from": 442, "to": 449, "label": "PARALLEL" }, { "from": 445, "to": 447, "label": "SUCCESS" }, { "from": 448, "to": 450, "label": "EVAL with clause\nlog2(s(0), X103, X103).\nand substitutionT34 -> s(0),\nX103 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 448, "to": 451, "label": "EVAL-BACKTRACK" }, { "from": 449, "to": 453, "label": "EVAL with clause\nlog2(s(s(X111)), X112, X113) :- ','(half(s(s(X111)), X114), log2(X114, s(X112), X113)).\nand substitutionX111 -> T45,\nT34 -> s(s(T45)),\nX112 -> s(s(0)),\nT33 -> T46,\nX113 -> T46" }, { "from": 449, "to": 454, "label": "EVAL-BACKTRACK" }, { "from": 450, "to": 452, "label": "SUCCESS" }, { "from": 453, "to": 455, "label": "SPLIT 1" }, { "from": 453, "to": 456, "label": "SPLIT 2\nnew knowledge:\nT45 is ground\nT47 is ground\nreplacements:X114 -> T47" }, { "from": 455, "to": 408, "label": "INSTANCE with matching:\nT32 -> T45\nX73 -> X114" }, { "from": 456, "to": 471, "label": "CASE" }, { "from": 471, "to": 472, "label": "PARALLEL" }, { "from": 471, "to": 473, "label": "PARALLEL" }, { "from": 472, "to": 474, "label": "EVAL with clause\nlog2(0, X121, X121).\nand substitutionT47 -> 0,\nX121 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 472, "to": 475, "label": "EVAL-BACKTRACK" }, { "from": 473, "to": 477, "label": "PARALLEL" }, { "from": 473, "to": 478, "label": "PARALLEL" }, { "from": 474, "to": 476, "label": "SUCCESS" }, { "from": 477, "to": 479, "label": "EVAL with clause\nlog2(s(0), X126, X126).\nand substitutionT47 -> s(0),\nX126 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 477, "to": 480, "label": "EVAL-BACKTRACK" }, { "from": 478, "to": 482, "label": "EVAL with clause\nlog2(s(s(X134)), X135, X136) :- ','(half(s(s(X134)), X137), log2(X137, s(X135), X136)).\nand substitutionX134 -> T52,\nT47 -> s(s(T52)),\nX135 -> s(s(s(0))),\nT46 -> T53,\nX136 -> T53" }, { "from": 478, "to": 483, "label": "EVAL-BACKTRACK" }, { "from": 479, "to": 481, "label": "SUCCESS" }, { "from": 482, "to": 534, "label": "SPLIT 1" }, { "from": 482, "to": 535, "label": "SPLIT 2\nnew knowledge:\nT52 is ground\nT54 is ground\nreplacements:X137 -> T54" }, { "from": 534, "to": 408, "label": "INSTANCE with matching:\nT32 -> T52\nX73 -> X137" }, { "from": 535, "to": 540, "label": "CASE" }, { "from": 540, "to": 543, "label": "PARALLEL" }, { "from": 540, "to": 544, "label": "PARALLEL" }, { "from": 543, "to": 545, "label": "EVAL with clause\nlog2(0, X144, X144).\nand substitutionT54 -> 0,\nX144 -> s(s(s(s(0)))),\nT53 -> s(s(s(s(0))))" }, { "from": 543, "to": 546, "label": "EVAL-BACKTRACK" }, { "from": 544, "to": 550, "label": "PARALLEL" }, { "from": 544, "to": 551, "label": "PARALLEL" }, { "from": 545, "to": 547, "label": "SUCCESS" }, { "from": 550, "to": 552, "label": "EVAL with clause\nlog2(s(0), X149, X149).\nand substitutionT54 -> s(0),\nX149 -> s(s(s(s(0)))),\nT53 -> s(s(s(s(0))))" }, { "from": 550, "to": 553, "label": "EVAL-BACKTRACK" }, { "from": 551, "to": 558, "label": "EVAL with clause\nlog2(s(s(X157)), X158, X159) :- ','(half(s(s(X157)), X160), log2(X160, s(X158), X159)).\nand substitutionX157 -> T59,\nT54 -> s(s(T59)),\nX158 -> s(s(s(s(0)))),\nT53 -> T60,\nX159 -> T60" }, { "from": 551, "to": 559, "label": "EVAL-BACKTRACK" }, { "from": 552, "to": 554, "label": "SUCCESS" }, { "from": 558, "to": 560, "label": "SPLIT 1" }, { "from": 558, "to": 561, "label": "SPLIT 2\nnew knowledge:\nT59 is ground\nT61 is ground\nreplacements:X160 -> T61" }, { "from": 560, "to": 408, "label": "INSTANCE with matching:\nT32 -> T59\nX73 -> X160" }, { "from": 561, "to": 564, "label": "CASE" }, { "from": 564, "to": 565, "label": "PARALLEL" }, { "from": 564, "to": 567, "label": "PARALLEL" }, { "from": 565, "to": 570, "label": "EVAL with clause\nlog2(0, X167, X167).\nand substitutionT61 -> 0,\nX167 -> s(s(s(s(s(0))))),\nT60 -> s(s(s(s(s(0)))))" }, { "from": 565, "to": 571, "label": "EVAL-BACKTRACK" }, { "from": 567, "to": 576, "label": "PARALLEL" }, { "from": 567, "to": 577, "label": "PARALLEL" }, { "from": 570, "to": 572, "label": "SUCCESS" }, { "from": 576, "to": 583, "label": "EVAL with clause\nlog2(s(0), X172, X172).\nand substitutionT61 -> s(0),\nX172 -> s(s(s(s(s(0))))),\nT60 -> s(s(s(s(s(0)))))" }, { "from": 576, "to": 584, "label": "EVAL-BACKTRACK" }, { "from": 577, "to": 588, "label": "EVAL with clause\nlog2(s(s(X180)), X181, X182) :- ','(half(s(s(X180)), X183), log2(X183, s(X181), X182)).\nand substitutionX180 -> T66,\nT61 -> s(s(T66)),\nX181 -> s(s(s(s(s(0))))),\nT60 -> T67,\nX182 -> T67" }, { "from": 577, "to": 589, "label": "EVAL-BACKTRACK" }, { "from": 583, "to": 585, "label": "SUCCESS" }, { "from": 588, "to": 591, "label": "SPLIT 1" }, { "from": 588, "to": 593, "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT68 is ground\nreplacements:X183 -> T68" }, { "from": 591, "to": 408, "label": "INSTANCE with matching:\nT32 -> T66\nX73 -> X183" }, { "from": 593, "to": 595, "label": "CASE" }, { "from": 595, "to": 598, "label": "PARALLEL" }, { "from": 595, "to": 599, "label": "PARALLEL" }, { "from": 598, "to": 603, "label": "EVAL with clause\nlog2(0, X190, X190).\nand substitutionT68 -> 0,\nX190 -> s(s(s(s(s(s(0)))))),\nT67 -> s(s(s(s(s(s(0))))))" }, { "from": 598, "to": 604, "label": "EVAL-BACKTRACK" }, { "from": 599, "to": 608, "label": "PARALLEL" }, { "from": 599, "to": 609, "label": "PARALLEL" }, { "from": 603, "to": 605, "label": "SUCCESS" }, { "from": 608, "to": 613, "label": "EVAL with clause\nlog2(s(0), X195, X195).\nand substitutionT68 -> s(0),\nX195 -> s(s(s(s(s(s(0)))))),\nT67 -> s(s(s(s(s(s(0))))))" }, { "from": 608, "to": 614, "label": "EVAL-BACKTRACK" }, { "from": 609, "to": 623, "label": "EVAL with clause\nlog2(s(s(X203)), X204, X205) :- ','(half(s(s(X203)), X206), log2(X206, s(X204), X205)).\nand substitutionX203 -> T73,\nT68 -> s(s(T73)),\nX204 -> s(s(s(s(s(s(0)))))),\nT67 -> T74,\nX205 -> T74" }, { "from": 609, "to": 624, "label": "EVAL-BACKTRACK" }, { "from": 613, "to": 615, "label": "SUCCESS" }, { "from": 623, "to": 630, "label": "SPLIT 1" }, { "from": 623, "to": 631, "label": "SPLIT 2\nnew knowledge:\nT73 is ground\nT75 is ground\nreplacements:X206 -> T75" }, { "from": 630, "to": 408, "label": "INSTANCE with matching:\nT32 -> T73\nX73 -> X206" }, { "from": 631, "to": 642, "label": "CASE" }, { "from": 642, "to": 643, "label": "PARALLEL" }, { "from": 642, "to": 644, "label": "PARALLEL" }, { "from": 643, "to": 650, "label": "EVAL with clause\nlog2(0, X213, X213).\nand substitutionT75 -> 0,\nX213 -> s(s(s(s(s(s(s(0))))))),\nT74 -> s(s(s(s(s(s(s(0)))))))" }, { "from": 643, "to": 651, "label": "EVAL-BACKTRACK" }, { "from": 644, "to": 653, "label": "PARALLEL" }, { "from": 644, "to": 654, "label": "PARALLEL" }, { "from": 650, "to": 652, "label": "SUCCESS" }, { "from": 653, "to": 655, "label": "EVAL with clause\nlog2(s(0), X218, X218).\nand substitutionT75 -> s(0),\nX218 -> s(s(s(s(s(s(s(0))))))),\nT74 -> s(s(s(s(s(s(s(0)))))))" }, { "from": 653, "to": 656, "label": "EVAL-BACKTRACK" }, { "from": 654, "to": 660, "label": "EVAL with clause\nlog2(s(s(X226)), X227, X228) :- ','(half(s(s(X226)), X229), log2(X229, s(X227), X228)).\nand substitutionX226 -> T80,\nT75 -> s(s(T80)),\nX227 -> s(s(s(s(s(s(s(0))))))),\nT74 -> T81,\nX228 -> T81" }, { "from": 654, "to": 661, "label": "EVAL-BACKTRACK" }, { "from": 655, "to": 657, "label": "SUCCESS" }, { "from": 660, "to": 663, "label": "GENERALIZATION\nT82 <-- s(s(s(s(s(s(s(0)))))))\n\nNew Knowledge:\nT82 is ground" }, { "from": 663, "to": 666, "label": "SPLIT 1" }, { "from": 663, "to": 667, "label": "SPLIT 2\nnew knowledge:\nT80 is ground\nT83 is ground\nreplacements:X229 -> T83" }, { "from": 666, "to": 408, "label": "INSTANCE with matching:\nT32 -> T80\nX73 -> X229" }, { "from": 667, "to": 710, "label": "CASE" }, { "from": 710, "to": 711, "label": "PARALLEL" }, { "from": 710, "to": 712, "label": "PARALLEL" }, { "from": 711, "to": 713, "label": "EVAL with clause\nlog2(0, X236, X236).\nand substitutionT83 -> 0,\nT82 -> T90,\nX236 -> s(T90),\nT81 -> s(T90)" }, { "from": 711, "to": 714, "label": "EVAL-BACKTRACK" }, { "from": 712, "to": 716, "label": "PARALLEL" }, { "from": 712, "to": 717, "label": "PARALLEL" }, { "from": 713, "to": 715, "label": "SUCCESS" }, { "from": 716, "to": 718, "label": "EVAL with clause\nlog2(s(0), X241, X241).\nand substitutionT83 -> s(0),\nT82 -> T95,\nX241 -> s(T95),\nT81 -> s(T95)" }, { "from": 716, "to": 719, "label": "EVAL-BACKTRACK" }, { "from": 717, "to": 721, "label": "EVAL with clause\nlog2(s(s(X249)), X250, X251) :- ','(half(s(s(X249)), X252), log2(X252, s(X250), X251)).\nand substitutionX249 -> T102,\nT83 -> s(s(T102)),\nT82 -> T103,\nX250 -> s(T103),\nT81 -> T104,\nX251 -> T104" }, { "from": 717, "to": 722, "label": "EVAL-BACKTRACK" }, { "from": 718, "to": 720, "label": "SUCCESS" }, { "from": 721, "to": 663, "label": "INSTANCE with matching:\nT80 -> T102\nX229 -> X252\nT82 -> s(T103)\nT81 -> T104" } ], "type": "Graph" } } ---------------------------------------- (85) Complex Obligation (AND) ---------------------------------------- (86) Obligation: Rules: f414_in(T37) -> f416_in(T37) :|: TRUE f414_in(x) -> f417_in(x) :|: TRUE f416_out(x1) -> f414_out(x1) :|: TRUE f417_out(x2) -> f414_out(x2) :|: TRUE f433_in(T40) -> f413_in(T40) :|: TRUE f413_out(x3) -> f433_out(x3) :|: TRUE f424_in(x4) -> f435_in :|: TRUE f424_in(s(s(x5))) -> f433_in(x5) :|: TRUE f435_out -> f424_out(x6) :|: TRUE f433_out(x7) -> f424_out(s(s(x7))) :|: TRUE f413_in(x8) -> f414_in(x8) :|: TRUE f414_out(x9) -> f413_out(x9) :|: TRUE f423_out(x10) -> f417_out(x10) :|: TRUE f417_in(x11) -> f424_in(x11) :|: TRUE f417_in(x12) -> f423_in(x12) :|: TRUE f424_out(x13) -> f417_out(x13) :|: TRUE f5_out(T2) -> f3_out(T2) :|: TRUE f3_in(x14) -> f5_in(x14) :|: TRUE f5_in(T9) -> f8_in(T9) :|: TRUE f8_out(x15) -> f5_out(x15) :|: TRUE f26_out(x16) -> f8_out(x16) :|: TRUE f8_in(x17) -> f26_in(x17) :|: TRUE f27_out(x18) -> f26_out(x18) :|: TRUE f26_in(x19) -> f27_in(x19) :|: TRUE f28_out(x20) -> f26_out(x20) :|: TRUE f26_in(x21) -> f28_in(x21) :|: TRUE f28_in(x22) -> f39_in(x22) :|: TRUE f38_out(x23) -> f28_out(x23) :|: TRUE f28_in(x24) -> f38_in(x24) :|: TRUE f39_out(x25) -> f28_out(x25) :|: TRUE f39_in(x26) -> f283_in :|: TRUE f39_in(T16) -> f282_in(T16) :|: TRUE f283_out -> f39_out(x27) :|: TRUE f282_out(x28) -> f39_out(x28) :|: TRUE f282_in(x29) -> f284_in :|: TRUE f284_out -> f286_in(x30, x31) :|: TRUE f286_out(x32, x33) -> f282_out(x33) :|: TRUE f318_out(x34, x35) -> f286_out(x34, x35) :|: TRUE f286_in(x36, x37) -> f318_in(x36, x37) :|: TRUE f318_in(x38, x39) -> f320_in(x38, x39) :|: TRUE f319_out(x40, x41) -> f318_out(x40, x41) :|: TRUE f320_out(x42, x43) -> f318_out(x42, x43) :|: TRUE f318_in(x44, x45) -> f319_in(x44, x45) :|: TRUE f320_in(x46, x47) -> f324_in(x46, x47) :|: TRUE f339_out(x48, x49) -> f320_out(x48, x49) :|: TRUE f324_out(x50, x51) -> f320_out(x50, x51) :|: TRUE f320_in(x52, x53) -> f339_in(x52, x53) :|: TRUE f339_in(s(s(T32)), T33) -> f406_in(T32, T33) :|: TRUE f339_in(x54, x55) -> f407_in :|: TRUE f406_out(x56, x57) -> f339_out(s(s(x56)), x57) :|: TRUE f407_out -> f339_out(x58, x59) :|: TRUE f406_in(x60, x61) -> f408_in(x60) :|: TRUE f408_out(x62) -> f409_in(x63, x64) :|: TRUE f409_out(x65, x66) -> f406_out(x67, x66) :|: TRUE f408_in(x68) -> f410_in(x68) :|: TRUE f410_out(x69) -> f408_out(x69) :|: TRUE f411_out(x70) -> f410_out(x70) :|: TRUE f410_in(x71) -> f411_in(x71) :|: TRUE f412_out(x72) -> f411_out(x72) :|: TRUE f411_in(x73) -> f412_in(x73) :|: TRUE f413_out(x74) -> f412_out(x74) :|: TRUE f412_in(x75) -> f413_in(x75) :|: TRUE f440_out(x76, x77) -> f409_out(x76, x77) :|: TRUE f409_in(x78, x79) -> f440_in(x78, x79) :|: TRUE f442_out(x80, x81) -> f440_out(x80, x81) :|: TRUE f440_in(x82, x83) -> f441_in(x82, x83) :|: TRUE f441_out(x84, x85) -> f440_out(x84, x85) :|: TRUE f440_in(x86, x87) -> f442_in(x86, x87) :|: TRUE f449_out(x88, x89) -> f442_out(x88, x89) :|: TRUE f448_out(x90, x91) -> f442_out(x90, x91) :|: TRUE f442_in(x92, x93) -> f449_in(x92, x93) :|: TRUE f442_in(x94, x95) -> f448_in(x94, x95) :|: TRUE f453_out(T45, T46) -> f449_out(s(s(T45)), T46) :|: TRUE f449_in(x96, x97) -> f454_in :|: TRUE f454_out -> f449_out(x98, x99) :|: TRUE f449_in(s(s(x100)), x101) -> f453_in(x100, x101) :|: TRUE f455_out(x102) -> f456_in(x103, x104) :|: TRUE f453_in(x105, x106) -> f455_in(x105) :|: TRUE f456_out(x107, x108) -> f453_out(x109, x108) :|: TRUE f456_in(x110, x111) -> f471_in(x110, x111) :|: TRUE f471_out(x112, x113) -> f456_out(x112, x113) :|: TRUE f471_in(x114, x115) -> f472_in(x114, x115) :|: TRUE f471_in(x116, x117) -> f473_in(x116, x117) :|: TRUE f473_out(x118, x119) -> f471_out(x118, x119) :|: TRUE f472_out(x120, x121) -> f471_out(x120, x121) :|: TRUE f473_in(x122, x123) -> f477_in(x122, x123) :|: TRUE f477_out(x124, x125) -> f473_out(x124, x125) :|: TRUE f478_out(x126, x127) -> f473_out(x126, x127) :|: TRUE f473_in(x128, x129) -> f478_in(x128, x129) :|: TRUE f482_out(T52, T53) -> f478_out(s(s(T52)), T53) :|: TRUE f483_out -> f478_out(x130, x131) :|: TRUE f478_in(x132, x133) -> f483_in :|: TRUE f478_in(s(s(x134)), x135) -> f482_in(x134, x135) :|: TRUE f535_out(x136, x137) -> f482_out(x138, x137) :|: TRUE f534_out(x139) -> f535_in(x140, x141) :|: TRUE f482_in(x142, x143) -> f534_in(x142) :|: TRUE f535_in(x144, x145) -> f540_in(x144, x145) :|: TRUE f540_out(x146, x147) -> f535_out(x146, x147) :|: TRUE f540_in(x148, x149) -> f543_in(x148, x149) :|: TRUE f543_out(x150, x151) -> f540_out(x150, x151) :|: TRUE f540_in(x152, x153) -> f544_in(x152, x153) :|: TRUE f544_out(x154, x155) -> f540_out(x154, x155) :|: TRUE f544_in(x156, x157) -> f550_in(x156, x157) :|: TRUE f544_in(x158, x159) -> f551_in(x158, x159) :|: TRUE f550_out(x160, x161) -> f544_out(x160, x161) :|: TRUE f551_out(x162, x163) -> f544_out(x162, x163) :|: TRUE f551_in(x164, x165) -> f559_in :|: TRUE f559_out -> f551_out(x166, x167) :|: TRUE f558_out(T59, T60) -> f551_out(s(s(T59)), T60) :|: TRUE f551_in(s(s(x168)), x169) -> f558_in(x168, x169) :|: TRUE f561_out(x170, x171) -> f558_out(x172, x171) :|: TRUE f558_in(x173, x174) -> f560_in(x173) :|: TRUE f560_out(x175) -> f561_in(x176, x177) :|: TRUE f561_in(x178, x179) -> f564_in(x178, x179) :|: TRUE f564_out(x180, x181) -> f561_out(x180, x181) :|: TRUE f565_out(x182, x183) -> f564_out(x182, x183) :|: TRUE f564_in(x184, x185) -> f565_in(x184, x185) :|: TRUE f567_out(x186, x187) -> f564_out(x186, x187) :|: TRUE f564_in(x188, x189) -> f567_in(x188, x189) :|: TRUE f567_in(x190, x191) -> f577_in(x190, x191) :|: TRUE f567_in(x192, x193) -> f576_in(x192, x193) :|: TRUE f576_out(x194, x195) -> f567_out(x194, x195) :|: TRUE f577_out(x196, x197) -> f567_out(x196, x197) :|: TRUE f577_in(x198, x199) -> f589_in :|: TRUE f588_out(T66, T67) -> f577_out(s(s(T66)), T67) :|: TRUE f589_out -> f577_out(x200, x201) :|: TRUE f577_in(s(s(x202)), x203) -> f588_in(x202, x203) :|: TRUE f593_out(x204, x205) -> f588_out(x206, x205) :|: TRUE f588_in(x207, x208) -> f591_in(x207) :|: TRUE f591_out(x209) -> f593_in(x210, x211) :|: TRUE f591_in(x212) -> f408_in(x212) :|: TRUE f408_out(x213) -> f591_out(x213) :|: TRUE f560_in(x214) -> f408_in(x214) :|: TRUE f408_out(x215) -> f560_out(x215) :|: TRUE f455_in(x216) -> f408_in(x216) :|: TRUE f408_out(x217) -> f455_out(x217) :|: TRUE f534_in(x218) -> f408_in(x218) :|: TRUE f408_out(x219) -> f534_out(x219) :|: TRUE f595_out(x220, x221) -> f593_out(x220, x221) :|: TRUE f593_in(x222, x223) -> f595_in(x222, x223) :|: TRUE f595_in(x224, x225) -> f598_in(x224, x225) :|: TRUE f598_out(x226, x227) -> f595_out(x226, x227) :|: TRUE f599_out(x228, x229) -> f595_out(x228, x229) :|: TRUE f595_in(x230, x231) -> f599_in(x230, x231) :|: TRUE f608_out(x232, x233) -> f599_out(x232, x233) :|: TRUE f599_in(x234, x235) -> f608_in(x234, x235) :|: TRUE f609_out(x236, x237) -> f599_out(x236, x237) :|: TRUE f599_in(x238, x239) -> f609_in(x238, x239) :|: TRUE f623_out(T73, T74) -> f609_out(s(s(T73)), T74) :|: TRUE f609_in(x240, x241) -> f624_in :|: TRUE f624_out -> f609_out(x242, x243) :|: TRUE f609_in(s(s(x244)), x245) -> f623_in(x244, x245) :|: TRUE f623_in(x246, x247) -> f630_in(x246) :|: TRUE f631_out(x248, x249) -> f623_out(x250, x249) :|: TRUE f630_out(x251) -> f631_in(x252, x253) :|: TRUE f631_in(x254, x255) -> f642_in(x254, x255) :|: TRUE f642_out(x256, x257) -> f631_out(x256, x257) :|: TRUE f642_in(x258, x259) -> f644_in(x258, x259) :|: TRUE f643_out(x260, x261) -> f642_out(x260, x261) :|: TRUE f644_out(x262, x263) -> f642_out(x262, x263) :|: TRUE f642_in(x264, x265) -> f643_in(x264, x265) :|: TRUE f644_in(x266, x267) -> f653_in(x266, x267) :|: TRUE f644_in(x268, x269) -> f654_in(x268, x269) :|: TRUE f653_out(x270, x271) -> f644_out(x270, x271) :|: TRUE f654_out(x272, x273) -> f644_out(x272, x273) :|: TRUE f654_in(s(s(T80)), T81) -> f660_in(T80, T81) :|: TRUE f661_out -> f654_out(x274, x275) :|: TRUE f660_out(x276, x277) -> f654_out(s(s(x276)), x277) :|: TRUE f654_in(x278, x279) -> f661_in :|: TRUE f660_in(x280, x281) -> f663_in(x280, s(s(s(s(s(s(s(0))))))), x281) :|: TRUE f663_out(x282, s(s(s(s(s(s(s(0))))))), x283) -> f660_out(x282, x283) :|: TRUE f666_out(x284) -> f667_in(x285, x286, x287) :|: TRUE f667_out(x288, x289, x290) -> f663_out(x291, x289, x290) :|: TRUE f663_in(x292, x293, x294) -> f666_in(x292) :|: TRUE f408_out(x295) -> f666_out(x295) :|: TRUE f666_in(x296) -> f408_in(x296) :|: TRUE f630_in(x297) -> f408_in(x297) :|: TRUE f408_out(x298) -> f630_out(x298) :|: TRUE Start term: f3_in(T2) ---------------------------------------- (87) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: ---------------------------------------- (88) TRUE ---------------------------------------- (89) Obligation: Rules: f663_out(T102, s(T103), T104) -> f721_out(T102, T103, T104) :|: TRUE f721_in(x, x1, x2) -> f663_in(x, s(x1), x2) :|: TRUE f424_in(T37) -> f435_in :|: TRUE f424_in(s(s(T40))) -> f433_in(T40) :|: TRUE f435_out -> f424_out(x3) :|: TRUE f433_out(x4) -> f424_out(s(s(x4))) :|: TRUE f408_in(T32) -> f410_in(T32) :|: TRUE f410_out(x5) -> f408_out(x5) :|: TRUE f710_in(T83, T82, T81) -> f711_in(T83, T82, T81) :|: TRUE f711_out(x6, x7, x8) -> f710_out(x6, x7, x8) :|: TRUE f710_in(x9, x10, x11) -> f712_in(x9, x10, x11) :|: TRUE f712_out(x12, x13, x14) -> f710_out(x12, x13, x14) :|: TRUE f423_in(x15) -> f429_in :|: TRUE f429_out -> f423_out(x16) :|: TRUE f427_out -> f423_out(s(0)) :|: TRUE f423_in(s(0)) -> f427_in :|: TRUE f414_in(x17) -> f416_in(x17) :|: TRUE f414_in(x18) -> f417_in(x18) :|: TRUE f416_out(x19) -> f414_out(x19) :|: TRUE f417_out(x20) -> f414_out(x20) :|: TRUE f712_in(x21, x22, x23) -> f716_in(x21, x22, x23) :|: TRUE f717_out(x24, x25, x26) -> f712_out(x24, x25, x26) :|: TRUE f712_in(x27, x28, x29) -> f717_in(x27, x28, x29) :|: TRUE f716_out(x30, x31, x32) -> f712_out(x30, x31, x32) :|: TRUE f722_out -> f717_out(x33, x34, x35) :|: TRUE f717_in(s(s(x36)), x37, x38) -> f721_in(x36, x37, x38) :|: TRUE f721_out(x39, x40, x41) -> f717_out(s(s(x39)), x40, x41) :|: TRUE f717_in(x42, x43, x44) -> f722_in :|: TRUE f413_out(x45) -> f412_out(x45) :|: TRUE f412_in(x46) -> f413_in(x46) :|: TRUE f413_in(x47) -> f414_in(x47) :|: TRUE f414_out(x48) -> f413_out(x48) :|: TRUE f423_out(x49) -> f417_out(x49) :|: TRUE f417_in(x50) -> f424_in(x50) :|: TRUE f417_in(x51) -> f423_in(x51) :|: TRUE f424_out(x52) -> f417_out(x52) :|: TRUE f666_out(x53) -> f667_in(x54, x55, x56) :|: TRUE f667_out(x57, x58, x59) -> f663_out(x60, x58, x59) :|: TRUE f663_in(x61, x62, x63) -> f666_in(x61) :|: TRUE f419_in -> f419_out :|: TRUE f416_in(x64) -> f421_in :|: TRUE f416_in(0) -> f419_in :|: TRUE f419_out -> f416_out(0) :|: TRUE f421_out -> f416_out(x65) :|: TRUE f433_in(x66) -> f413_in(x66) :|: TRUE f413_out(x67) -> f433_out(x67) :|: TRUE f427_in -> f427_out :|: TRUE f408_out(T80) -> f666_out(T80) :|: TRUE f666_in(x68) -> f408_in(x68) :|: TRUE f411_out(x69) -> f410_out(x69) :|: TRUE f410_in(x70) -> f411_in(x70) :|: TRUE f412_out(x71) -> f411_out(x71) :|: TRUE f411_in(x72) -> f412_in(x72) :|: TRUE f667_in(x73, x74, x75) -> f710_in(x73, x74, x75) :|: TRUE f710_out(x76, x77, x78) -> f667_out(x76, x77, x78) :|: TRUE f5_out(T2) -> f3_out(T2) :|: TRUE f3_in(x79) -> f5_in(x79) :|: TRUE f5_in(T9) -> f8_in(T9) :|: TRUE f8_out(x80) -> f5_out(x80) :|: TRUE f26_out(x81) -> f8_out(x81) :|: TRUE f8_in(x82) -> f26_in(x82) :|: TRUE f27_out(x83) -> f26_out(x83) :|: TRUE f26_in(x84) -> f27_in(x84) :|: TRUE f28_out(x85) -> f26_out(x85) :|: TRUE f26_in(x86) -> f28_in(x86) :|: TRUE f28_in(x87) -> f39_in(x87) :|: TRUE f38_out(x88) -> f28_out(x88) :|: TRUE f28_in(x89) -> f38_in(x89) :|: TRUE f39_out(x90) -> f28_out(x90) :|: TRUE f39_in(x91) -> f283_in :|: TRUE f39_in(T16) -> f282_in(T16) :|: TRUE f283_out -> f39_out(x92) :|: TRUE f282_out(x93) -> f39_out(x93) :|: TRUE f282_in(x94) -> f284_in :|: TRUE f284_out -> f286_in(x95, x96) :|: TRUE f286_out(x97, x98) -> f282_out(x98) :|: TRUE f318_out(x99, x100) -> f286_out(x99, x100) :|: TRUE f286_in(x101, x102) -> f318_in(x101, x102) :|: TRUE f318_in(x103, x104) -> f320_in(x103, x104) :|: TRUE f319_out(x105, x106) -> f318_out(x105, x106) :|: TRUE f320_out(x107, x108) -> f318_out(x107, x108) :|: TRUE f318_in(x109, x110) -> f319_in(x109, x110) :|: TRUE f320_in(x111, x112) -> f324_in(x111, x112) :|: TRUE f339_out(x113, x114) -> f320_out(x113, x114) :|: TRUE f324_out(x115, x116) -> f320_out(x115, x116) :|: TRUE f320_in(x117, x118) -> f339_in(x117, x118) :|: TRUE f339_in(s(s(x119)), x120) -> f406_in(x119, x120) :|: TRUE f339_in(x121, x122) -> f407_in :|: TRUE f406_out(x123, x124) -> f339_out(s(s(x123)), x124) :|: TRUE f407_out -> f339_out(x125, x126) :|: TRUE f406_in(x127, x128) -> f408_in(x127) :|: TRUE f408_out(x129) -> f409_in(x130, x131) :|: TRUE f409_out(x132, x133) -> f406_out(x134, x133) :|: TRUE f440_out(T34, T33) -> f409_out(T34, T33) :|: TRUE f409_in(x135, x136) -> f440_in(x135, x136) :|: TRUE f442_out(x137, x138) -> f440_out(x137, x138) :|: TRUE f440_in(x139, x140) -> f441_in(x139, x140) :|: TRUE f441_out(x141, x142) -> f440_out(x141, x142) :|: TRUE f440_in(x143, x144) -> f442_in(x143, x144) :|: TRUE f449_out(x145, x146) -> f442_out(x145, x146) :|: TRUE f448_out(x147, x148) -> f442_out(x147, x148) :|: TRUE f442_in(x149, x150) -> f449_in(x149, x150) :|: TRUE f442_in(x151, x152) -> f448_in(x151, x152) :|: TRUE f453_out(T45, T46) -> f449_out(s(s(T45)), T46) :|: TRUE f449_in(x153, x154) -> f454_in :|: TRUE f454_out -> f449_out(x155, x156) :|: TRUE f449_in(s(s(x157)), x158) -> f453_in(x157, x158) :|: TRUE f455_out(x159) -> f456_in(x160, x161) :|: TRUE f453_in(x162, x163) -> f455_in(x162) :|: TRUE f456_out(x164, x165) -> f453_out(x166, x165) :|: TRUE f456_in(x167, x168) -> f471_in(x167, x168) :|: TRUE f471_out(x169, x170) -> f456_out(x169, x170) :|: TRUE f471_in(x171, x172) -> f472_in(x171, x172) :|: TRUE f471_in(x173, x174) -> f473_in(x173, x174) :|: TRUE f473_out(x175, x176) -> f471_out(x175, x176) :|: TRUE f472_out(x177, x178) -> f471_out(x177, x178) :|: TRUE f473_in(x179, x180) -> f477_in(x179, x180) :|: TRUE f477_out(x181, x182) -> f473_out(x181, x182) :|: TRUE f478_out(x183, x184) -> f473_out(x183, x184) :|: TRUE f473_in(x185, x186) -> f478_in(x185, x186) :|: TRUE f482_out(T52, T53) -> f478_out(s(s(T52)), T53) :|: TRUE f483_out -> f478_out(x187, x188) :|: TRUE f478_in(x189, x190) -> f483_in :|: TRUE f478_in(s(s(x191)), x192) -> f482_in(x191, x192) :|: TRUE f535_out(x193, x194) -> f482_out(x195, x194) :|: TRUE f534_out(x196) -> f535_in(x197, x198) :|: TRUE f482_in(x199, x200) -> f534_in(x199) :|: TRUE f535_in(x201, x202) -> f540_in(x201, x202) :|: TRUE f540_out(x203, x204) -> f535_out(x203, x204) :|: TRUE f540_in(x205, x206) -> f543_in(x205, x206) :|: TRUE f543_out(x207, x208) -> f540_out(x207, x208) :|: TRUE f540_in(x209, x210) -> f544_in(x209, x210) :|: TRUE f544_out(x211, x212) -> f540_out(x211, x212) :|: TRUE f544_in(x213, x214) -> f550_in(x213, x214) :|: TRUE f544_in(x215, x216) -> f551_in(x215, x216) :|: TRUE f550_out(x217, x218) -> f544_out(x217, x218) :|: TRUE f551_out(x219, x220) -> f544_out(x219, x220) :|: TRUE f551_in(x221, x222) -> f559_in :|: TRUE f559_out -> f551_out(x223, x224) :|: TRUE f558_out(T59, T60) -> f551_out(s(s(T59)), T60) :|: TRUE f551_in(s(s(x225)), x226) -> f558_in(x225, x226) :|: TRUE f561_out(x227, x228) -> f558_out(x229, x228) :|: TRUE f558_in(x230, x231) -> f560_in(x230) :|: TRUE f560_out(x232) -> f561_in(x233, x234) :|: TRUE f561_in(x235, x236) -> f564_in(x235, x236) :|: TRUE f564_out(x237, x238) -> f561_out(x237, x238) :|: TRUE f565_out(x239, x240) -> f564_out(x239, x240) :|: TRUE f564_in(x241, x242) -> f565_in(x241, x242) :|: TRUE f567_out(x243, x244) -> f564_out(x243, x244) :|: TRUE f564_in(x245, x246) -> f567_in(x245, x246) :|: TRUE f567_in(x247, x248) -> f577_in(x247, x248) :|: TRUE f567_in(x249, x250) -> f576_in(x249, x250) :|: TRUE f576_out(x251, x252) -> f567_out(x251, x252) :|: TRUE f577_out(x253, x254) -> f567_out(x253, x254) :|: TRUE f577_in(x255, x256) -> f589_in :|: TRUE f588_out(T66, T67) -> f577_out(s(s(T66)), T67) :|: TRUE f589_out -> f577_out(x257, x258) :|: TRUE f577_in(s(s(x259)), x260) -> f588_in(x259, x260) :|: TRUE f593_out(x261, x262) -> f588_out(x263, x262) :|: TRUE f588_in(x264, x265) -> f591_in(x264) :|: TRUE f591_out(x266) -> f593_in(x267, x268) :|: TRUE f595_out(x269, x270) -> f593_out(x269, x270) :|: TRUE f593_in(x271, x272) -> f595_in(x271, x272) :|: TRUE f595_in(x273, x274) -> f598_in(x273, x274) :|: TRUE f598_out(x275, x276) -> f595_out(x275, x276) :|: TRUE f599_out(x277, x278) -> f595_out(x277, x278) :|: TRUE f595_in(x279, x280) -> f599_in(x279, x280) :|: TRUE f608_out(x281, x282) -> f599_out(x281, x282) :|: TRUE f599_in(x283, x284) -> f608_in(x283, x284) :|: TRUE f609_out(x285, x286) -> f599_out(x285, x286) :|: TRUE f599_in(x287, x288) -> f609_in(x287, x288) :|: TRUE f623_out(T73, T74) -> f609_out(s(s(T73)), T74) :|: TRUE f609_in(x289, x290) -> f624_in :|: TRUE f624_out -> f609_out(x291, x292) :|: TRUE f609_in(s(s(x293)), x294) -> f623_in(x293, x294) :|: TRUE f623_in(x295, x296) -> f630_in(x295) :|: TRUE f631_out(x297, x298) -> f623_out(x299, x298) :|: TRUE f630_out(x300) -> f631_in(x301, x302) :|: TRUE f631_in(x303, x304) -> f642_in(x303, x304) :|: TRUE f642_out(x305, x306) -> f631_out(x305, x306) :|: TRUE f642_in(x307, x308) -> f644_in(x307, x308) :|: TRUE f643_out(x309, x310) -> f642_out(x309, x310) :|: TRUE f644_out(x311, x312) -> f642_out(x311, x312) :|: TRUE f642_in(x313, x314) -> f643_in(x313, x314) :|: TRUE f644_in(x315, x316) -> f653_in(x315, x316) :|: TRUE f644_in(x317, x318) -> f654_in(x317, x318) :|: TRUE f653_out(x319, x320) -> f644_out(x319, x320) :|: TRUE f654_out(x321, x322) -> f644_out(x321, x322) :|: TRUE f654_in(s(s(x323)), x324) -> f660_in(x323, x324) :|: TRUE f661_out -> f654_out(x325, x326) :|: TRUE f660_out(x327, x328) -> f654_out(s(s(x327)), x328) :|: TRUE f654_in(x329, x330) -> f661_in :|: TRUE f660_in(x331, x332) -> f663_in(x331, s(s(s(s(s(s(s(0))))))), x332) :|: TRUE f663_out(x333, s(s(s(s(s(s(s(0))))))), x334) -> f660_out(x333, x334) :|: TRUE Start term: f3_in(T2) ---------------------------------------- (90) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: ---------------------------------------- (91) TRUE ---------------------------------------- (92) Obligation: Rules: f292_out -> f314_out :|: TRUE f314_in -> f292_in :|: TRUE f307_in -> f314_in :|: TRUE f307_in -> f315_in :|: TRUE f314_out -> f307_out :|: TRUE f315_out -> f307_out :|: TRUE f292_in -> f295_in :|: TRUE f295_out -> f292_out :|: TRUE f295_in -> f297_in :|: TRUE f297_out -> f295_out :|: TRUE f295_in -> f296_in :|: TRUE f296_out -> f295_out :|: TRUE f297_in -> f307_in :|: TRUE f307_out -> f297_out :|: TRUE f305_out -> f297_out :|: TRUE f297_in -> f305_in :|: TRUE f5_out(T2) -> f3_out(T2) :|: TRUE f3_in(x) -> f5_in(x) :|: TRUE f5_in(T9) -> f8_in(T9) :|: TRUE f8_out(x1) -> f5_out(x1) :|: TRUE f26_out(x2) -> f8_out(x2) :|: TRUE f8_in(x3) -> f26_in(x3) :|: TRUE f27_out(x4) -> f26_out(x4) :|: TRUE f26_in(x5) -> f27_in(x5) :|: TRUE f28_out(x6) -> f26_out(x6) :|: TRUE f26_in(x7) -> f28_in(x7) :|: TRUE f28_in(x8) -> f39_in(x8) :|: TRUE f38_out(x9) -> f28_out(x9) :|: TRUE f28_in(x10) -> f38_in(x10) :|: TRUE f39_out(x11) -> f28_out(x11) :|: TRUE f39_in(x12) -> f283_in :|: TRUE f39_in(T16) -> f282_in(T16) :|: TRUE f283_out -> f39_out(x13) :|: TRUE f282_out(x14) -> f39_out(x14) :|: TRUE f282_in(x15) -> f284_in :|: TRUE f284_out -> f286_in(x16, x17) :|: TRUE f286_out(x18, x19) -> f282_out(x19) :|: TRUE f284_in -> f288_in :|: TRUE f288_out -> f284_out :|: TRUE f288_in -> f289_in :|: TRUE f289_out -> f288_out :|: TRUE f289_in -> f290_in :|: TRUE f290_out -> f289_out :|: TRUE f290_in -> f292_in :|: TRUE f292_out -> f290_out :|: TRUE Start term: f3_in(T2) ---------------------------------------- (93) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f314_in -> f292_in :|: TRUE f307_in -> f314_in :|: TRUE f292_in -> f295_in :|: TRUE f295_in -> f297_in :|: TRUE f297_in -> f307_in :|: TRUE ---------------------------------------- (94) Obligation: Rules: f314_in -> f292_in :|: TRUE f307_in -> f314_in :|: TRUE f292_in -> f295_in :|: TRUE f295_in -> f297_in :|: TRUE f297_in -> f307_in :|: TRUE ---------------------------------------- (95) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (96) Obligation: Rules: f307_in -> f307_in :|: TRUE ---------------------------------------- (97) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (98) Obligation: Rules: f307_in -> f307_in :|: TRUE ---------------------------------------- (99) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f307_in -> f307_in :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (100) Obligation: Termination digraph: Nodes: (1) f307_in -> f307_in :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (101) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f307_in() Replaced non-predefined constructor symbols by 0. ---------------------------------------- (102) Obligation: Rules: f307_in -> f307_in :|: TRUE ---------------------------------------- (103) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc) -> f(1) :|: pc = 1 && TRUE Witness term starting non-terminating reduction: f(1) ---------------------------------------- (104) NO