- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] active(U101(tt,M,N)) -> mark(U102(isNatKind(M),M,N)) [2] active(U102(tt,M,N)) -> mark(U103(isNat(N),M,N)) [3] active(U103(tt,M,N)) -> mark(U104(isNatKind(N),M,N)) [4] active(U104(tt,M,N)) -> mark(plus(x(N,M),N)) [5] active(U11(tt,V1,V2)) -> mark(U12(isNatKind(V1),V1,V2)) [6] active(U12(tt,V1,V2)) -> mark(U13(isNatKind(V2),V1,V2)) [7] active(U13(tt,V1,V2)) -> mark(U14(isNatKind(V2),V1,V2)) [8] active(U14(tt,V1,V2)) -> mark(U15(isNat(V1),V2)) [9] active(U15(tt,V2)) -> mark(U16(isNat(V2))) [10] active(U16(tt)) -> mark(tt) [11] active(U21(tt,V1)) -> mark(U22(isNatKind(V1),V1)) [12] active(U22(tt,V1)) -> mark(U23(isNat(V1))) [13] active(U23(tt)) -> mark(tt) [14] active(U31(tt,V1,V2)) -> mark(U32(isNatKind(V1),V1,V2)) [15] active(U32(tt,V1,V2)) -> mark(U33(isNatKind(V2),V1,V2)) [16] active(U33(tt,V1,V2)) -> mark(U34(isNatKind(V2),V1,V2)) [17] active(U34(tt,V1,V2)) -> mark(U35(isNat(V1),V2)) [18] active(U35(tt,V2)) -> mark(U36(isNat(V2))) [19] active(U36(tt)) -> mark(tt) [20] active(U41(tt,V2)) -> mark(U42(isNatKind(V2))) [21] active(U42(tt)) -> mark(tt) [22] active(U51(tt)) -> mark(tt) [23] active(U61(tt,V2)) -> mark(U62(isNatKind(V2))) [24] active(U62(tt)) -> mark(tt) [25] active(U71(tt,N)) -> mark(U72(isNatKind(N),N)) [26] active(U72(tt,N)) -> mark(N) [27] active(U81(tt,M,N)) -> mark(U82(isNatKind(M),M,N)) [28] active(U82(tt,M,N)) -> mark(U83(isNat(N),M,N)) [29] active(U83(tt,M,N)) -> mark(U84(isNatKind(N),M,N)) [30] active(U84(tt,M,N)) -> mark(s(plus(N,M))) [31] active(U91(tt,N)) -> mark(U92(isNatKind(N))) [32] active(U92(tt)) -> mark(0) [33] active(isNat(0)) -> mark(tt) [34] active(isNat(plus(V1,V2))) -> mark(U11(isNatKind(V1),V1,V2)) [35] active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) [36] active(isNat(x(V1,V2))) -> mark(U31(isNatKind(V1),V1,V2)) [37] active(isNatKind(0)) -> mark(tt) [38] active(isNatKind(plus(V1,V2))) -> mark(U41(isNatKind(V1),V2)) [39] active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) [40] active(isNatKind(x(V1,V2))) -> mark(U61(isNatKind(V1),V2)) [41] active(plus(N,0)) -> mark(U71(isNat(N),N)) [42] active(plus(N,s(M))) -> mark(U81(isNat(M),M,N)) [43] active(x(N,0)) -> mark(U91(isNat(N),N)) [44] active(x(N,s(M))) -> mark(U101(isNat(M),M,N)) [45] active(U101(X1,X2,X3)) -> U101(active(X1),X2,X3) [46] active(U102(X1,X2,X3)) -> U102(active(X1),X2,X3) [47] active(U103(X1,X2,X3)) -> U103(active(X1),X2,X3) [48] active(U104(X1,X2,X3)) -> U104(active(X1),X2,X3) [49] active(plus(X1,X2)) -> plus(active(X1),X2) [50] active(plus(X1,X2)) -> plus(X1,active(X2)) [51] active(x(X1,X2)) -> x(active(X1),X2) [52] active(x(X1,X2)) -> x(X1,active(X2)) [53] active(U11(X1,X2,X3)) -> U11(active(X1),X2,X3) [54] active(U12(X1,X2,X3)) -> U12(active(X1),X2,X3) [55] active(U13(X1,X2,X3)) -> U13(active(X1),X2,X3) [56] active(U14(X1,X2,X3)) -> U14(active(X1),X2,X3) [57] active(U15(X1,X2)) -> U15(active(X1),X2) [58] active(U16(X)) -> U16(active(X)) [59] active(U21(X1,X2)) -> U21(active(X1),X2) [60] active(U22(X1,X2)) -> U22(active(X1),X2) [61] active(U23(X)) -> U23(active(X)) [62] active(U31(X1,X2,X3)) -> U31(active(X1),X2,X3) [63] active(U32(X1,X2,X3)) -> U32(active(X1),X2,X3) [64] active(U33(X1,X2,X3)) -> U33(active(X1),X2,X3) [65] active(U34(X1,X2,X3)) -> U34(active(X1),X2,X3) [66] active(U35(X1,X2)) -> U35(active(X1),X2) [67] active(U36(X)) -> U36(active(X)) [68] active(U41(X1,X2)) -> U41(active(X1),X2) [69] active(U42(X)) -> U42(active(X)) [70] active(U51(X)) -> U51(active(X)) [71] active(U61(X1,X2)) -> U61(active(X1),X2) [72] active(U62(X)) -> U62(active(X)) [73] active(U71(X1,X2)) -> U71(active(X1),X2) [74] active(U72(X1,X2)) -> U72(active(X1),X2) [75] active(U81(X1,X2,X3)) -> U81(active(X1),X2,X3) [76] active(U82(X1,X2,X3)) -> U82(active(X1),X2,X3) [77] active(U83(X1,X2,X3)) -> U83(active(X1),X2,X3) [78] active(U84(X1,X2,X3)) -> U84(active(X1),X2,X3) [79] active(s(X)) -> s(active(X)) [80] active(U91(X1,X2)) -> U91(active(X1),X2) [81] active(U92(X)) -> U92(active(X)) [82] U101(mark(X1),X2,X3) -> mark(U101(X1,X2,X3)) [83] U102(mark(X1),X2,X3) -> mark(U102(X1,X2,X3)) [84] U103(mark(X1),X2,X3) -> mark(U103(X1,X2,X3)) [85] U104(mark(X1),X2,X3) -> mark(U104(X1,X2,X3)) [86] plus(mark(X1),X2) -> mark(plus(X1,X2)) [87] plus(X1,mark(X2)) -> mark(plus(X1,X2)) [88] x(mark(X1),X2) -> mark(x(X1,X2)) [89] x(X1,mark(X2)) -> mark(x(X1,X2)) [90] U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3)) [91] U12(mark(X1),X2,X3) -> mark(U12(X1,X2,X3)) [92] U13(mark(X1),X2,X3) -> mark(U13(X1,X2,X3)) [93] U14(mark(X1),X2,X3) -> mark(U14(X1,X2,X3)) [94] U15(mark(X1),X2) -> mark(U15(X1,X2)) [95] U16(mark(X)) -> mark(U16(X)) [96] U21(mark(X1),X2) -> mark(U21(X1,X2)) [97] U22(mark(X1),X2) -> mark(U22(X1,X2)) [98] U23(mark(X)) -> mark(U23(X)) [99] U31(mark(X1),X2,X3) -> mark(U31(X1,X2,X3)) [100] U32(mark(X1),X2,X3) -> mark(U32(X1,X2,X3)) [101] U33(mark(X1),X2,X3) -> mark(U33(X1,X2,X3)) [102] U34(mark(X1),X2,X3) -> mark(U34(X1,X2,X3)) [103] U35(mark(X1),X2) -> mark(U35(X1,X2)) [104] U36(mark(X)) -> mark(U36(X)) [105] U41(mark(X1),X2) -> mark(U41(X1,X2)) [106] U42(mark(X)) -> mark(U42(X)) [107] U51(mark(X)) -> mark(U51(X)) [108] U61(mark(X1),X2) -> mark(U61(X1,X2)) [109] U62(mark(X)) -> mark(U62(X)) [110] U71(mark(X1),X2) -> mark(U71(X1,X2)) [111] U72(mark(X1),X2) -> mark(U72(X1,X2)) [112] U81(mark(X1),X2,X3) -> mark(U81(X1,X2,X3)) [113] U82(mark(X1),X2,X3) -> mark(U82(X1,X2,X3)) [114] U83(mark(X1),X2,X3) -> mark(U83(X1,X2,X3)) [115] U84(mark(X1),X2,X3) -> mark(U84(X1,X2,X3)) [116] s(mark(X)) -> mark(s(X)) [117] U91(mark(X1),X2) -> mark(U91(X1,X2)) [118] U92(mark(X)) -> mark(U92(X)) [119] proper(U101(X1,X2,X3)) -> U101(proper(X1),proper(X2),proper(X3)) [120] proper(tt) -> ok(tt) [121] proper(U102(X1,X2,X3)) -> U102(proper(X1),proper(X2),proper(X3)) [122] proper(isNatKind(X)) -> isNatKind(proper(X)) [123] proper(U103(X1,X2,X3)) -> U103(proper(X1),proper(X2),proper(X3)) [124] proper(isNat(X)) -> isNat(proper(X)) [125] proper(U104(X1,X2,X3)) -> U104(proper(X1),proper(X2),proper(X3)) [126] proper(plus(X1,X2)) -> plus(proper(X1),proper(X2)) [127] proper(x(X1,X2)) -> x(proper(X1),proper(X2)) [128] proper(U11(X1,X2,X3)) -> U11(proper(X1),proper(X2),proper(X3)) [129] proper(U12(X1,X2,X3)) -> U12(proper(X1),proper(X2),proper(X3)) [130] proper(U13(X1,X2,X3)) -> U13(proper(X1),proper(X2),proper(X3)) [131] proper(U14(X1,X2,X3)) -> U14(proper(X1),proper(X2),proper(X3)) [132] proper(U15(X1,X2)) -> U15(proper(X1),proper(X2)) [133] proper(U16(X)) -> U16(proper(X)) [134] proper(U21(X1,X2)) -> U21(proper(X1),proper(X2)) [135] proper(U22(X1,X2)) -> U22(proper(X1),proper(X2)) [136] proper(U23(X)) -> U23(proper(X)) [137] proper(U31(X1,X2,X3)) -> U31(proper(X1),proper(X2),proper(X3)) [138] proper(U32(X1,X2,X3)) -> U32(proper(X1),proper(X2),proper(X3)) [139] proper(U33(X1,X2,X3)) -> U33(proper(X1),proper(X2),proper(X3)) [140] proper(U34(X1,X2,X3)) -> U34(proper(X1),proper(X2),proper(X3)) [141] proper(U35(X1,X2)) -> U35(proper(X1),proper(X2)) [142] proper(U36(X)) -> U36(proper(X)) [143] proper(U41(X1,X2)) -> U41(proper(X1),proper(X2)) [144] proper(U42(X)) -> U42(proper(X)) [145] proper(U51(X)) -> U51(proper(X)) [146] proper(U61(X1,X2)) -> U61(proper(X1),proper(X2)) [147] proper(U62(X)) -> U62(proper(X)) [148] proper(U71(X1,X2)) -> U71(proper(X1),proper(X2)) [149] proper(U72(X1,X2)) -> U72(proper(X1),proper(X2)) [150] proper(U81(X1,X2,X3)) -> U81(proper(X1),proper(X2),proper(X3)) [151] proper(U82(X1,X2,X3)) -> U82(proper(X1),proper(X2),proper(X3)) [152] proper(U83(X1,X2,X3)) -> U83(proper(X1),proper(X2),proper(X3)) [153] proper(U84(X1,X2,X3)) -> U84(proper(X1),proper(X2),proper(X3)) [154] proper(s(X)) -> s(proper(X)) [155] proper(U91(X1,X2)) -> U91(proper(X1),proper(X2)) [156] proper(U92(X)) -> U92(proper(X)) [157] proper(0) -> ok(0) [158] U101(ok(X1),ok(X2),ok(X3)) -> ok(U101(X1,X2,X3)) [159] U102(ok(X1),ok(X2),ok(X3)) -> ok(U102(X1,X2,X3)) [160] isNatKind(ok(X)) -> ok(isNatKind(X)) [161] U103(ok(X1),ok(X2),ok(X3)) -> ok(U103(X1,X2,X3)) [162] isNat(ok(X)) -> ok(isNat(X)) [163] U104(ok(X1),ok(X2),ok(X3)) -> ok(U104(X1,X2,X3)) [164] plus(ok(X1),ok(X2)) -> ok(plus(X1,X2)) [165] x(ok(X1),ok(X2)) -> ok(x(X1,X2)) [166] U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3)) [167] U12(ok(X1),ok(X2),ok(X3)) -> ok(U12(X1,X2,X3)) [168] U13(ok(X1),ok(X2),ok(X3)) -> ok(U13(X1,X2,X3)) [169] U14(ok(X1),ok(X2),ok(X3)) -> ok(U14(X1,X2,X3)) [170] U15(ok(X1),ok(X2)) -> ok(U15(X1,X2)) [171] U16(ok(X)) -> ok(U16(X)) [172] U21(ok(X1),ok(X2)) -> ok(U21(X1,X2)) [173] U22(ok(X1),ok(X2)) -> ok(U22(X1,X2)) [174] U23(ok(X)) -> ok(U23(X)) [175] U31(ok(X1),ok(X2),ok(X3)) -> ok(U31(X1,X2,X3)) [176] U32(ok(X1),ok(X2),ok(X3)) -> ok(U32(X1,X2,X3)) [177] U33(ok(X1),ok(X2),ok(X3)) -> ok(U33(X1,X2,X3)) [178] U34(ok(X1),ok(X2),ok(X3)) -> ok(U34(X1,X2,X3)) [179] U35(ok(X1),ok(X2)) -> ok(U35(X1,X2)) [180] U36(ok(X)) -> ok(U36(X)) [181] U41(ok(X1),ok(X2)) -> ok(U41(X1,X2)) [182] U42(ok(X)) -> ok(U42(X)) [183] U51(ok(X)) -> ok(U51(X)) [184] U61(ok(X1),ok(X2)) -> ok(U61(X1,X2)) [185] U62(ok(X)) -> ok(U62(X)) [186] U71(ok(X1),ok(X2)) -> ok(U71(X1,X2)) [187] U72(ok(X1),ok(X2)) -> ok(U72(X1,X2)) [188] U81(ok(X1),ok(X2),ok(X3)) -> ok(U81(X1,X2,X3)) [189] U82(ok(X1),ok(X2),ok(X3)) -> ok(U82(X1,X2,X3)) [190] U83(ok(X1),ok(X2),ok(X3)) -> ok(U83(X1,X2,X3)) [191] U84(ok(X1),ok(X2),ok(X3)) -> ok(U84(X1,X2,X3)) [192] s(ok(X)) -> ok(s(X)) [193] U91(ok(X1),ok(X2)) -> ok(U91(X1,X2)) [194] U92(ok(X)) -> ok(U92(X)) [195] top(mark(X)) -> top(proper(X)) [196] top(ok(X)) -> top(active(X)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 40 components: { --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> } { --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { U102(mark(X1),X2,X3) >= mark(U102(X1,X2,X3)) ; U102(ok(X1),ok(X2),ok(X3)) >= ok(U102(X1,X2,X3)) ; isNatKind(ok(X)) >= ok(isNatKind(X)) ; active(U102(tt,M,N)) >= mark(U103(isNat(N),M,N)) ; active(U102(X1,X2,X3)) >= U102(active(X1),X2,X3) ; active(isNatKind(plus(V1,V2))) >= mark(U41(isNatKind(V1),V2)) ; active(isNatKind(x(V1,V2))) >= mark(U61(isNatKind(V1),V2)) ; active(isNatKind(s(V1))) >= mark(U51(isNatKind(V1))) ; active(isNatKind(0)) >= mark(tt) ; active(U101(tt,M,N)) >= mark(U102(isNatKind(M),M,N)) ; active(U101(X1,X2,X3)) >= U101(active(X1),X2,X3) ; active(U103(tt,M,N)) >= mark(U104(isNatKind(N),M,N)) ; active(U103(X1,X2,X3)) >= U103(active(X1),X2,X3) ; active(isNat(plus(V1,V2))) >= mark(U11(isNatKind(V1),V1,V2)) ; active(isNat(x(V1,V2))) >= mark(U31(isNatKind(V1),V1,V2)) ; active(isNat(s(V1))) >= mark(U21(isNatKind(V1),V1)) ; active(isNat(0)) >= mark(tt) ; active(U104(tt,M,N)) >= mark(plus(x(N,M),N)) ; active(U104(X1,X2,X3)) >= U104(active(X1),X2,X3) ; active(plus(N,s(M))) >= mark(U81(isNat(M),M,N)) ; active(plus(N,0)) >= mark(U71(isNat(N),N)) ; active(plus(X1,X2)) >= plus(active(X1),X2) ; active(plus(X1,X2)) >= plus(X1,active(X2)) ; active(x(N,s(M))) >= mark(U101(isNat(M),M,N)) ; active(x(N,0)) >= mark(U91(isNat(N),N)) ; active(x(X1,X2)) >= x(active(X1),X2) ; active(x(X1,X2)) >= x(X1,active(X2)) ; active(U12(tt,V1,V2)) >= mark(U13(isNatKind(V2),V1,V2)) ; active(U12(X1,X2,X3)) >= U12(active(X1),X2,X3) ; active(U11(tt,V1,V2)) >= mark(U12(isNatKind(V1),V1,V2)) ; active(U11(X1,X2,X3)) >= U11(active(X1),X2,X3) ; active(U13(tt,V1,V2)) >= mark(U14(isNatKind(V2),V1,V2)) ; active(U13(X1,X2,X3)) >= U13(active(X1),X2,X3) ; active(U14(tt,V1,V2)) >= mark(U15(isNat(V1),V2)) ; active(U14(X1,X2,X3)) >= U14(active(X1),X2,X3) ; active(U15(tt,V2)) >= mark(U16(isNat(V2))) ; active(U15(X1,X2)) >= U15(active(X1),X2) ; active(U16(tt)) >= mark(tt) ; active(U16(X)) >= U16(active(X)) ; active(U22(tt,V1)) >= mark(U23(isNat(V1))) ; active(U22(X1,X2)) >= U22(active(X1),X2) ; active(U21(tt,V1)) >= mark(U22(isNatKind(V1),V1)) ; active(U21(X1,X2)) >= U21(active(X1),X2) ; active(U23(tt)) >= mark(tt) ; active(U23(X)) >= U23(active(X)) ; active(U32(tt,V1,V2)) >= mark(U33(isNatKind(V2),V1,V2)) ; active(U32(X1,X2,X3)) >= U32(active(X1),X2,X3) ; active(U31(tt,V1,V2)) >= mark(U32(isNatKind(V1),V1,V2)) ; active(U31(X1,X2,X3)) >= U31(active(X1),X2,X3) ; active(U33(tt,V1,V2)) >= mark(U34(isNatKind(V2),V1,V2)) ; active(U33(X1,X2,X3)) >= U33(active(X1),X2,X3) ; active(U34(tt,V1,V2)) >= mark(U35(isNat(V1),V2)) ; active(U34(X1,X2,X3)) >= U34(active(X1),X2,X3) ; active(U35(tt,V2)) >= mark(U36(isNat(V2))) ; active(U35(X1,X2)) >= U35(active(X1),X2) ; active(U36(tt)) >= mark(tt) ; active(U36(X)) >= U36(active(X)) ; active(U42(tt)) >= mark(tt) ; active(U42(X)) >= U42(active(X)) ; active(U41(tt,V2)) >= mark(U42(isNatKind(V2))) ; active(U41(X1,X2)) >= U41(active(X1),X2) ; active(U51(tt)) >= mark(tt) ; active(U51(X)) >= U51(active(X)) ; active(U62(tt)) >= mark(tt) ; active(U62(X)) >= U62(active(X)) ; active(U61(tt,V2)) >= mark(U62(isNatKind(V2))) ; active(U61(X1,X2)) >= U61(active(X1),X2) ; active(U72(tt,N)) >= mark(N) ; active(U72(X1,X2)) >= U72(active(X1),X2) ; active(U71(tt,N)) >= mark(U72(isNatKind(N),N)) ; active(U71(X1,X2)) >= U71(active(X1),X2) ; active(U82(tt,M,N)) >= mark(U83(isNat(N),M,N)) ; active(U82(X1,X2,X3)) >= U82(active(X1),X2,X3) ; active(U81(tt,M,N)) >= mark(U82(isNatKind(M),M,N)) ; active(U81(X1,X2,X3)) >= U81(active(X1),X2,X3) ; active(U83(tt,M,N)) >= mark(U84(isNatKind(N),M,N)) ; active(U83(X1,X2,X3)) >= U83(active(X1),X2,X3) ; active(U84(tt,M,N)) >= mark(s(plus(N,M))) ; active(U84(X1,X2,X3)) >= U84(active(X1),X2,X3) ; active(s(X)) >= s(active(X)) ; active(U92(tt)) >= mark(0) ; active(U92(X)) >= U92(active(X)) ; active(U91(tt,N)) >= mark(U92(isNatKind(N))) ; active(U91(X1,X2)) >= U91(active(X1),X2) ; U101(mark(X1),X2,X3) >= mark(U101(X1,X2,X3)) ; U101(ok(X1),ok(X2),ok(X3)) >= ok(U101(X1,X2,X3)) ; U103(mark(X1),X2,X3) >= mark(U103(X1,X2,X3)) ; U103(ok(X1),ok(X2),ok(X3)) >= ok(U103(X1,X2,X3)) ; isNat(ok(X)) >= ok(isNat(X)) ; U104(mark(X1),X2,X3) >= mark(U104(X1,X2,X3)) ; U104(ok(X1),ok(X2),ok(X3)) >= ok(U104(X1,X2,X3)) ; plus(mark(X1),X2) >= mark(plus(X1,X2)) ; plus(ok(X1),ok(X2)) >= ok(plus(X1,X2)) ; plus(X1,mark(X2)) >= mark(plus(X1,X2)) ; x(mark(X1),X2) >= mark(x(X1,X2)) ; x(ok(X1),ok(X2)) >= ok(x(X1,X2)) ; x(X1,mark(X2)) >= mark(x(X1,X2)) ; U12(mark(X1),X2,X3) >= mark(U12(X1,X2,X3)) ; U12(ok(X1),ok(X2),ok(X3)) >= ok(U12(X1,X2,X3)) ; U11(mark(X1),X2,X3) >= mark(U11(X1,X2,X3)) ; U11(ok(X1),ok(X2),ok(X3)) >= ok(U11(X1,X2,X3)) ; U13(mark(X1),X2,X3) >= mark(U13(X1,X2,X3)) ; U13(ok(X1),ok(X2),ok(X3)) >= ok(U13(X1,X2,X3)) ; U14(mark(X1),X2,X3) >= mark(U14(X1,X2,X3)) ; U14(ok(X1),ok(X2),ok(X3)) >= ok(U14(X1,X2,X3)) ; U15(mark(X1),X2) >= mark(U15(X1,X2)) ; U15(ok(X1),ok(X2)) >= ok(U15(X1,X2)) ; U16(mark(X)) >= mark(U16(X)) ; U16(ok(X)) >= ok(U16(X)) ; U22(mark(X1),X2) >= mark(U22(X1,X2)) ; U22(ok(X1),ok(X2)) >= ok(U22(X1,X2)) ; U21(mark(X1),X2) >= mark(U21(X1,X2)) ; U21(ok(X1),ok(X2)) >= ok(U21(X1,X2)) ; U23(mark(X)) >= mark(U23(X)) ; U23(ok(X)) >= ok(U23(X)) ; U32(mark(X1),X2,X3) >= mark(U32(X1,X2,X3)) ; U32(ok(X1),ok(X2),ok(X3)) >= ok(U32(X1,X2,X3)) ; U31(mark(X1),X2,X3) >= mark(U31(X1,X2,X3)) ; U31(ok(X1),ok(X2),ok(X3)) >= ok(U31(X1,X2,X3)) ; U33(mark(X1),X2,X3) >= mark(U33(X1,X2,X3)) ; U33(ok(X1),ok(X2),ok(X3)) >= ok(U33(X1,X2,X3)) ; U34(mark(X1),X2,X3) >= mark(U34(X1,X2,X3)) ; U34(ok(X1),ok(X2),ok(X3)) >= ok(U34(X1,X2,X3)) ; U35(mark(X1),X2) >= mark(U35(X1,X2)) ; U35(ok(X1),ok(X2)) >= ok(U35(X1,X2)) ; U36(mark(X)) >= mark(U36(X)) ; U36(ok(X)) >= ok(U36(X)) ; U42(mark(X)) >= mark(U42(X)) ; U42(ok(X)) >= ok(U42(X)) ; U41(mark(X1),X2) >= mark(U41(X1,X2)) ; U41(ok(X1),ok(X2)) >= ok(U41(X1,X2)) ; U51(mark(X)) >= mark(U51(X)) ; U51(ok(X)) >= ok(U51(X)) ; U62(mark(X)) >= mark(U62(X)) ; U62(ok(X)) >= ok(U62(X)) ; U61(mark(X1),X2) >= mark(U61(X1,X2)) ; U61(ok(X1),ok(X2)) >= ok(U61(X1,X2)) ; U72(mark(X1),X2) >= mark(U72(X1,X2)) ; U72(ok(X1),ok(X2)) >= ok(U72(X1,X2)) ; U71(mark(X1),X2) >= mark(U71(X1,X2)) ; U71(ok(X1),ok(X2)) >= ok(U71(X1,X2)) ; U82(mark(X1),X2,X3) >= mark(U82(X1,X2,X3)) ; U82(ok(X1),ok(X2),ok(X3)) >= ok(U82(X1,X2,X3)) ; U81(mark(X1),X2,X3) >= mark(U81(X1,X2,X3)) ; U81(ok(X1),ok(X2),ok(X3)) >= ok(U81(X1,X2,X3)) ; U83(mark(X1),X2,X3) >= mark(U83(X1,X2,X3)) ; U83(ok(X1),ok(X2),ok(X3)) >= ok(U83(X1,X2,X3)) ; U84(mark(X1),X2,X3) >= mark(U84(X1,X2,X3)) ; U84(ok(X1),ok(X2),ok(X3)) >= ok(U84(X1,X2,X3)) ; s(mark(X)) >= mark(s(X)) ; s(ok(X)) >= ok(s(X)) ; U92(mark(X)) >= mark(U92(X)) ; U92(ok(X)) >= ok(U92(X)) ; U91(mark(X1),X2) >= mark(U91(X1,X2)) ; U91(ok(X1),ok(X2)) >= ok(U91(X1,X2)) ; proper(U102(X1,X2,X3)) >= U102(proper(X1),proper(X2),proper(X3)) ; proper(isNatKind(X)) >= isNatKind(proper(X)) ; proper(U101(X1,X2,X3)) >= U101(proper(X1),proper(X2),proper(X3)) ; proper(tt) >= ok(tt) ; proper(U103(X1,X2,X3)) >= U103(proper(X1),proper(X2),proper(X3)) ; proper(isNat(X)) >= isNat(proper(X)) ; proper(U104(X1,X2,X3)) >= U104(proper(X1),proper(X2),proper(X3)) ; proper(plus(X1,X2)) >= plus(proper(X1),proper(X2)) ; proper(x(X1,X2)) >= x(proper(X1),proper(X2)) ; proper(U12(X1,X2,X3)) >= U12(proper(X1),proper(X2),proper(X3)) ; proper(U11(X1,X2,X3)) >= U11(proper(X1),proper(X2),proper(X3)) ; proper(U13(X1,X2,X3)) >= U13(proper(X1),proper(X2),proper(X3)) ; proper(U14(X1,X2,X3)) >= U14(proper(X1),proper(X2),proper(X3)) ; proper(U15(X1,X2)) >= U15(proper(X1),proper(X2)) ; proper(U16(X)) >= U16(proper(X)) ; proper(U22(X1,X2)) >= U22(proper(X1),proper(X2)) ; proper(U21(X1,X2)) >= U21(proper(X1),proper(X2)) ; proper(U23(X)) >= U23(proper(X)) ; proper(U32(X1,X2,X3)) >= U32(proper(X1),proper(X2),proper(X3)) ; proper(U31(X1,X2,X3)) >= U31(proper(X1),proper(X2),proper(X3)) ; proper(U33(X1,X2,X3)) >= U33(proper(X1),proper(X2),proper(X3)) ; proper(U34(X1,X2,X3)) >= U34(proper(X1),proper(X2),proper(X3)) ; proper(U35(X1,X2)) >= U35(proper(X1),proper(X2)) ; proper(U36(X)) >= U36(proper(X)) ; proper(U42(X)) >= U42(proper(X)) ; proper(U41(X1,X2)) >= U41(proper(X1),proper(X2)) ; proper(U51(X)) >= U51(proper(X)) ; proper(U62(X)) >= U62(proper(X)) ; proper(U61(X1,X2)) >= U61(proper(X1),proper(X2)) ; proper(U72(X1,X2)) >= U72(proper(X1),proper(X2)) ; proper(U71(X1,X2)) >= U71(proper(X1),proper(X2)) ; proper(U82(X1,X2,X3)) >= U82(proper(X1),proper(X2),proper(X3)) ; proper(U81(X1,X2,X3)) >= U81(proper(X1),proper(X2),proper(X3)) ; proper(U83(X1,X2,X3)) >= U83(proper(X1),proper(X2),proper(X3)) ; proper(U84(X1,X2,X3)) >= U84(proper(X1),proper(X2),proper(X3)) ; proper(s(X)) >= s(proper(X)) ; proper(U92(X)) >= U92(proper(X)) ; proper(U91(X1,X2)) >= U91(proper(X1),proper(X2)) ; proper(0) >= ok(0) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) >= Marked_top(proper(X)) ; Marked_top(ok(X)) >= Marked_top(active(X)) ; } + Disjunctions:{ { Marked_top(mark(X)) > Marked_top(proper(X)) ; } { Marked_top(ok(X)) > Marked_top(active(X)) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. Entering rpo_solver === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === Time out for these parameters. === TIMER virtual : 15.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 15.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. === TIMER virtual : 50.000000 === trying sub matrices of size: 1 Matrix interpretation constraints generated. Search parameters: LINEAR MATRIX 3x3 (strict=1x1) ; time limit: 50.. Termination constraints generated. Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 50.000000 === === STOPING TIMER real === Sat timeout reached === STOPING TIMER virtual === No solution found for these parameters. No solution found for these constraints. APPLY CRITERIA (ID_CRIT) NOT SOLVED No proof found Cime worked for 89.984859 seconds (real time) Cime Exit Status: 0