/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.pl /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/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, 6 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, 1 ms] (13) YES (14) PiDP (15) UsableRulesProof [EQUIVALENT, 0 ms] (16) PiDP (17) PiDPToQDPProof [SOUND, 0 ms] (18) QDP (19) MRRProof [EQUIVALENT, 21 ms] (20) QDP (21) DependencyGraphProof [EQUIVALENT, 0 ms] (22) TRUE (23) PiDP (24) UsableRulesProof [EQUIVALENT, 0 ms] (25) PiDP (26) PiDPToQDPProof [SOUND, 0 ms] (27) QDP (28) PrologToPiTRSProof [SOUND, 0 ms] (29) PiTRS (30) DependencyPairsProof [EQUIVALENT, 4 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) TransformationProof [EQUIVALENT, 0 ms] (47) QDP (48) PiDP (49) UsableRulesProof [EQUIVALENT, 0 ms] (50) PiDP (51) PrologToDTProblemTransformerProof [SOUND, 92 ms] (52) TRIPLES (53) TriplesToPiDPProof [SOUND, 18 ms] (54) PiDP (55) DependencyGraphProof [EQUIVALENT, 0 ms] (56) AND (57) PiDP (58) UsableRulesProof [EQUIVALENT, 0 ms] (59) PiDP (60) PiDPToQDPProof [SOUND, 0 ms] (61) QDP (62) QDPSizeChangeProof [EQUIVALENT, 0 ms] (63) YES (64) PiDP (65) UsableRulesProof [EQUIVALENT, 0 ms] (66) PiDP (67) PiDPToQDPProof [SOUND, 0 ms] (68) QDP (69) TransformationProof [EQUIVALENT, 0 ms] (70) QDP (71) UsableRulesProof [EQUIVALENT, 0 ms] (72) QDP (73) QReductionProof [EQUIVALENT, 0 ms] (74) QDP (75) PiDP (76) UsableRulesProof [EQUIVALENT, 0 ms] (77) PiDP (78) PrologToTRSTransformerProof [SOUND, 68 ms] (79) QTRS (80) PrologToIRSwTTransformerProof [SOUND, 164 ms] (81) AND (82) IRSwT (83) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (84) TRUE (85) IRSwT (86) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (87) TRUE (88) IRSwT (89) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (90) IRSwT (91) IntTRSCompressionProof [EQUIVALENT, 18 ms] (92) IRSwT (93) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (94) IRSwT (95) IRSwTTerminationDigraphProof [EQUIVALENT, 7 ms] (96) IRSwT (97) FilterProof [EQUIVALENT, 1 ms] (98) IntTRS (99) IntTRSPeriodicNontermProof [COMPLETE, 6 ms] (100) 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(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 ---------------------------------------- (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(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) ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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. ---------------------------------------- (19) 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 ---------------------------------------- (20) 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. ---------------------------------------- (21) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (22) TRUE ---------------------------------------- (23) 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 ---------------------------------------- (24) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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) 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 ---------------------------------------- (26) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (27) 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. ---------------------------------------- (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(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 ---------------------------------------- (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(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) ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (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(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. ---------------------------------------- (46) 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)))) ---------------------------------------- (47) 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. ---------------------------------------- (48) 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 ---------------------------------------- (49) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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) 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 ---------------------------------------- (51) 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", "591": { "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": [] } }, "110": { "goal": [{ "clause": 3, "scope": 2, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "594": { "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": [] } }, "111": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "353": { "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": [] } }, "595": { "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": [] } }, "112": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "114": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "631": { "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": [] } }, "478": { "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": [] } }, "599": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "632": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "479": { "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": [] } }, "633": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T64)) X182)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T64"], "free": ["X182"], "exprvars": [] } }, "634": { "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": [] } }, "15": { "goal": [{ "clause": 0, "scope": 1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "free": [], "exprvars": [] } }, "480": { "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": [] } }, "483": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "484": { "goal": [], "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": [] } }, "485": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "486": { "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": [] } }, "487": { "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": [] } }, "641": { "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": [] } }, "488": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "489": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "643": { "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": [] } }, "248": { "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": [] } }, "369": { "goal": [{ "clause": 1, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "249": { "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": [] } }, "645": { "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": [] } }, "525": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T43)) X113)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T43"], "free": ["X113"], "exprvars": [] } }, "647": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "527": { "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": [] } }, "370": { "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": [] } }, "491": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "371": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "493": { "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": [] } }, "252": { "goal": [{ "clause": 6, "scope": 3, "term": "(half (s (s T14)) X26)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X26"], "exprvars": [] } }, "494": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "253": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "650": { "goal": [], "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": 2, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "652": { "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": [] } }, "411": { "goal": [{ "clause": 3, "scope": 6, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "653": { "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": [] } }, "656": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "657": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "658": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "659": { "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": [] } }, "33": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "34": { "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": [] } }, "35": { "goal": [{ "clause": 1, "scope": 2, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "36": { "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": [] } }, "37": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "38": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "39": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "660": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "661": { "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": [] } }, "662": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T71)) X205)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T71"], "free": ["X205"], "exprvars": [] } }, "300": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "663": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "301": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "664": { "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": [] } }, "148": { "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": [] } }, "302": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T24 X44)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X44"], "exprvars": [] } }, "665": { "goal": [{ "clause": 1, "scope": 12, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "303": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "666": { "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": [] } }, "304": { "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": [] } }, "667": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "668": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "669": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "307": { "goal": [{ "clause": 1, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "309": { "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": [] } }, "670": { "goal": [{ "clause": 2, "scope": 12, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "396": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "671": { "goal": [{ "clause": 3, "scope": 12, "term": "(log2 T74 (s T73) T72)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T72", "T73", "T74" ], "free": [], "exprvars": [] } }, "397": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "430": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "672": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "431": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "673": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "432": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "674": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "675": { "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": [] } }, "159": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "313": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "676": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "314": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "435": { "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": [] } }, "315": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "436": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "318": { "goal": [{ "clause": 2, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "439": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T36)) X90)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T36"], "free": ["X90"], "exprvars": [] } }, "319": { "goal": [{ "clause": 3, "scope": 5, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "440": { "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": [] } }, "320": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "322": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "323": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "567": { "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": [] } }, "600": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "601": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "569": { "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": [] } }, "602": { "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": [] } }, "328": { "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": [] } }, "603": { "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": [] } }, "606": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "607": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "608": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "291": { "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": [] } }, "292": { "goal": [{ "clause": 4, "scope": 4, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "293": { "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": [] } }, "294": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "295": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "570": { "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": [] } }, "296": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "571": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "297": { "goal": [{ "clause": 5, "scope": 4, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "330": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "572": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "298": { "goal": [{ "clause": 6, "scope": 4, "term": "(half T20 X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X35"], "exprvars": [] } }, "573": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "299": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "575": { "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": [] } }, "576": { "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": [] } }, "335": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T29)) X67)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T29"], "free": ["X67"], "exprvars": [] } }, "578": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "337": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T31 (s (s (0))) T30)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [], "exprvars": [] } }, "579": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "614": { "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": [] } }, "615": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "616": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T57)) X159)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T57"], "free": ["X159"], "exprvars": [] } }, "617": { "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": [] } }, "618": { "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": [] } }, "619": { "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": [] } }, "180": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T14)) X26)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X26"], "exprvars": [] } }, "182": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T15 (s (0)) T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T15" ], "free": [], "exprvars": [] } }, "580": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "581": { "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": [] } }, "582": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "584": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T50)) X136)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T50"], "free": ["X136"], "exprvars": [] } }, "585": { "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": [] } }, "620": { "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": [] } }, "621": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "622": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "623": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "624": { "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": [] } }, "625": { "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": [] } }, "109": { "goal": [{ "clause": 2, "scope": 2, "term": "(log2 T7 (0) T6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T6"], "free": [], "exprvars": [] } }, "626": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "627": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "628": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 1, "to": 15, "label": "CASE" }, { "from": 15, "to": 33, "label": "ONLY EVAL with clause\nlog2(X4, X5) :- log2(X4, 0, X5).\nand substitutionT1 -> T7,\nX4 -> T7,\nT2 -> T6,\nX5 -> T6,\nT5 -> T7" }, { "from": 33, "to": 34, "label": "CASE" }, { "from": 34, "to": 35, "label": "PARALLEL" }, { "from": 34, "to": 36, "label": "PARALLEL" }, { "from": 35, "to": 37, "label": "EVAL with clause\nlog2(0, X10, X10).\nand substitutionT7 -> 0,\nX10 -> 0,\nT6 -> 0" }, { "from": 35, "to": 38, "label": "EVAL-BACKTRACK" }, { "from": 36, "to": 109, "label": "PARALLEL" }, { "from": 36, "to": 110, "label": "PARALLEL" }, { "from": 37, "to": 39, "label": "SUCCESS" }, { "from": 109, "to": 111, "label": "EVAL with clause\nlog2(s(0), X15, X15).\nand substitutionT7 -> s(0),\nX15 -> 0,\nT6 -> 0" }, { "from": 109, "to": 112, "label": "EVAL-BACKTRACK" }, { "from": 110, "to": 148, "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": 110, "to": 159, "label": "EVAL-BACKTRACK" }, { "from": 111, "to": 114, "label": "SUCCESS" }, { "from": 148, "to": 180, "label": "SPLIT 1" }, { "from": 148, "to": 182, "label": "SPLIT 2\nnew knowledge:\nT14 is ground\nT15 is ground\nreplacements:X26 -> T15" }, { "from": 180, "to": 248, "label": "CASE" }, { "from": 182, "to": 304, "label": "CASE" }, { "from": 248, "to": 249, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 249, "to": 252, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 252, "to": 253, "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": 253, "to": 291, "label": "CASE" }, { "from": 291, "to": 292, "label": "PARALLEL" }, { "from": 291, "to": 293, "label": "PARALLEL" }, { "from": 292, "to": 294, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT20 -> 0,\nX35 -> 0" }, { "from": 292, "to": 295, "label": "EVAL-BACKTRACK" }, { "from": 293, "to": 297, "label": "PARALLEL" }, { "from": 293, "to": 298, "label": "PARALLEL" }, { "from": 294, "to": 296, "label": "SUCCESS" }, { "from": 297, "to": 299, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT20 -> s(0),\nX35 -> 0" }, { "from": 297, "to": 300, "label": "EVAL-BACKTRACK" }, { "from": 298, "to": 302, "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": 298, "to": 303, "label": "EVAL-BACKTRACK" }, { "from": 299, "to": 301, "label": "SUCCESS" }, { "from": 302, "to": 253, "label": "INSTANCE with matching:\nT20 -> T24\nX35 -> X44" }, { "from": 304, "to": 307, "label": "PARALLEL" }, { "from": 304, "to": 309, "label": "PARALLEL" }, { "from": 307, "to": 313, "label": "EVAL with clause\nlog2(0, X51, X51).\nand substitutionT15 -> 0,\nX51 -> s(0),\nT13 -> s(0)" }, { "from": 307, "to": 314, "label": "EVAL-BACKTRACK" }, { "from": 309, "to": 318, "label": "PARALLEL" }, { "from": 309, "to": 319, "label": "PARALLEL" }, { "from": 313, "to": 315, "label": "SUCCESS" }, { "from": 318, "to": 320, "label": "EVAL with clause\nlog2(s(0), X56, X56).\nand substitutionT15 -> s(0),\nX56 -> s(0),\nT13 -> s(0)" }, { "from": 318, "to": 322, "label": "EVAL-BACKTRACK" }, { "from": 319, "to": 328, "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": 319, "to": 330, "label": "EVAL-BACKTRACK" }, { "from": 320, "to": 323, "label": "SUCCESS" }, { "from": 328, "to": 335, "label": "SPLIT 1" }, { "from": 328, "to": 337, "label": "SPLIT 2\nnew knowledge:\nT29 is ground\nT31 is ground\nreplacements:X67 -> T31" }, { "from": 335, "to": 180, "label": "INSTANCE with matching:\nT14 -> T29\nX26 -> X67" }, { "from": 337, "to": 353, "label": "CASE" }, { "from": 353, "to": 369, "label": "PARALLEL" }, { "from": 353, "to": 370, "label": "PARALLEL" }, { "from": 369, "to": 371, "label": "EVAL with clause\nlog2(0, X74, X74).\nand substitutionT31 -> 0,\nX74 -> s(s(0)),\nT30 -> s(s(0))" }, { "from": 369, "to": 396, "label": "EVAL-BACKTRACK" }, { "from": 370, "to": 410, "label": "PARALLEL" }, { "from": 370, "to": 411, "label": "PARALLEL" }, { "from": 371, "to": 397, "label": "SUCCESS" }, { "from": 410, "to": 430, "label": "EVAL with clause\nlog2(s(0), X79, X79).\nand substitutionT31 -> s(0),\nX79 -> s(s(0)),\nT30 -> s(s(0))" }, { "from": 410, "to": 431, "label": "EVAL-BACKTRACK" }, { "from": 411, "to": 435, "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": 411, "to": 436, "label": "EVAL-BACKTRACK" }, { "from": 430, "to": 432, "label": "SUCCESS" }, { "from": 435, "to": 439, "label": "SPLIT 1" }, { "from": 435, "to": 440, "label": "SPLIT 2\nnew knowledge:\nT36 is ground\nT38 is ground\nreplacements:X90 -> T38" }, { "from": 439, "to": 180, "label": "INSTANCE with matching:\nT14 -> T36\nX26 -> X90" }, { "from": 440, "to": 478, "label": "CASE" }, { "from": 478, "to": 479, "label": "PARALLEL" }, { "from": 478, "to": 480, "label": "PARALLEL" }, { "from": 479, "to": 483, "label": "EVAL with clause\nlog2(0, X97, X97).\nand substitutionT38 -> 0,\nX97 -> s(s(s(0))),\nT37 -> s(s(s(0)))" }, { "from": 479, "to": 484, "label": "EVAL-BACKTRACK" }, { "from": 480, "to": 486, "label": "PARALLEL" }, { "from": 480, "to": 487, "label": "PARALLEL" }, { "from": 483, "to": 485, "label": "SUCCESS" }, { "from": 486, "to": 488, "label": "EVAL with clause\nlog2(s(0), X102, X102).\nand substitutionT38 -> s(0),\nX102 -> s(s(s(0))),\nT37 -> s(s(s(0)))" }, { "from": 486, "to": 489, "label": "EVAL-BACKTRACK" }, { "from": 487, "to": 493, "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": 487, "to": 494, "label": "EVAL-BACKTRACK" }, { "from": 488, "to": 491, "label": "SUCCESS" }, { "from": 493, "to": 525, "label": "SPLIT 1" }, { "from": 493, "to": 527, "label": "SPLIT 2\nnew knowledge:\nT43 is ground\nT45 is ground\nreplacements:X113 -> T45" }, { "from": 525, "to": 180, "label": "INSTANCE with matching:\nT14 -> T43\nX26 -> X113" }, { "from": 527, "to": 567, "label": "CASE" }, { "from": 567, "to": 569, "label": "PARALLEL" }, { "from": 567, "to": 570, "label": "PARALLEL" }, { "from": 569, "to": 571, "label": "EVAL with clause\nlog2(0, X120, X120).\nand substitutionT45 -> 0,\nX120 -> s(s(s(s(0)))),\nT44 -> s(s(s(s(0))))" }, { "from": 569, "to": 572, "label": "EVAL-BACKTRACK" }, { "from": 570, "to": 575, "label": "PARALLEL" }, { "from": 570, "to": 576, "label": "PARALLEL" }, { "from": 571, "to": 573, "label": "SUCCESS" }, { "from": 575, "to": 578, "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": 575, "to": 579, "label": "EVAL-BACKTRACK" }, { "from": 576, "to": 581, "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": 576, "to": 582, "label": "EVAL-BACKTRACK" }, { "from": 578, "to": 580, "label": "SUCCESS" }, { "from": 581, "to": 584, "label": "SPLIT 1" }, { "from": 581, "to": 585, "label": "SPLIT 2\nnew knowledge:\nT50 is ground\nT52 is ground\nreplacements:X136 -> T52" }, { "from": 584, "to": 180, "label": "INSTANCE with matching:\nT14 -> T50\nX26 -> X136" }, { "from": 585, "to": 591, "label": "CASE" }, { "from": 591, "to": 594, "label": "PARALLEL" }, { "from": 591, "to": 595, "label": "PARALLEL" }, { "from": 594, "to": 599, "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": 594, "to": 600, "label": "EVAL-BACKTRACK" }, { "from": 595, "to": 602, "label": "PARALLEL" }, { "from": 595, "to": 603, "label": "PARALLEL" }, { "from": 599, "to": 601, "label": "SUCCESS" }, { "from": 602, "to": 606, "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": 602, "to": 607, "label": "EVAL-BACKTRACK" }, { "from": 603, "to": 614, "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": 603, "to": 615, "label": "EVAL-BACKTRACK" }, { "from": 606, "to": 608, "label": "SUCCESS" }, { "from": 614, "to": 616, "label": "SPLIT 1" }, { "from": 614, "to": 617, "label": "SPLIT 2\nnew knowledge:\nT57 is ground\nT59 is ground\nreplacements:X159 -> T59" }, { "from": 616, "to": 180, "label": "INSTANCE with matching:\nT14 -> T57\nX26 -> X159" }, { "from": 617, "to": 618, "label": "CASE" }, { "from": 618, "to": 619, "label": "PARALLEL" }, { "from": 618, "to": 620, "label": "PARALLEL" }, { "from": 619, "to": 621, "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": 619, "to": 622, "label": "EVAL-BACKTRACK" }, { "from": 620, "to": 624, "label": "PARALLEL" }, { "from": 620, "to": 625, "label": "PARALLEL" }, { "from": 621, "to": 623, "label": "SUCCESS" }, { "from": 624, "to": 626, "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": 624, "to": 627, "label": "EVAL-BACKTRACK" }, { "from": 625, "to": 631, "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": 625, "to": 632, "label": "EVAL-BACKTRACK" }, { "from": 626, "to": 628, "label": "SUCCESS" }, { "from": 631, "to": 633, "label": "SPLIT 1" }, { "from": 631, "to": 634, "label": "SPLIT 2\nnew knowledge:\nT64 is ground\nT66 is ground\nreplacements:X182 -> T66" }, { "from": 633, "to": 180, "label": "INSTANCE with matching:\nT14 -> T64\nX26 -> X182" }, { "from": 634, "to": 641, "label": "CASE" }, { "from": 641, "to": 643, "label": "PARALLEL" }, { "from": 641, "to": 645, "label": "PARALLEL" }, { "from": 643, "to": 647, "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": 643, "to": 650, "label": "EVAL-BACKTRACK" }, { "from": 645, "to": 652, "label": "PARALLEL" }, { "from": 645, "to": 653, "label": "PARALLEL" }, { "from": 647, "to": 651, "label": "SUCCESS" }, { "from": 652, "to": 656, "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": 652, "to": 657, "label": "EVAL-BACKTRACK" }, { "from": 653, "to": 659, "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": 653, "to": 660, "label": "EVAL-BACKTRACK" }, { "from": 656, "to": 658, "label": "SUCCESS" }, { "from": 659, "to": 661, "label": "GENERALIZATION\nT73 <-- s(s(s(s(s(s(s(0)))))))\n\nNew Knowledge:\nT73 is ground" }, { "from": 661, "to": 662, "label": "SPLIT 1" }, { "from": 661, "to": 663, "label": "SPLIT 2\nnew knowledge:\nT71 is ground\nT74 is ground\nreplacements:X205 -> T74" }, { "from": 662, "to": 180, "label": "INSTANCE with matching:\nT14 -> T71\nX26 -> X205" }, { "from": 663, "to": 664, "label": "CASE" }, { "from": 664, "to": 665, "label": "PARALLEL" }, { "from": 664, "to": 666, "label": "PARALLEL" }, { "from": 665, "to": 667, "label": "EVAL with clause\nlog2(0, X212, X212).\nand substitutionT74 -> 0,\nT73 -> T81,\nX212 -> s(T81),\nT72 -> s(T81)" }, { "from": 665, "to": 668, "label": "EVAL-BACKTRACK" }, { "from": 666, "to": 670, "label": "PARALLEL" }, { "from": 666, "to": 671, "label": "PARALLEL" }, { "from": 667, "to": 669, "label": "SUCCESS" }, { "from": 670, "to": 672, "label": "EVAL with clause\nlog2(s(0), X217, X217).\nand substitutionT74 -> s(0),\nT73 -> T86,\nX217 -> s(T86),\nT72 -> s(T86)" }, { "from": 670, "to": 673, "label": "EVAL-BACKTRACK" }, { "from": 671, "to": 675, "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": 671, "to": 676, "label": "EVAL-BACKTRACK" }, { "from": 672, "to": 674, "label": "SUCCESS" }, { "from": 675, "to": 661, "label": "INSTANCE with matching:\nT71 -> T93\nX205 -> X228\nT73 -> s(T94)\nT72 -> T95" } ], "type": "Graph" } } ---------------------------------------- (52) 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) ---------------------------------------- (53) 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 ---------------------------------------- (54) 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 ---------------------------------------- (55) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 32 less nodes. ---------------------------------------- (56) Complex Obligation (AND) ---------------------------------------- (57) 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 ---------------------------------------- (58) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (59) 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 ---------------------------------------- (60) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (61) 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. ---------------------------------------- (62) 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 ---------------------------------------- (63) YES ---------------------------------------- (64) 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 ---------------------------------------- (65) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (66) 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 ---------------------------------------- (67) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (68) 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. ---------------------------------------- (69) 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)))) ---------------------------------------- (70) 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. ---------------------------------------- (71) 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. ---------------------------------------- (72) 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. ---------------------------------------- (73) 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) ---------------------------------------- (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: 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. ---------------------------------------- (75) 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 ---------------------------------------- (76) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (77) 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 ---------------------------------------- (78) PrologToTRSTransformerProof (SOUND) Transformed Prolog program to TRS. { "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", "194": { "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": [] } }, "350": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "197": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "351": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "472": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "352": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "473": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "474": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "354": { "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": [] } }, "630": { "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": 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": [] } }, "636": { "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": [] } }, "637": { "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": [] } }, "638": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "518": { "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": [] } }, "639": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "519": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "640": { "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": [] } }, "366": { "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": [] } }, "520": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T45)) X114)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T45"], "free": ["X114"], "exprvars": [] } }, "521": { "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": [] } }, "642": { "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": [] } }, "368": { "goal": [{ "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "522": { "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": [] } }, "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": 9, "term": "(log2 T47 (s (s (s (0)))) T46)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T46", "T47" ], "free": [], "exprvars": [] } }, "644": { "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": [] } }, "524": { "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": [] } }, "646": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "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": [] } }, "529": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "372": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "373": { "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": [] } }, "374": { "goal": [{ "clause": 4, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "375": { "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": [] } }, "376": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "377": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "531": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "257": { "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": [] } }, "378": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "532": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "258": { "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": [] } }, "412": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "654": { "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": [] } }, "259": { "goal": [{ "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "413": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "655": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "414": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "416": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T40 X91)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T40"], "free": ["X91"], "exprvars": [] } }, "537": { "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": [] } }, "538": { "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": [] } }, "418": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "32": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "260": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "264": { "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": [] } }, "265": { "goal": [{ "clause": 4, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "266": { "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": [] } }, "267": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "542": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "268": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "543": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "269": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "544": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "700": { "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": [] } }, "305": { "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": [] } }, "701": { "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": [] } }, "306": { "goal": [{ "clause": 1, "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 T52)) X137) (log2 X137 (s (s (s (s (0))))) T53))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T52", "T53" ], "free": ["X137"], "exprvars": [] } }, "702": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "703": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "308": { "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": [] } }, "704": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "705": { "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": [] } }, "706": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "707": { "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": [] } }, "708": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T80)) X229)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T80"], "free": ["X229"], "exprvars": [] } }, "709": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "270": { "goal": [{ "clause": 5, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "271": { "goal": [{ "clause": 6, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "272": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "273": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "274": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "275": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T27 X50)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X50"], "exprvars": [] } }, "276": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "551": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "310": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "398": { "goal": [{ "clause": 5, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "311": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "399": { "goal": [{ "clause": 6, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "312": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "555": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T52)) X137)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T52"], "free": ["X137"], "exprvars": [] } }, "556": { "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": [] } }, "677": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T66)) X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T66"], "free": ["X183"], "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": [] } }, "678": { "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": [] } }, "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": [] } }, "316": { "goal": [{ "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "558": { "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": [] } }, "679": { "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": [] } }, "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": [] } }, "317": { "goal": [{ "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "713": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "714": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "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": [] } }, "680": { "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": [] } }, "560": { "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": [] } }, "681": { "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": [] } }, "561": { "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": [] } }, "682": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "562": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "683": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "563": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "684": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "564": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "685": { "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": [] } }, "565": { "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": [] } }, "686": { "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": [] } }, "566": { "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": [] } }, "687": { "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": [] } }, "688": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "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": [] } }, "689": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "722": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "207": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "209": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "62": { "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": [] } }, "609": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "690": { "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": [] } }, "691": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "692": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T73)) X206)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T73"], "free": ["X206"], "exprvars": [] } }, "176": { "goal": [{ "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "693": { "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": [] } }, "694": { "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": [] } }, "178": { "goal": [{ "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "695": { "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": [] } }, "696": { "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": [] } }, "697": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "456": { "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": [] } }, "610": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "698": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "611": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "699": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "458": { "goal": [{ "clause": 1, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "612": { "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": [] } }, "459": { "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": [] } }, "613": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "183": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "184": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "185": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "462": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "463": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "464": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "102": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "346": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "467": { "goal": [{ "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "347": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "468": { "goal": [{ "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "106": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "348": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "80": { "goal": [{ "clause": 1, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "349": { "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": [] } }, "108": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "85": { "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": [] } }, "629": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T59)) X160)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T59"], "free": ["X160"], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 6, "label": "CASE" }, { "from": 6, "to": 32, "label": "ONLY EVAL with clause\nlog2(X8, X9) :- log2(X8, 0, X9).\nand substitutionT1 -> T10,\nX8 -> T10,\nT2 -> T9,\nX9 -> T9,\nT8 -> T10" }, { "from": 32, "to": 62, "label": "CASE" }, { "from": 62, "to": 80, "label": "PARALLEL" }, { "from": 62, "to": 85, "label": "PARALLEL" }, { "from": 80, "to": 102, "label": "EVAL with clause\nlog2(0, X16, X16).\nand substitutionT10 -> 0,\nX16 -> 0,\nT9 -> 0" }, { "from": 80, "to": 106, "label": "EVAL-BACKTRACK" }, { "from": 85, "to": 176, "label": "PARALLEL" }, { "from": 85, "to": 178, "label": "PARALLEL" }, { "from": 102, "to": 108, "label": "SUCCESS" }, { "from": 176, "to": 183, "label": "EVAL with clause\nlog2(s(0), X21, X21).\nand substitutionT10 -> s(0),\nX21 -> 0,\nT9 -> 0" }, { "from": 176, "to": 184, "label": "EVAL-BACKTRACK" }, { "from": 178, "to": 194, "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": 178, "to": 197, "label": "EVAL-BACKTRACK" }, { "from": 183, "to": 185, "label": "SUCCESS" }, { "from": 194, "to": 207, "label": "SPLIT 1" }, { "from": 194, "to": 209, "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nT18 is ground\nreplacements:X32 -> T18" }, { "from": 207, "to": 257, "label": "CASE" }, { "from": 209, "to": 305, "label": "CASE" }, { "from": 257, "to": 258, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 258, "to": 259, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 259, "to": 260, "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": 260, "to": 264, "label": "CASE" }, { "from": 264, "to": 265, "label": "PARALLEL" }, { "from": 264, "to": 266, "label": "PARALLEL" }, { "from": 265, "to": 267, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT23 -> 0,\nX41 -> 0" }, { "from": 265, "to": 268, "label": "EVAL-BACKTRACK" }, { "from": 266, "to": 270, "label": "PARALLEL" }, { "from": 266, "to": 271, "label": "PARALLEL" }, { "from": 267, "to": 269, "label": "SUCCESS" }, { "from": 270, "to": 272, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT23 -> s(0),\nX41 -> 0" }, { "from": 270, "to": 273, "label": "EVAL-BACKTRACK" }, { "from": 271, "to": 275, "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": 271, "to": 276, "label": "EVAL-BACKTRACK" }, { "from": 272, "to": 274, "label": "SUCCESS" }, { "from": 275, "to": 260, "label": "INSTANCE with matching:\nT23 -> T27\nX41 -> X50" }, { "from": 305, "to": 306, "label": "PARALLEL" }, { "from": 305, "to": 308, "label": "PARALLEL" }, { "from": 306, "to": 310, "label": "EVAL with clause\nlog2(0, X57, X57).\nand substitutionT18 -> 0,\nX57 -> s(0),\nT16 -> s(0)" }, { "from": 306, "to": 311, "label": "EVAL-BACKTRACK" }, { "from": 308, "to": 316, "label": "PARALLEL" }, { "from": 308, "to": 317, "label": "PARALLEL" }, { "from": 310, "to": 312, "label": "SUCCESS" }, { "from": 316, "to": 346, "label": "EVAL with clause\nlog2(s(0), X62, X62).\nand substitutionT18 -> s(0),\nX62 -> s(0),\nT16 -> s(0)" }, { "from": 316, "to": 347, "label": "EVAL-BACKTRACK" }, { "from": 317, "to": 349, "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": 317, "to": 350, "label": "EVAL-BACKTRACK" }, { "from": 346, "to": 348, "label": "SUCCESS" }, { "from": 349, "to": 351, "label": "SPLIT 1" }, { "from": 349, "to": 352, "label": "SPLIT 2\nnew knowledge:\nT32 is ground\nT34 is ground\nreplacements:X73 -> T34" }, { "from": 351, "to": 354, "label": "CASE" }, { "from": 352, "to": 456, "label": "CASE" }, { "from": 354, "to": 366, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 366, "to": 368, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 368, "to": 372, "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": 372, "to": 373, "label": "CASE" }, { "from": 373, "to": 374, "label": "PARALLEL" }, { "from": 373, "to": 375, "label": "PARALLEL" }, { "from": 374, "to": 376, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT37 -> 0,\nX82 -> 0" }, { "from": 374, "to": 377, "label": "EVAL-BACKTRACK" }, { "from": 375, "to": 398, "label": "PARALLEL" }, { "from": 375, "to": 399, "label": "PARALLEL" }, { "from": 376, "to": 378, "label": "SUCCESS" }, { "from": 398, "to": 412, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT37 -> s(0),\nX82 -> 0" }, { "from": 398, "to": 413, "label": "EVAL-BACKTRACK" }, { "from": 399, "to": 416, "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": 399, "to": 418, "label": "EVAL-BACKTRACK" }, { "from": 412, "to": 414, "label": "SUCCESS" }, { "from": 416, "to": 372, "label": "INSTANCE with matching:\nT37 -> T40\nX82 -> X91" }, { "from": 456, "to": 458, "label": "PARALLEL" }, { "from": 456, "to": 459, "label": "PARALLEL" }, { "from": 458, "to": 462, "label": "EVAL with clause\nlog2(0, X98, X98).\nand substitutionT34 -> 0,\nX98 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 458, "to": 463, "label": "EVAL-BACKTRACK" }, { "from": 459, "to": 467, "label": "PARALLEL" }, { "from": 459, "to": 468, "label": "PARALLEL" }, { "from": 462, "to": 464, "label": "SUCCESS" }, { "from": 467, "to": 472, "label": "EVAL with clause\nlog2(s(0), X103, X103).\nand substitutionT34 -> s(0),\nX103 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 467, "to": 473, "label": "EVAL-BACKTRACK" }, { "from": 468, "to": 518, "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": 468, "to": 519, "label": "EVAL-BACKTRACK" }, { "from": 472, "to": 474, "label": "SUCCESS" }, { "from": 518, "to": 520, "label": "SPLIT 1" }, { "from": 518, "to": 521, "label": "SPLIT 2\nnew knowledge:\nT45 is ground\nT47 is ground\nreplacements:X114 -> T47" }, { "from": 520, "to": 351, "label": "INSTANCE with matching:\nT32 -> T45\nX73 -> X114" }, { "from": 521, "to": 522, "label": "CASE" }, { "from": 522, "to": 523, "label": "PARALLEL" }, { "from": 522, "to": 524, "label": "PARALLEL" }, { "from": 523, "to": 529, "label": "EVAL with clause\nlog2(0, X121, X121).\nand substitutionT47 -> 0,\nX121 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 523, "to": 531, "label": "EVAL-BACKTRACK" }, { "from": 524, "to": 537, "label": "PARALLEL" }, { "from": 524, "to": 538, "label": "PARALLEL" }, { "from": 529, "to": 532, "label": "SUCCESS" }, { "from": 537, "to": 542, "label": "EVAL with clause\nlog2(s(0), X126, X126).\nand substitutionT47 -> s(0),\nX126 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 537, "to": 543, "label": "EVAL-BACKTRACK" }, { "from": 538, "to": 548, "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": 538, "to": 551, "label": "EVAL-BACKTRACK" }, { "from": 542, "to": 544, "label": "SUCCESS" }, { "from": 548, "to": 555, "label": "SPLIT 1" }, { "from": 548, "to": 556, "label": "SPLIT 2\nnew knowledge:\nT52 is ground\nT54 is ground\nreplacements:X137 -> T54" }, { "from": 555, "to": 351, "label": "INSTANCE with matching:\nT32 -> T52\nX73 -> X137" }, { "from": 556, "to": 558, "label": "CASE" }, { "from": 558, "to": 560, "label": "PARALLEL" }, { "from": 558, "to": 561, "label": "PARALLEL" }, { "from": 560, "to": 562, "label": "EVAL with clause\nlog2(0, X144, X144).\nand substitutionT54 -> 0,\nX144 -> s(s(s(s(0)))),\nT53 -> s(s(s(s(0))))" }, { "from": 560, "to": 563, "label": "EVAL-BACKTRACK" }, { "from": 561, "to": 565, "label": "PARALLEL" }, { "from": 561, "to": 566, "label": "PARALLEL" }, { "from": 562, "to": 564, "label": "SUCCESS" }, { "from": 565, "to": 609, "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": 565, "to": 610, "label": "EVAL-BACKTRACK" }, { "from": 566, "to": 612, "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": 566, "to": 613, "label": "EVAL-BACKTRACK" }, { "from": 609, "to": 611, "label": "SUCCESS" }, { "from": 612, "to": 629, "label": "SPLIT 1" }, { "from": 612, "to": 630, "label": "SPLIT 2\nnew knowledge:\nT59 is ground\nT61 is ground\nreplacements:X160 -> T61" }, { "from": 629, "to": 351, "label": "INSTANCE with matching:\nT32 -> T59\nX73 -> X160" }, { "from": 630, "to": 635, "label": "CASE" }, { "from": 635, "to": 636, "label": "PARALLEL" }, { "from": 635, "to": 637, "label": "PARALLEL" }, { "from": 636, "to": 638, "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": 636, "to": 639, "label": "EVAL-BACKTRACK" }, { "from": 637, "to": 642, "label": "PARALLEL" }, { "from": 637, "to": 644, "label": "PARALLEL" }, { "from": 638, "to": 640, "label": "SUCCESS" }, { "from": 642, "to": 646, "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": 642, "to": 648, "label": "EVAL-BACKTRACK" }, { "from": 644, "to": 654, "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": 644, "to": 655, "label": "EVAL-BACKTRACK" }, { "from": 646, "to": 649, "label": "SUCCESS" }, { "from": 654, "to": 677, "label": "SPLIT 1" }, { "from": 654, "to": 678, "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT68 is ground\nreplacements:X183 -> T68" }, { "from": 677, "to": 351, "label": "INSTANCE with matching:\nT32 -> T66\nX73 -> X183" }, { "from": 678, "to": 679, "label": "CASE" }, { "from": 679, "to": 680, "label": "PARALLEL" }, { "from": 679, "to": 681, "label": "PARALLEL" }, { "from": 680, "to": 682, "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": 680, "to": 683, "label": "EVAL-BACKTRACK" }, { "from": 681, "to": 685, "label": "PARALLEL" }, { "from": 681, "to": 686, "label": "PARALLEL" }, { "from": 682, "to": 684, "label": "SUCCESS" }, { "from": 685, "to": 687, "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": 685, "to": 688, "label": "EVAL-BACKTRACK" }, { "from": 686, "to": 690, "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": 686, "to": 691, "label": "EVAL-BACKTRACK" }, { "from": 687, "to": 689, "label": "SUCCESS" }, { "from": 690, "to": 692, "label": "SPLIT 1" }, { "from": 690, "to": 693, "label": "SPLIT 2\nnew knowledge:\nT73 is ground\nT75 is ground\nreplacements:X206 -> T75" }, { "from": 692, "to": 351, "label": "INSTANCE with matching:\nT32 -> T73\nX73 -> X206" }, { "from": 693, "to": 694, "label": "CASE" }, { "from": 694, "to": 695, "label": "PARALLEL" }, { "from": 694, "to": 696, "label": "PARALLEL" }, { "from": 695, "to": 697, "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": 695, "to": 698, "label": "EVAL-BACKTRACK" }, { "from": 696, "to": 700, "label": "PARALLEL" }, { "from": 696, "to": 701, "label": "PARALLEL" }, { "from": 697, "to": 699, "label": "SUCCESS" }, { "from": 700, "to": 702, "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": 700, "to": 703, "label": "EVAL-BACKTRACK" }, { "from": 701, "to": 705, "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": 701, "to": 706, "label": "EVAL-BACKTRACK" }, { "from": 702, "to": 704, "label": "SUCCESS" }, { "from": 705, "to": 707, "label": "GENERALIZATION\nT82 <-- s(s(s(s(s(s(s(0)))))))\n\nNew Knowledge:\nT82 is ground" }, { "from": 707, "to": 708, "label": "SPLIT 1" }, { "from": 707, "to": 709, "label": "SPLIT 2\nnew knowledge:\nT80 is ground\nT83 is ground\nreplacements:X229 -> T83" }, { "from": 708, "to": 351, "label": "INSTANCE with matching:\nT32 -> T80\nX73 -> X229" }, { "from": 709, "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": 707, "label": "INSTANCE with matching:\nT80 -> T102\nX229 -> X252\nT82 -> s(T103)\nT81 -> T104" } ], "type": "Graph" } } ---------------------------------------- (79) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: f3_in(0) -> f3_out1(0) f3_in(0) -> f3_out1(s(0)) f3_in(T16) -> U1(f194_in(T16), T16) U1(f194_out1(T17, X32), T16) -> f3_out1(s(s(T17))) f260_in -> f260_out1(0, 0) f260_in -> f260_out1(s(0), 0) f260_in -> U2(f260_in) U2(f260_out1(T27, X50)) -> f260_out1(s(s(T27)), s(X50)) f372_in(0) -> f372_out1(0) f372_in(s(0)) -> f372_out1(0) f372_in(s(s(T40))) -> U3(f372_in(T40), s(s(T40))) U3(f372_out1(X91), s(s(T40))) -> f372_out1(s(X91)) f351_in(T37) -> U4(f372_in(T37), T37) U4(f372_out1(X82), T37) -> f351_out1(s(X82)) f207_in -> U5(f260_in) U5(f260_out1(T23, X41)) -> f207_out1(T23, s(X41)) f209_in(0, s(0)) -> f209_out1 f209_in(s(0), s(0)) -> f209_out1 f209_in(s(s(T32)), T33) -> U6(f349_in(T32, T33), s(s(T32)), T33) U6(f349_out1(X73), s(s(T32)), T33) -> f209_out1 f352_in(0, s(s(0))) -> f352_out1 f352_in(s(0), s(s(0))) -> f352_out1 f352_in(s(s(T45)), T46) -> U7(f518_in(T45, T46), s(s(T45)), T46) U7(f518_out1(X114), s(s(T45)), T46) -> f352_out1 f521_in(0, s(s(s(0)))) -> f521_out1 f521_in(s(0), s(s(s(0)))) -> f521_out1 f521_in(s(s(T52)), T53) -> U8(f548_in(T52, T53), s(s(T52)), T53) U8(f548_out1(X137), s(s(T52)), T53) -> f521_out1 f556_in(0, s(s(s(s(0))))) -> f556_out1 f556_in(s(0), s(s(s(s(0))))) -> f556_out1 f556_in(s(s(T59)), T60) -> U9(f612_in(T59, T60), s(s(T59)), T60) U9(f612_out1(X160), s(s(T59)), T60) -> f556_out1 f630_in(0, s(s(s(s(s(0)))))) -> f630_out1 f630_in(s(0), s(s(s(s(s(0)))))) -> f630_out1 f630_in(s(s(T66)), T67) -> U10(f654_in(T66, T67), s(s(T66)), T67) U10(f654_out1(X183), s(s(T66)), T67) -> f630_out1 f678_in(0, s(s(s(s(s(s(0))))))) -> f678_out1 f678_in(s(0), s(s(s(s(s(s(0))))))) -> f678_out1 f678_in(s(s(T73)), T74) -> U11(f690_in(T73, T74), s(s(T73)), T74) U11(f690_out1(X206), s(s(T73)), T74) -> f678_out1 f693_in(0, s(s(s(s(s(s(s(0)))))))) -> f693_out1 f693_in(s(0), s(s(s(s(s(s(s(0)))))))) -> f693_out1 f693_in(s(s(T80)), T81) -> U12(f707_in(T80, s(s(s(s(s(s(s(0))))))), T81), s(s(T80)), T81) U12(f707_out1(X229), s(s(T80)), T81) -> f693_out1 f709_in(0, T90, s(T90)) -> f709_out1 f709_in(s(0), T95, s(T95)) -> f709_out1 f709_in(s(s(T102)), T103, T104) -> U13(f707_in(T102, s(T103), T104), s(s(T102)), T103, T104) U13(f707_out1(X252), s(s(T102)), T103, T104) -> f709_out1 f194_in(T16) -> U14(f207_in, T16) U14(f207_out1(T17, T18), T16) -> U15(f209_in(T18, T16), T16, T17, T18) U15(f209_out1, T16, T17, T18) -> f194_out1(T17, T18) f349_in(T32, T33) -> U16(f351_in(T32), T32, T33) U16(f351_out1(T34), T32, T33) -> U17(f352_in(T34, T33), T32, T33, T34) U17(f352_out1, T32, T33, T34) -> f349_out1(T34) f518_in(T45, T46) -> U18(f351_in(T45), T45, T46) U18(f351_out1(T47), T45, T46) -> U19(f521_in(T47, T46), T45, T46, T47) U19(f521_out1, T45, T46, T47) -> f518_out1(T47) f548_in(T52, T53) -> U20(f351_in(T52), T52, T53) U20(f351_out1(T54), T52, T53) -> U21(f556_in(T54, T53), T52, T53, T54) U21(f556_out1, T52, T53, T54) -> f548_out1(T54) f612_in(T59, T60) -> U22(f351_in(T59), T59, T60) U22(f351_out1(T61), T59, T60) -> U23(f630_in(T61, T60), T59, T60, T61) U23(f630_out1, T59, T60, T61) -> f612_out1(T61) f654_in(T66, T67) -> U24(f351_in(T66), T66, T67) U24(f351_out1(T68), T66, T67) -> U25(f678_in(T68, T67), T66, T67, T68) U25(f678_out1, T66, T67, T68) -> f654_out1(T68) f690_in(T73, T74) -> U26(f351_in(T73), T73, T74) U26(f351_out1(T75), T73, T74) -> U27(f693_in(T75, T74), T73, T74, T75) U27(f693_out1, T73, T74, T75) -> f690_out1(T75) f707_in(T80, T82, T81) -> U28(f351_in(T80), T80, T82, T81) U28(f351_out1(T83), T80, T82, T81) -> U29(f709_in(T83, T82, T81), T80, T82, T81, T83) U29(f709_out1, T80, T82, T81, T83) -> f707_out1(T83) Q is empty. ---------------------------------------- (80) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "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": { "type": "Nodes", "590": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "470": { "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": [] } }, "471": { "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": [] } }, "592": { "goal": [{ "clause": 2, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "230": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "593": { "goal": [{ "clause": 3, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "232": { "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": [] } }, "475": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "596": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "234": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "476": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "597": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "235": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "477": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "510": { "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": [] } }, "598": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "236": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "511": { "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": [] } }, "512": { "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": [] } }, "513": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "514": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "515": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "516": { "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": [] } }, "517": { "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": [] } }, "481": { "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": [] } }, "482": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T2"], "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": 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": [] } }, "400": { "goal": [{ "clause": 4, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "401": { "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": [] } }, "402": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "403": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "404": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "405": { "goal": [{ "clause": 5, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "526": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "406": { "goal": [{ "clause": 6, "scope": 7, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "407": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "528": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "408": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "409": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "490": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T59)) X160)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T59"], "free": ["X160"], "exprvars": [] } }, "492": { "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": [] } }, "495": { "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": [] } }, "254": { "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": [] } }, "496": { "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": [] } }, "255": { "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": [] } }, "497": { "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": [] } }, "530": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "256": { "goal": [{ "clause": 6, "scope": 3, "term": "(half (s (s T17)) X32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X32"], "exprvars": [] } }, "498": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "499": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "533": { "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": [] } }, "534": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "535": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T73)) X206)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T73"], "free": ["X206"], "exprvars": [] } }, "415": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T40 X91)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T40"], "free": ["X91"], "exprvars": [] } }, "536": { "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": [] } }, "417": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "539": { "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": [] } }, "419": { "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": [] } }, "31": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "540": { "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": [] } }, "420": { "goal": [{ "clause": 1, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "541": { "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": [] } }, "421": { "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": [] } }, "422": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "423": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "424": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "545": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "425": { "goal": [{ "clause": 2, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "exprvars": [] } }, "546": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "426": { "goal": [{ "clause": 3, "scope": 8, "term": "(log2 T34 (s (s (0))) T33)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T33", "T34" ], "free": [], "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": [] } }, "428": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "549": { "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": [] } }, "429": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "550": { "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": [] } }, "277": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "552": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "278": { "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": [] } }, "553": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "279": { "goal": [{ "clause": 4, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "433": { "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": [] } }, "554": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "434": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "557": { "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": [] } }, "437": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T45)) X114)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T45"], "free": ["X114"], "exprvars": [] } }, "438": { "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": [] } }, "559": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "280": { "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": [] } }, "281": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "282": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "283": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "284": { "goal": [{ "clause": 5, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "285": { "goal": [{ "clause": 6, "scope": 4, "term": "(half T23 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X41"], "exprvars": [] } }, "286": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "287": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "441": { "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": [] } }, "288": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "321": { "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": [] } }, "442": { "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": [] } }, "289": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T27 X50)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X50"], "exprvars": [] } }, "443": { "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": [] } }, "444": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "324": { "goal": [{ "clause": 1, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "445": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "325": { "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": [] } }, "446": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "326": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "447": { "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": [] } }, "568": { "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": [] } }, "327": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "448": { "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": [] } }, "449": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "329": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "604": { "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": [] } }, "61": { "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": [] } }, "605": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "290": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "450": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "451": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "331": { "goal": [{ "clause": 2, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "452": { "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": [] } }, "332": { "goal": [{ "clause": 3, "scope": 5, "term": "(log2 T18 (s (0)) T16)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T18" ], "free": [], "exprvars": [] } }, "453": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "574": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T80)) X229)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T80"], "free": ["X229"], "exprvars": [] } }, "333": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "454": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T52)) X137)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T52"], "free": ["X137"], "exprvars": [] } }, "334": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "455": { "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": [] } }, "577": { "goal": [{ "clause": -1, "scope": -1, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "336": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "457": { "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": [] } }, "338": { "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": [] } }, "339": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "78": { "goal": [{ "clause": 1, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "460": { "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": [] } }, "340": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "461": { "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": [] } }, "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": [] } }, "583": { "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": [] } }, "100": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "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": [] } }, "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": [] } }, "344": { "goal": [{ "clause": 6, "scope": 6, "term": "(half (s (s T32)) X73)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T32"], "free": ["X73"], "exprvars": [] } }, "465": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "586": { "goal": [{ "clause": 1, "scope": 14, "term": "(log2 T83 (s T82) T81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T81", "T82", "T83" ], "free": [], "exprvars": [] } }, "345": { "goal": [{ "clause": -1, "scope": -1, "term": "(half T37 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": ["X82"], "exprvars": [] } }, "466": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "587": { "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": [] } }, "500": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "588": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "105": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "226": { "goal": [{ "clause": 2, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "501": { "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": [] } }, "589": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "227": { "goal": [{ "clause": 3, "scope": 2, "term": "(log2 T10 (0) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T9"], "free": [], "exprvars": [] } }, "469": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "502": { "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": [] } }, "107": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "228": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "503": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "229": { "goal": [], "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": [] } }, "83": { "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": [] } }, "506": { "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": [] } }, "507": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "508": { "goal": [{ "clause": -1, "scope": -1, "term": "(half (s (s T66)) X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T66"], "free": ["X183"], "exprvars": [] } }, "509": { "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": [] } } }, "edges": [ { "from": 2, "to": 4, "label": "CASE" }, { "from": 4, "to": 31, "label": "ONLY EVAL with clause\nlog2(X8, X9) :- log2(X8, 0, X9).\nand substitutionT1 -> T10,\nX8 -> T10,\nT2 -> T9,\nX9 -> T9,\nT8 -> T10" }, { "from": 31, "to": 61, "label": "CASE" }, { "from": 61, "to": 78, "label": "PARALLEL" }, { "from": 61, "to": 83, "label": "PARALLEL" }, { "from": 78, "to": 100, "label": "EVAL with clause\nlog2(0, X16, X16).\nand substitutionT10 -> 0,\nX16 -> 0,\nT9 -> 0" }, { "from": 78, "to": 105, "label": "EVAL-BACKTRACK" }, { "from": 83, "to": 226, "label": "PARALLEL" }, { "from": 83, "to": 227, "label": "PARALLEL" }, { "from": 100, "to": 107, "label": "SUCCESS" }, { "from": 226, "to": 228, "label": "EVAL with clause\nlog2(s(0), X21, X21).\nand substitutionT10 -> s(0),\nX21 -> 0,\nT9 -> 0" }, { "from": 226, "to": 229, "label": "EVAL-BACKTRACK" }, { "from": 227, "to": 232, "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": 227, "to": 234, "label": "EVAL-BACKTRACK" }, { "from": 228, "to": 230, "label": "SUCCESS" }, { "from": 232, "to": 235, "label": "SPLIT 1" }, { "from": 232, "to": 236, "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nT18 is ground\nreplacements:X32 -> T18" }, { "from": 235, "to": 254, "label": "CASE" }, { "from": 236, "to": 321, "label": "CASE" }, { "from": 254, "to": 255, "label": "BACKTRACK\nfor clause: half(0, 0)because of non-unification" }, { "from": 255, "to": 256, "label": "BACKTRACK\nfor clause: half(s(0), 0)because of non-unification" }, { "from": 256, "to": 277, "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": 277, "to": 278, "label": "CASE" }, { "from": 278, "to": 279, "label": "PARALLEL" }, { "from": 278, "to": 280, "label": "PARALLEL" }, { "from": 279, "to": 281, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT23 -> 0,\nX41 -> 0" }, { "from": 279, "to": 282, "label": "EVAL-BACKTRACK" }, { "from": 280, "to": 284, "label": "PARALLEL" }, { "from": 280, "to": 285, "label": "PARALLEL" }, { "from": 281, "to": 283, "label": "SUCCESS" }, { "from": 284, "to": 286, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT23 -> s(0),\nX41 -> 0" }, { "from": 284, "to": 287, "label": "EVAL-BACKTRACK" }, { "from": 285, "to": 289, "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": 285, "to": 290, "label": "EVAL-BACKTRACK" }, { "from": 286, "to": 288, "label": "SUCCESS" }, { "from": 289, "to": 277, "label": "INSTANCE with matching:\nT23 -> T27\nX41 -> X50" }, { "from": 321, "to": 324, "label": "PARALLEL" }, { "from": 321, "to": 325, "label": "PARALLEL" }, { "from": 324, "to": 326, "label": "EVAL with clause\nlog2(0, X57, X57).\nand substitutionT18 -> 0,\nX57 -> s(0),\nT16 -> s(0)" }, { "from": 324, "to": 327, "label": "EVAL-BACKTRACK" }, { "from": 325, "to": 331, "label": "PARALLEL" }, { "from": 325, "to": 332, "label": "PARALLEL" }, { "from": 326, "to": 329, "label": "SUCCESS" }, { "from": 331, "to": 333, "label": "EVAL with clause\nlog2(s(0), X62, X62).\nand substitutionT18 -> s(0),\nX62 -> s(0),\nT16 -> s(0)" }, { "from": 331, "to": 334, "label": "EVAL-BACKTRACK" }, { "from": 332, "to": 338, "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": 332, "to": 339, "label": "EVAL-BACKTRACK" }, { "from": 333, "to": 336, "label": "SUCCESS" }, { "from": 338, "to": 340, "label": "SPLIT 1" }, { "from": 338, "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": 419, "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": 367, "label": "CASE" }, { "from": 367, "to": 400, "label": "PARALLEL" }, { "from": 367, "to": 401, "label": "PARALLEL" }, { "from": 400, "to": 402, "label": "EVAL with clause\nhalf(0, 0).\nand substitutionT37 -> 0,\nX82 -> 0" }, { "from": 400, "to": 403, "label": "EVAL-BACKTRACK" }, { "from": 401, "to": 405, "label": "PARALLEL" }, { "from": 401, "to": 406, "label": "PARALLEL" }, { "from": 402, "to": 404, "label": "SUCCESS" }, { "from": 405, "to": 407, "label": "EVAL with clause\nhalf(s(0), 0).\nand substitutionT37 -> s(0),\nX82 -> 0" }, { "from": 405, "to": 408, "label": "EVAL-BACKTRACK" }, { "from": 406, "to": 415, "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": 406, "to": 417, "label": "EVAL-BACKTRACK" }, { "from": 407, "to": 409, "label": "SUCCESS" }, { "from": 415, "to": 345, "label": "INSTANCE with matching:\nT37 -> T40\nX82 -> X91" }, { "from": 419, "to": 420, "label": "PARALLEL" }, { "from": 419, "to": 421, "label": "PARALLEL" }, { "from": 420, "to": 422, "label": "EVAL with clause\nlog2(0, X98, X98).\nand substitutionT34 -> 0,\nX98 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 420, "to": 423, "label": "EVAL-BACKTRACK" }, { "from": 421, "to": 425, "label": "PARALLEL" }, { "from": 421, "to": 426, "label": "PARALLEL" }, { "from": 422, "to": 424, "label": "SUCCESS" }, { "from": 425, "to": 427, "label": "EVAL with clause\nlog2(s(0), X103, X103).\nand substitutionT34 -> s(0),\nX103 -> s(s(0)),\nT33 -> s(s(0))" }, { "from": 425, "to": 428, "label": "EVAL-BACKTRACK" }, { "from": 426, "to": 433, "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": 426, "to": 434, "label": "EVAL-BACKTRACK" }, { "from": 427, "to": 429, "label": "SUCCESS" }, { "from": 433, "to": 437, "label": "SPLIT 1" }, { "from": 433, "to": 438, "label": "SPLIT 2\nnew knowledge:\nT45 is ground\nT47 is ground\nreplacements:X114 -> T47" }, { "from": 437, "to": 340, "label": "INSTANCE with matching:\nT32 -> T45\nX73 -> X114" }, { "from": 438, "to": 441, "label": "CASE" }, { "from": 441, "to": 442, "label": "PARALLEL" }, { "from": 441, "to": 443, "label": "PARALLEL" }, { "from": 442, "to": 444, "label": "EVAL with clause\nlog2(0, X121, X121).\nand substitutionT47 -> 0,\nX121 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 442, "to": 445, "label": "EVAL-BACKTRACK" }, { "from": 443, "to": 447, "label": "PARALLEL" }, { "from": 443, "to": 448, "label": "PARALLEL" }, { "from": 444, "to": 446, "label": "SUCCESS" }, { "from": 447, "to": 449, "label": "EVAL with clause\nlog2(s(0), X126, X126).\nand substitutionT47 -> s(0),\nX126 -> s(s(s(0))),\nT46 -> s(s(s(0)))" }, { "from": 447, "to": 450, "label": "EVAL-BACKTRACK" }, { "from": 448, "to": 452, "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": 448, "to": 453, "label": "EVAL-BACKTRACK" }, { "from": 449, "to": 451, "label": "SUCCESS" }, { "from": 452, "to": 454, "label": "SPLIT 1" }, { "from": 452, "to": 455, "label": "SPLIT 2\nnew knowledge:\nT52 is ground\nT54 is ground\nreplacements:X137 -> T54" }, { "from": 454, "to": 340, "label": "INSTANCE with matching:\nT32 -> T52\nX73 -> X137" }, { "from": 455, "to": 457, "label": "CASE" }, { "from": 457, "to": 460, "label": "PARALLEL" }, { "from": 457, "to": 461, "label": "PARALLEL" }, { "from": 460, "to": 465, "label": "EVAL with clause\nlog2(0, X144, X144).\nand substitutionT54 -> 0,\nX144 -> s(s(s(s(0)))),\nT53 -> s(s(s(s(0))))" }, { "from": 460, "to": 466, "label": "EVAL-BACKTRACK" }, { "from": 461, "to": 470, "label": "PARALLEL" }, { "from": 461, "to": 471, "label": "PARALLEL" }, { "from": 465, "to": 469, "label": "SUCCESS" }, { "from": 470, "to": 475, "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": 470, "to": 476, "label": "EVAL-BACKTRACK" }, { "from": 471, "to": 481, "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": 471, "to": 482, "label": "EVAL-BACKTRACK" }, { "from": 475, "to": 477, "label": "SUCCESS" }, { "from": 481, "to": 490, "label": "SPLIT 1" }, { "from": 481, "to": 492, "label": "SPLIT 2\nnew knowledge:\nT59 is ground\nT61 is ground\nreplacements:X160 -> T61" }, { "from": 490, "to": 340, "label": "INSTANCE with matching:\nT32 -> T59\nX73 -> X160" }, { "from": 492, "to": 495, "label": "CASE" }, { "from": 495, "to": 496, "label": "PARALLEL" }, { "from": 495, "to": 497, "label": "PARALLEL" }, { "from": 496, "to": 498, "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": 496, "to": 499, "label": "EVAL-BACKTRACK" }, { "from": 497, "to": 501, "label": "PARALLEL" }, { "from": 497, "to": 502, "label": "PARALLEL" }, { "from": 498, "to": 500, "label": "SUCCESS" }, { "from": 501, "to": 503, "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": 501, "to": 504, "label": "EVAL-BACKTRACK" }, { "from": 502, "to": 506, "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": 502, "to": 507, "label": "EVAL-BACKTRACK" }, { "from": 503, "to": 505, "label": "SUCCESS" }, { "from": 506, "to": 508, "label": "SPLIT 1" }, { "from": 506, "to": 509, "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT68 is ground\nreplacements:X183 -> T68" }, { "from": 508, "to": 340, "label": "INSTANCE with matching:\nT32 -> T66\nX73 -> X183" }, { "from": 509, "to": 510, "label": "CASE" }, { "from": 510, "to": 511, "label": "PARALLEL" }, { "from": 510, "to": 512, "label": "PARALLEL" }, { "from": 511, "to": 513, "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": 511, "to": 514, "label": "EVAL-BACKTRACK" }, { "from": 512, "to": 516, "label": "PARALLEL" }, { "from": 512, "to": 517, "label": "PARALLEL" }, { "from": 513, "to": 515, "label": "SUCCESS" }, { "from": 516, "to": 526, "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": 516, "to": 528, "label": "EVAL-BACKTRACK" }, { "from": 517, "to": 533, "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": 517, "to": 534, "label": "EVAL-BACKTRACK" }, { "from": 526, "to": 530, "label": "SUCCESS" }, { "from": 533, "to": 535, "label": "SPLIT 1" }, { "from": 533, "to": 536, "label": "SPLIT 2\nnew knowledge:\nT73 is ground\nT75 is ground\nreplacements:X206 -> T75" }, { "from": 535, "to": 340, "label": "INSTANCE with matching:\nT32 -> T73\nX73 -> X206" }, { "from": 536, "to": 539, "label": "CASE" }, { "from": 539, "to": 540, "label": "PARALLEL" }, { "from": 539, "to": 541, "label": "PARALLEL" }, { "from": 540, "to": 545, "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": 540, "to": 546, "label": "EVAL-BACKTRACK" }, { "from": 541, "to": 549, "label": "PARALLEL" }, { "from": 541, "to": 550, "label": "PARALLEL" }, { "from": 545, "to": 547, "label": "SUCCESS" }, { "from": 549, "to": 552, "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": 549, "to": 553, "label": "EVAL-BACKTRACK" }, { "from": 550, "to": 557, "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": 550, "to": 559, "label": "EVAL-BACKTRACK" }, { "from": 552, "to": 554, "label": "SUCCESS" }, { "from": 557, "to": 568, "label": "GENERALIZATION\nT82 <-- s(s(s(s(s(s(s(0)))))))\n\nNew Knowledge:\nT82 is ground" }, { "from": 568, "to": 574, "label": "SPLIT 1" }, { "from": 568, "to": 577, "label": "SPLIT 2\nnew knowledge:\nT80 is ground\nT83 is ground\nreplacements:X229 -> T83" }, { "from": 574, "to": 340, "label": "INSTANCE with matching:\nT32 -> T80\nX73 -> X229" }, { "from": 577, "to": 583, "label": "CASE" }, { "from": 583, "to": 586, "label": "PARALLEL" }, { "from": 583, "to": 587, "label": "PARALLEL" }, { "from": 586, "to": 588, "label": "EVAL with clause\nlog2(0, X236, X236).\nand substitutionT83 -> 0,\nT82 -> T90,\nX236 -> s(T90),\nT81 -> s(T90)" }, { "from": 586, "to": 589, "label": "EVAL-BACKTRACK" }, { "from": 587, "to": 592, "label": "PARALLEL" }, { "from": 587, "to": 593, "label": "PARALLEL" }, { "from": 588, "to": 590, "label": "SUCCESS" }, { "from": 592, "to": 596, "label": "EVAL with clause\nlog2(s(0), X241, X241).\nand substitutionT83 -> s(0),\nT82 -> T95,\nX241 -> s(T95),\nT81 -> s(T95)" }, { "from": 592, "to": 597, "label": "EVAL-BACKTRACK" }, { "from": 593, "to": 604, "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": 593, "to": 605, "label": "EVAL-BACKTRACK" }, { "from": 596, "to": 598, "label": "SUCCESS" }, { "from": 604, "to": 568, "label": "INSTANCE with matching:\nT80 -> T102\nX229 -> X252\nT82 -> s(T103)\nT81 -> T104" } ], "type": "Graph" } } ---------------------------------------- (81) Complex Obligation (AND) ---------------------------------------- (82) Obligation: Rules: f405_out(T37) -> f401_out(T37) :|: TRUE f401_in(x) -> f406_in(x) :|: TRUE f401_in(x1) -> f405_in(x1) :|: TRUE f406_out(x2) -> f401_out(x2) :|: TRUE f345_out(T40) -> f415_out(T40) :|: TRUE f415_in(x3) -> f345_in(x3) :|: TRUE f400_out(x4) -> f367_out(x4) :|: TRUE f367_in(x5) -> f400_in(x5) :|: TRUE f367_in(x6) -> f401_in(x6) :|: TRUE f401_out(x7) -> f367_out(x7) :|: TRUE f415_out(x8) -> f406_out(s(s(x8))) :|: TRUE f406_in(s(s(x9))) -> f415_in(x9) :|: TRUE f406_in(x10) -> f417_in :|: TRUE f417_out -> f406_out(x11) :|: TRUE f367_out(x12) -> f345_out(x12) :|: TRUE f345_in(x13) -> f367_in(x13) :|: TRUE f2_in(T2) -> f4_in(T2) :|: TRUE f4_out(x14) -> f2_out(x14) :|: TRUE f4_in(T9) -> f31_in(T9) :|: TRUE f31_out(x15) -> f4_out(x15) :|: TRUE f61_out(x16) -> f31_out(x16) :|: TRUE f31_in(x17) -> f61_in(x17) :|: TRUE f61_in(x18) -> f78_in(x18) :|: TRUE f83_out(x19) -> f61_out(x19) :|: TRUE f61_in(x20) -> f83_in(x20) :|: TRUE f78_out(x21) -> f61_out(x21) :|: TRUE f83_in(x22) -> f227_in(x22) :|: TRUE f226_out(x23) -> f83_out(x23) :|: TRUE f83_in(x24) -> f226_in(x24) :|: TRUE f227_out(x25) -> f83_out(x25) :|: TRUE f227_in(T16) -> f232_in(T16) :|: TRUE f234_out -> f227_out(x26) :|: TRUE f227_in(x27) -> f234_in :|: TRUE f232_out(x28) -> f227_out(x28) :|: TRUE f236_out(x29, x30) -> f232_out(x30) :|: TRUE f232_in(x31) -> f235_in :|: TRUE f235_out -> f236_in(x32, x33) :|: TRUE f236_in(x34, x35) -> f321_in(x34, x35) :|: TRUE f321_out(x36, x37) -> f236_out(x36, x37) :|: TRUE f321_in(x38, x39) -> f325_in(x38, x39) :|: TRUE f325_out(x40, x41) -> f321_out(x40, x41) :|: TRUE f321_in(x42, x43) -> f324_in(x42, x43) :|: TRUE f324_out(x44, x45) -> f321_out(x44, x45) :|: TRUE f332_out(x46, x47) -> f325_out(x46, x47) :|: TRUE f331_out(x48, x49) -> f325_out(x48, x49) :|: TRUE f325_in(x50, x51) -> f331_in(x50, x51) :|: TRUE f325_in(x52, x53) -> f332_in(x52, x53) :|: TRUE f338_out(T32, T33) -> f332_out(s(s(T32)), T33) :|: TRUE f332_in(s(s(x54)), x55) -> f338_in(x54, x55) :|: TRUE f339_out -> f332_out(x56, x57) :|: TRUE f332_in(x58, x59) -> f339_in :|: TRUE f341_out(x60, x61) -> f338_out(x62, x61) :|: TRUE f338_in(x63, x64) -> f340_in(x63) :|: TRUE f340_out(x65) -> f341_in(x66, x67) :|: TRUE f342_out(x68) -> f340_out(x68) :|: TRUE f340_in(x69) -> f342_in(x69) :|: TRUE f342_in(x70) -> f343_in(x70) :|: TRUE f343_out(x71) -> f342_out(x71) :|: TRUE f343_in(x72) -> f344_in(x72) :|: TRUE f344_out(x73) -> f343_out(x73) :|: TRUE f344_in(x74) -> f345_in(x74) :|: TRUE f345_out(x75) -> f344_out(x75) :|: TRUE f341_in(x76, x77) -> f419_in(x76, x77) :|: TRUE f419_out(x78, x79) -> f341_out(x78, x79) :|: TRUE f420_out(x80, x81) -> f419_out(x80, x81) :|: TRUE f419_in(x82, x83) -> f421_in(x82, x83) :|: TRUE f419_in(x84, x85) -> f420_in(x84, x85) :|: TRUE f421_out(x86, x87) -> f419_out(x86, x87) :|: TRUE f421_in(x88, x89) -> f425_in(x88, x89) :|: TRUE f426_out(x90, x91) -> f421_out(x90, x91) :|: TRUE f421_in(x92, x93) -> f426_in(x92, x93) :|: TRUE f425_out(x94, x95) -> f421_out(x94, x95) :|: TRUE f434_out -> f426_out(x96, x97) :|: TRUE f433_out(T45, T46) -> f426_out(s(s(T45)), T46) :|: TRUE f426_in(x98, x99) -> f434_in :|: TRUE f426_in(s(s(x100)), x101) -> f433_in(x100, x101) :|: TRUE f437_out(x102) -> f438_in(x103, x104) :|: TRUE f438_out(x105, x106) -> f433_out(x107, x106) :|: TRUE f433_in(x108, x109) -> f437_in(x108) :|: TRUE f438_in(x110, x111) -> f441_in(x110, x111) :|: TRUE f441_out(x112, x113) -> f438_out(x112, x113) :|: TRUE f441_in(x114, x115) -> f442_in(x114, x115) :|: TRUE f443_out(x116, x117) -> f441_out(x116, x117) :|: TRUE f442_out(x118, x119) -> f441_out(x118, x119) :|: TRUE f441_in(x120, x121) -> f443_in(x120, x121) :|: TRUE f447_out(x122, x123) -> f443_out(x122, x123) :|: TRUE f443_in(x124, x125) -> f448_in(x124, x125) :|: TRUE f443_in(x126, x127) -> f447_in(x126, x127) :|: TRUE f448_out(x128, x129) -> f443_out(x128, x129) :|: TRUE f452_out(T52, T53) -> f448_out(s(s(T52)), T53) :|: TRUE f453_out -> f448_out(x130, x131) :|: TRUE f448_in(x132, x133) -> f453_in :|: TRUE f448_in(s(s(x134)), x135) -> f452_in(x134, x135) :|: TRUE f454_out(x136) -> f455_in(x137, x138) :|: TRUE f452_in(x139, x140) -> f454_in(x139) :|: TRUE f455_out(x141, x142) -> f452_out(x143, x142) :|: TRUE f455_in(x144, x145) -> f457_in(x144, x145) :|: TRUE f457_out(x146, x147) -> f455_out(x146, x147) :|: TRUE f457_in(x148, x149) -> f461_in(x148, x149) :|: TRUE f461_out(x150, x151) -> f457_out(x150, x151) :|: TRUE f457_in(x152, x153) -> f460_in(x152, x153) :|: TRUE f460_out(x154, x155) -> f457_out(x154, x155) :|: TRUE f461_in(x156, x157) -> f471_in(x156, x157) :|: TRUE f470_out(x158, x159) -> f461_out(x158, x159) :|: TRUE f461_in(x160, x161) -> f470_in(x160, x161) :|: TRUE f471_out(x162, x163) -> f461_out(x162, x163) :|: TRUE f481_out(T59, T60) -> f471_out(s(s(T59)), T60) :|: TRUE f471_in(x164, x165) -> f482_in :|: TRUE f482_out -> f471_out(x166, x167) :|: TRUE f471_in(s(s(x168)), x169) -> f481_in(x168, x169) :|: TRUE f490_out(x170) -> f492_in(x171, x172) :|: TRUE f492_out(x173, x174) -> f481_out(x175, x174) :|: TRUE f481_in(x176, x177) -> f490_in(x176) :|: TRUE f495_out(x178, x179) -> f492_out(x178, x179) :|: TRUE f492_in(x180, x181) -> f495_in(x180, x181) :|: TRUE f496_out(x182, x183) -> f495_out(x182, x183) :|: TRUE f497_out(x184, x185) -> f495_out(x184, x185) :|: TRUE f495_in(x186, x187) -> f496_in(x186, x187) :|: TRUE f495_in(x188, x189) -> f497_in(x188, x189) :|: TRUE f497_in(x190, x191) -> f501_in(x190, x191) :|: TRUE f501_out(x192, x193) -> f497_out(x192, x193) :|: TRUE f497_in(x194, x195) -> f502_in(x194, x195) :|: TRUE f502_out(x196, x197) -> f497_out(x196, x197) :|: TRUE f507_out -> f502_out(x198, x199) :|: TRUE f506_out(T66, T67) -> f502_out(s(s(T66)), T67) :|: TRUE f502_in(x200, x201) -> f507_in :|: TRUE f502_in(s(s(x202)), x203) -> f506_in(x202, x203) :|: TRUE f508_out(x204) -> f509_in(x205, x206) :|: TRUE f509_out(x207, x208) -> f506_out(x209, x208) :|: TRUE f506_in(x210, x211) -> f508_in(x210) :|: TRUE f509_in(x212, x213) -> f510_in(x212, x213) :|: TRUE f510_out(x214, x215) -> f509_out(x214, x215) :|: TRUE f510_in(x216, x217) -> f511_in(x216, x217) :|: TRUE f512_out(x218, x219) -> f510_out(x218, x219) :|: TRUE f511_out(x220, x221) -> f510_out(x220, x221) :|: TRUE f510_in(x222, x223) -> f512_in(x222, x223) :|: TRUE f512_in(x224, x225) -> f517_in(x224, x225) :|: TRUE f516_out(x226, x227) -> f512_out(x226, x227) :|: TRUE f517_out(x228, x229) -> f512_out(x228, x229) :|: TRUE f512_in(x230, x231) -> f516_in(x230, x231) :|: TRUE f533_out(T73, T74) -> f517_out(s(s(T73)), T74) :|: TRUE f517_in(s(s(x232)), x233) -> f533_in(x232, x233) :|: TRUE f534_out -> f517_out(x234, x235) :|: TRUE f517_in(x236, x237) -> f534_in :|: TRUE f536_out(x238, x239) -> f533_out(x240, x239) :|: TRUE f533_in(x241, x242) -> f535_in(x241) :|: TRUE f535_out(x243) -> f536_in(x244, x245) :|: TRUE f536_in(x246, x247) -> f539_in(x246, x247) :|: TRUE f539_out(x248, x249) -> f536_out(x248, x249) :|: TRUE f539_in(x250, x251) -> f541_in(x250, x251) :|: TRUE f539_in(x252, x253) -> f540_in(x252, x253) :|: TRUE f540_out(x254, x255) -> f539_out(x254, x255) :|: TRUE f541_out(x256, x257) -> f539_out(x256, x257) :|: TRUE f550_out(x258, x259) -> f541_out(x258, x259) :|: TRUE f541_in(x260, x261) -> f550_in(x260, x261) :|: TRUE f541_in(x262, x263) -> f549_in(x262, x263) :|: TRUE f549_out(x264, x265) -> f541_out(x264, x265) :|: TRUE f557_out(T80, T81) -> f550_out(s(s(T80)), T81) :|: TRUE f550_in(x266, x267) -> f559_in :|: TRUE f550_in(s(s(x268)), x269) -> f557_in(x268, x269) :|: TRUE f559_out -> f550_out(x270, x271) :|: TRUE f557_in(x272, x273) -> f568_in(x272, s(s(s(s(s(s(s(0))))))), x273) :|: TRUE f568_out(x274, s(s(s(s(s(s(s(0))))))), x275) -> f557_out(x274, x275) :|: TRUE f574_out(x276) -> f577_in(x277, x278, x279) :|: TRUE f568_in(x280, x281, x282) -> f574_in(x280) :|: TRUE f577_out(x283, x284, x285) -> f568_out(x286, x284, x285) :|: TRUE f340_out(x287) -> f574_out(x287) :|: TRUE f574_in(x288) -> f340_in(x288) :|: TRUE f340_out(x289) -> f437_out(x289) :|: TRUE f437_in(x290) -> f340_in(x290) :|: TRUE f508_in(x291) -> f340_in(x291) :|: TRUE f340_out(x292) -> f508_out(x292) :|: TRUE f535_in(x293) -> f340_in(x293) :|: TRUE f340_out(x294) -> f535_out(x294) :|: TRUE f340_out(x295) -> f490_out(x295) :|: TRUE f490_in(x296) -> f340_in(x296) :|: TRUE f454_in(x297) -> f340_in(x297) :|: TRUE f340_out(x298) -> f454_out(x298) :|: TRUE Start term: f2_in(T2) ---------------------------------------- (83) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: ---------------------------------------- (84) TRUE ---------------------------------------- (85) Obligation: Rules: f400_in(T37) -> f403_in :|: TRUE f400_in(0) -> f402_in :|: TRUE f403_out -> f400_out(x) :|: TRUE f402_out -> f400_out(0) :|: TRUE f407_in -> f407_out :|: TRUE f345_out(T40) -> f415_out(T40) :|: TRUE f415_in(x1) -> f345_in(x1) :|: TRUE f605_out -> f593_out(T83, T82, T81) :|: TRUE f593_in(s(s(T102)), T103, T104) -> f604_in(T102, T103, T104) :|: TRUE f604_out(x2, x3, x4) -> f593_out(s(s(x2)), x3, x4) :|: TRUE f593_in(x5, x6, x7) -> f605_in :|: TRUE f400_out(x8) -> f367_out(x8) :|: TRUE f367_in(x9) -> f400_in(x9) :|: TRUE f367_in(x10) -> f401_in(x10) :|: TRUE f401_out(x11) -> f367_out(x11) :|: TRUE f415_out(x12) -> f406_out(s(s(x12))) :|: TRUE f406_in(s(s(x13))) -> f415_in(x13) :|: TRUE f406_in(x14) -> f417_in :|: TRUE f417_out -> f406_out(x15) :|: TRUE f587_in(x16, x17, x18) -> f593_in(x16, x17, x18) :|: TRUE f587_in(x19, x20, x21) -> f592_in(x19, x20, x21) :|: TRUE f592_out(x22, x23, x24) -> f587_out(x22, x23, x24) :|: TRUE f593_out(x25, x26, x27) -> f587_out(x25, x26, x27) :|: TRUE f340_out(T80) -> f574_out(T80) :|: TRUE f574_in(x28) -> f340_in(x28) :|: TRUE f342_out(T32) -> f340_out(T32) :|: TRUE f340_in(x29) -> f342_in(x29) :|: TRUE f405_out(x30) -> f401_out(x30) :|: TRUE f401_in(x31) -> f406_in(x31) :|: TRUE f401_in(x32) -> f405_in(x32) :|: TRUE f406_out(x33) -> f401_out(x33) :|: TRUE f405_in(x34) -> f408_in :|: TRUE f407_out -> f405_out(s(0)) :|: TRUE f405_in(s(0)) -> f407_in :|: TRUE f408_out -> f405_out(x35) :|: TRUE f343_in(x36) -> f344_in(x36) :|: TRUE f344_out(x37) -> f343_out(x37) :|: TRUE f568_out(x38, s(x39), x40) -> f604_out(x38, x39, x40) :|: TRUE f604_in(x41, x42, x43) -> f568_in(x41, s(x42), x43) :|: TRUE f577_in(x44, x45, x46) -> f583_in(x44, x45, x46) :|: TRUE f583_out(x47, x48, x49) -> f577_out(x47, x48, x49) :|: TRUE f574_out(x50) -> f577_in(x51, x52, x53) :|: TRUE f568_in(x54, x55, x56) -> f574_in(x54) :|: TRUE f577_out(x57, x58, x59) -> f568_out(x60, x58, x59) :|: TRUE f344_in(x61) -> f345_in(x61) :|: TRUE f345_out(x62) -> f344_out(x62) :|: TRUE f367_out(x63) -> f345_out(x63) :|: TRUE f345_in(x64) -> f367_in(x64) :|: TRUE f583_in(x65, x66, x67) -> f586_in(x65, x66, x67) :|: TRUE f587_out(x68, x69, x70) -> f583_out(x68, x69, x70) :|: TRUE f583_in(x71, x72, x73) -> f587_in(x71, x72, x73) :|: TRUE f586_out(x74, x75, x76) -> f583_out(x74, x75, x76) :|: TRUE f342_in(x77) -> f343_in(x77) :|: TRUE f343_out(x78) -> f342_out(x78) :|: TRUE f402_in -> f402_out :|: TRUE f2_in(T2) -> f4_in(T2) :|: TRUE f4_out(x79) -> f2_out(x79) :|: TRUE f4_in(T9) -> f31_in(T9) :|: TRUE f31_out(x80) -> f4_out(x80) :|: TRUE f61_out(x81) -> f31_out(x81) :|: TRUE f31_in(x82) -> f61_in(x82) :|: TRUE f61_in(x83) -> f78_in(x83) :|: TRUE f83_out(x84) -> f61_out(x84) :|: TRUE f61_in(x85) -> f83_in(x85) :|: TRUE f78_out(x86) -> f61_out(x86) :|: TRUE f83_in(x87) -> f227_in(x87) :|: TRUE f226_out(x88) -> f83_out(x88) :|: TRUE f83_in(x89) -> f226_in(x89) :|: TRUE f227_out(x90) -> f83_out(x90) :|: TRUE f227_in(T16) -> f232_in(T16) :|: TRUE f234_out -> f227_out(x91) :|: TRUE f227_in(x92) -> f234_in :|: TRUE f232_out(x93) -> f227_out(x93) :|: TRUE f236_out(x94, x95) -> f232_out(x95) :|: TRUE f232_in(x96) -> f235_in :|: TRUE f235_out -> f236_in(x97, x98) :|: TRUE f236_in(x99, x100) -> f321_in(x99, x100) :|: TRUE f321_out(x101, x102) -> f236_out(x101, x102) :|: TRUE f321_in(x103, x104) -> f325_in(x103, x104) :|: TRUE f325_out(x105, x106) -> f321_out(x105, x106) :|: TRUE f321_in(x107, x108) -> f324_in(x107, x108) :|: TRUE f324_out(x109, x110) -> f321_out(x109, x110) :|: TRUE f332_out(x111, x112) -> f325_out(x111, x112) :|: TRUE f331_out(x113, x114) -> f325_out(x113, x114) :|: TRUE f325_in(x115, x116) -> f331_in(x115, x116) :|: TRUE f325_in(x117, x118) -> f332_in(x117, x118) :|: TRUE f338_out(x119, x120) -> f332_out(s(s(x119)), x120) :|: TRUE f332_in(s(s(x121)), x122) -> f338_in(x121, x122) :|: TRUE f339_out -> f332_out(x123, x124) :|: TRUE f332_in(x125, x126) -> f339_in :|: TRUE f341_out(x127, x128) -> f338_out(x129, x128) :|: TRUE f338_in(x130, x131) -> f340_in(x130) :|: TRUE f340_out(x132) -> f341_in(x133, x134) :|: TRUE f341_in(T34, T33) -> f419_in(T34, T33) :|: TRUE f419_out(x135, x136) -> f341_out(x135, x136) :|: TRUE f420_out(x137, x138) -> f419_out(x137, x138) :|: TRUE f419_in(x139, x140) -> f421_in(x139, x140) :|: TRUE f419_in(x141, x142) -> f420_in(x141, x142) :|: TRUE f421_out(x143, x144) -> f419_out(x143, x144) :|: TRUE f421_in(x145, x146) -> f425_in(x145, x146) :|: TRUE f426_out(x147, x148) -> f421_out(x147, x148) :|: TRUE f421_in(x149, x150) -> f426_in(x149, x150) :|: TRUE f425_out(x151, x152) -> f421_out(x151, x152) :|: TRUE f434_out -> f426_out(x153, x154) :|: TRUE f433_out(T45, T46) -> f426_out(s(s(T45)), T46) :|: TRUE f426_in(x155, x156) -> f434_in :|: TRUE f426_in(s(s(x157)), x158) -> f433_in(x157, x158) :|: TRUE f437_out(x159) -> f438_in(x160, x161) :|: TRUE f438_out(x162, x163) -> f433_out(x164, x163) :|: TRUE f433_in(x165, x166) -> f437_in(x165) :|: TRUE f438_in(x167, x168) -> f441_in(x167, x168) :|: TRUE f441_out(x169, x170) -> f438_out(x169, x170) :|: TRUE f441_in(x171, x172) -> f442_in(x171, x172) :|: TRUE f443_out(x173, x174) -> f441_out(x173, x174) :|: TRUE f442_out(x175, x176) -> f441_out(x175, x176) :|: TRUE f441_in(x177, x178) -> f443_in(x177, x178) :|: TRUE f447_out(x179, x180) -> f443_out(x179, x180) :|: TRUE f443_in(x181, x182) -> f448_in(x181, x182) :|: TRUE f443_in(x183, x184) -> f447_in(x183, x184) :|: TRUE f448_out(x185, x186) -> f443_out(x185, x186) :|: TRUE f452_out(T52, T53) -> f448_out(s(s(T52)), T53) :|: TRUE f453_out -> f448_out(x187, x188) :|: TRUE f448_in(x189, x190) -> f453_in :|: TRUE f448_in(s(s(x191)), x192) -> f452_in(x191, x192) :|: TRUE f454_out(x193) -> f455_in(x194, x195) :|: TRUE f452_in(x196, x197) -> f454_in(x196) :|: TRUE f455_out(x198, x199) -> f452_out(x200, x199) :|: TRUE f455_in(x201, x202) -> f457_in(x201, x202) :|: TRUE f457_out(x203, x204) -> f455_out(x203, x204) :|: TRUE f457_in(x205, x206) -> f461_in(x205, x206) :|: TRUE f461_out(x207, x208) -> f457_out(x207, x208) :|: TRUE f457_in(x209, x210) -> f460_in(x209, x210) :|: TRUE f460_out(x211, x212) -> f457_out(x211, x212) :|: TRUE f461_in(x213, x214) -> f471_in(x213, x214) :|: TRUE f470_out(x215, x216) -> f461_out(x215, x216) :|: TRUE f461_in(x217, x218) -> f470_in(x217, x218) :|: TRUE f471_out(x219, x220) -> f461_out(x219, x220) :|: TRUE f481_out(T59, T60) -> f471_out(s(s(T59)), T60) :|: TRUE f471_in(x221, x222) -> f482_in :|: TRUE f482_out -> f471_out(x223, x224) :|: TRUE f471_in(s(s(x225)), x226) -> f481_in(x225, x226) :|: TRUE f490_out(x227) -> f492_in(x228, x229) :|: TRUE f492_out(x230, x231) -> f481_out(x232, x231) :|: TRUE f481_in(x233, x234) -> f490_in(x233) :|: TRUE f495_out(x235, x236) -> f492_out(x235, x236) :|: TRUE f492_in(x237, x238) -> f495_in(x237, x238) :|: TRUE f496_out(x239, x240) -> f495_out(x239, x240) :|: TRUE f497_out(x241, x242) -> f495_out(x241, x242) :|: TRUE f495_in(x243, x244) -> f496_in(x243, x244) :|: TRUE f495_in(x245, x246) -> f497_in(x245, x246) :|: TRUE f497_in(x247, x248) -> f501_in(x247, x248) :|: TRUE f501_out(x249, x250) -> f497_out(x249, x250) :|: TRUE f497_in(x251, x252) -> f502_in(x251, x252) :|: TRUE f502_out(x253, x254) -> f497_out(x253, x254) :|: TRUE f507_out -> f502_out(x255, x256) :|: TRUE f506_out(T66, T67) -> f502_out(s(s(T66)), T67) :|: TRUE f502_in(x257, x258) -> f507_in :|: TRUE f502_in(s(s(x259)), x260) -> f506_in(x259, x260) :|: TRUE f508_out(x261) -> f509_in(x262, x263) :|: TRUE f509_out(x264, x265) -> f506_out(x266, x265) :|: TRUE f506_in(x267, x268) -> f508_in(x267) :|: TRUE f509_in(x269, x270) -> f510_in(x269, x270) :|: TRUE f510_out(x271, x272) -> f509_out(x271, x272) :|: TRUE f510_in(x273, x274) -> f511_in(x273, x274) :|: TRUE f512_out(x275, x276) -> f510_out(x275, x276) :|: TRUE f511_out(x277, x278) -> f510_out(x277, x278) :|: TRUE f510_in(x279, x280) -> f512_in(x279, x280) :|: TRUE f512_in(x281, x282) -> f517_in(x281, x282) :|: TRUE f516_out(x283, x284) -> f512_out(x283, x284) :|: TRUE f517_out(x285, x286) -> f512_out(x285, x286) :|: TRUE f512_in(x287, x288) -> f516_in(x287, x288) :|: TRUE f533_out(T73, T74) -> f517_out(s(s(T73)), T74) :|: TRUE f517_in(s(s(x289)), x290) -> f533_in(x289, x290) :|: TRUE f534_out -> f517_out(x291, x292) :|: TRUE f517_in(x293, x294) -> f534_in :|: TRUE f536_out(x295, x296) -> f533_out(x297, x296) :|: TRUE f533_in(x298, x299) -> f535_in(x298) :|: TRUE f535_out(x300) -> f536_in(x301, x302) :|: TRUE f536_in(x303, x304) -> f539_in(x303, x304) :|: TRUE f539_out(x305, x306) -> f536_out(x305, x306) :|: TRUE f539_in(x307, x308) -> f541_in(x307, x308) :|: TRUE f539_in(x309, x310) -> f540_in(x309, x310) :|: TRUE f540_out(x311, x312) -> f539_out(x311, x312) :|: TRUE f541_out(x313, x314) -> f539_out(x313, x314) :|: TRUE f550_out(x315, x316) -> f541_out(x315, x316) :|: TRUE f541_in(x317, x318) -> f550_in(x317, x318) :|: TRUE f541_in(x319, x320) -> f549_in(x319, x320) :|: TRUE f549_out(x321, x322) -> f541_out(x321, x322) :|: TRUE f557_out(x323, x324) -> f550_out(s(s(x323)), x324) :|: TRUE f550_in(x325, x326) -> f559_in :|: TRUE f550_in(s(s(x327)), x328) -> f557_in(x327, x328) :|: TRUE f559_out -> f550_out(x329, x330) :|: TRUE f557_in(x331, x332) -> f568_in(x331, s(s(s(s(s(s(s(0))))))), x332) :|: TRUE f568_out(x333, s(s(s(s(s(s(s(0))))))), x334) -> f557_out(x333, x334) :|: TRUE Start term: f2_in(T2) ---------------------------------------- (86) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: ---------------------------------------- (87) TRUE ---------------------------------------- (88) Obligation: Rules: f279_out -> f278_out :|: TRUE f278_in -> f279_in :|: TRUE f280_out -> f278_out :|: TRUE f278_in -> f280_in :|: TRUE f278_out -> f277_out :|: TRUE f277_in -> f278_in :|: TRUE f285_in -> f290_in :|: TRUE f285_in -> f289_in :|: TRUE f290_out -> f285_out :|: TRUE f289_out -> f285_out :|: TRUE f289_in -> f277_in :|: TRUE f277_out -> f289_out :|: TRUE f284_out -> f280_out :|: TRUE f280_in -> f285_in :|: TRUE f280_in -> f284_in :|: TRUE f285_out -> f280_out :|: TRUE f2_in(T2) -> f4_in(T2) :|: TRUE f4_out(x) -> f2_out(x) :|: TRUE f4_in(T9) -> f31_in(T9) :|: TRUE f31_out(x1) -> f4_out(x1) :|: TRUE f61_out(x2) -> f31_out(x2) :|: TRUE f31_in(x3) -> f61_in(x3) :|: TRUE f61_in(x4) -> f78_in(x4) :|: TRUE f83_out(x5) -> f61_out(x5) :|: TRUE f61_in(x6) -> f83_in(x6) :|: TRUE f78_out(x7) -> f61_out(x7) :|: TRUE f83_in(x8) -> f227_in(x8) :|: TRUE f226_out(x9) -> f83_out(x9) :|: TRUE f83_in(x10) -> f226_in(x10) :|: TRUE f227_out(x11) -> f83_out(x11) :|: TRUE f227_in(T16) -> f232_in(T16) :|: TRUE f234_out -> f227_out(x12) :|: TRUE f227_in(x13) -> f234_in :|: TRUE f232_out(x14) -> f227_out(x14) :|: TRUE f236_out(x15, x16) -> f232_out(x16) :|: TRUE f232_in(x17) -> f235_in :|: TRUE f235_out -> f236_in(x18, x19) :|: TRUE f235_in -> f254_in :|: TRUE f254_out -> f235_out :|: TRUE f255_out -> f254_out :|: TRUE f254_in -> f255_in :|: TRUE f255_in -> f256_in :|: TRUE f256_out -> f255_out :|: TRUE f256_in -> f277_in :|: TRUE f277_out -> f256_out :|: TRUE Start term: f2_in(T2) ---------------------------------------- (89) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f278_in -> f280_in :|: TRUE f277_in -> f278_in :|: TRUE f285_in -> f289_in :|: TRUE f289_in -> f277_in :|: TRUE f280_in -> f285_in :|: TRUE ---------------------------------------- (90) Obligation: Rules: f278_in -> f280_in :|: TRUE f277_in -> f278_in :|: TRUE f285_in -> f289_in :|: TRUE f289_in -> f277_in :|: TRUE f280_in -> f285_in :|: TRUE ---------------------------------------- (91) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (92) Obligation: Rules: f285_in -> f285_in :|: TRUE ---------------------------------------- (93) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (94) Obligation: Rules: f285_in -> f285_in :|: TRUE ---------------------------------------- (95) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f285_in -> f285_in :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (96) Obligation: Termination digraph: Nodes: (1) f285_in -> f285_in :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (97) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f285_in() Replaced non-predefined constructor symbols by 0. ---------------------------------------- (98) Obligation: Rules: f285_in -> f285_in :|: TRUE ---------------------------------------- (99) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc) -> f(1) :|: pc = 1 && TRUE Witness term starting non-terminating reduction: f(1) ---------------------------------------- (100) NO