; @origtpdbfilename ./TRS/TRCSR/LISTUTILITIES_nokinds_GM.trs ; @xtcfilename "./TRS_Standard/Transformed_CSR_04/LISTUTILITIES_nokinds_GM.xml" (format TRS) (fun a__U101 3) (fun tt 0) (fun a__fst 1) (fun a__splitAt 2) (fun mark 1) (fun a__U11 3) (fun a__snd 1) (fun a__U21 2) (fun a__U31 2) (fun a__U41 2) (fun cons 2) (fun natsFrom 1) (fun s 1) (fun a__U51 3) (fun a__head 1) (fun a__afterNth 2) (fun a__U61 2) (fun a__U71 2) (fun pair 2) (fun nil 0) (fun a__U81 4) (fun a__U82 2) (fun a__U91 2) (fun a__and 2) (fun a__isNatural 1) (fun isLNat 1) (fun a__isLNat 1) (fun afterNth 2) (fun fst 1) (fun a__isPLNat 1) (fun snd 1) (fun tail 1) (fun take 2) (fun |0| 0) (fun head 1) (fun sel 2) (fun splitAt 2) (fun a__natsFrom 1) (fun a__sel 2) (fun and 2) (fun isNatural 1) (fun a__tail 1) (fun a__take 2) (fun U101 3) (fun U11 3) (fun U21 2) (fun U31 2) (fun U41 2) (fun U51 3) (fun U61 2) (fun U71 2) (fun U81 4) (fun U82 2) (fun U91 2) (fun isPLNat 1) (rule (a__U101 tt N XS) (a__fst (a__splitAt (mark N) (mark XS)))) (rule (a__U11 tt N XS) (a__snd (a__splitAt (mark N) (mark XS)))) (rule (a__U21 tt X) (mark X)) (rule (a__U31 tt N) (mark N)) (rule (a__U41 tt N) (cons (mark N) (natsFrom (s N)))) (rule (a__U51 tt N XS) (a__head (a__afterNth (mark N) (mark XS)))) (rule (a__U61 tt Y) (mark Y)) (rule (a__U71 tt XS) (pair nil (mark XS))) (rule (a__U81 tt N X XS) (a__U82 (a__splitAt (mark N) (mark XS)) X)) (rule (a__U82 (pair YS ZS) X) (pair (cons (mark X) YS) (mark ZS))) (rule (a__U91 tt XS) (mark XS)) (rule (a__afterNth N XS) (a__U11 (a__and (a__isNatural N) (isLNat XS)) N XS)) (rule (a__and tt X) (mark X)) (rule (a__fst (pair X Y)) (a__U21 (a__and (a__isLNat X) (isLNat Y)) X)) (rule (a__head (cons N XS)) (a__U31 (a__and (a__isNatural N) (isLNat XS)) N)) (rule (a__isLNat nil) tt) (rule (a__isLNat (afterNth V1 V2)) (a__and (a__isNatural V1) (isLNat V2))) (rule (a__isLNat (cons V1 V2)) (a__and (a__isNatural V1) (isLNat V2))) (rule (a__isLNat (fst V1)) (a__isPLNat V1)) (rule (a__isLNat (natsFrom V1)) (a__isNatural V1)) (rule (a__isLNat (snd V1)) (a__isPLNat V1)) (rule (a__isLNat (tail V1)) (a__isLNat V1)) (rule (a__isLNat (take V1 V2)) (a__and (a__isNatural V1) (isLNat V2))) (rule (a__isNatural |0|) tt) (rule (a__isNatural (head V1)) (a__isLNat V1)) (rule (a__isNatural (s V1)) (a__isNatural V1)) (rule (a__isNatural (sel V1 V2)) (a__and (a__isNatural V1) (isLNat V2))) (rule (a__isPLNat (pair V1 V2)) (a__and (a__isLNat V1) (isLNat V2))) (rule (a__isPLNat (splitAt V1 V2)) (a__and (a__isNatural V1) (isLNat V2))) (rule (a__natsFrom N) (a__U41 (a__isNatural N) N)) (rule (a__sel N XS) (a__U51 (a__and (a__isNatural N) (isLNat XS)) N XS)) (rule (a__snd (pair X Y)) (a__U61 (a__and (a__isLNat X) (isLNat Y)) Y)) (rule (a__splitAt |0| XS) (a__U71 (a__isLNat XS) XS)) (rule (a__splitAt (s N) (cons X XS)) (a__U81 (a__and (a__isNatural N) (and (isNatural X) (isLNat XS))) N X XS)) (rule (a__tail (cons N XS)) (a__U91 (a__and (a__isNatural N) (isLNat XS)) XS)) (rule (a__take N XS) (a__U101 (a__and (a__isNatural N) (isLNat XS)) N XS)) (rule (mark (U101 X1 X2 X3)) (a__U101 (mark X1) X2 X3)) (rule (mark (fst X)) (a__fst (mark X))) (rule (mark (splitAt X1 X2)) (a__splitAt (mark X1) (mark X2))) (rule (mark (U11 X1 X2 X3)) (a__U11 (mark X1) X2 X3)) (rule (mark (snd X)) (a__snd (mark X))) (rule (mark (U21 X1 X2)) (a__U21 (mark X1) X2)) (rule (mark (U31 X1 X2)) (a__U31 (mark X1) X2)) (rule (mark (U41 X1 X2)) (a__U41 (mark X1) X2)) (rule (mark (natsFrom X)) (a__natsFrom (mark X))) (rule (mark (U51 X1 X2 X3)) (a__U51 (mark X1) X2 X3)) (rule (mark (head X)) (a__head (mark X))) (rule (mark (afterNth X1 X2)) (a__afterNth (mark X1) (mark X2))) (rule (mark (U61 X1 X2)) (a__U61 (mark X1) X2)) (rule (mark (U71 X1 X2)) (a__U71 (mark X1) X2)) (rule (mark (U81 X1 X2 X3 X4)) (a__U81 (mark X1) X2 X3 X4)) (rule (mark (U82 X1 X2)) (a__U82 (mark X1) X2)) (rule (mark (U91 X1 X2)) (a__U91 (mark X1) X2)) (rule (mark (and X1 X2)) (a__and (mark X1) X2)) (rule (mark (isNatural X)) (a__isNatural X)) (rule (mark (isLNat X)) (a__isLNat X)) (rule (mark (isPLNat X)) (a__isPLNat X)) (rule (mark (tail X)) (a__tail (mark X))) (rule (mark (take X1 X2)) (a__take (mark X1) (mark X2))) (rule (mark (sel X1 X2)) (a__sel (mark X1) (mark X2))) (rule (mark tt) tt) (rule (mark (cons X1 X2)) (cons (mark X1) X2)) (rule (mark (s X)) (s (mark X))) (rule (mark (pair X1 X2)) (pair (mark X1) (mark X2))) (rule (mark nil) nil) (rule (mark |0|) |0|) (rule (a__U101 X1 X2 X3) (U101 X1 X2 X3)) (rule (a__fst X) (fst X)) (rule (a__splitAt X1 X2) (splitAt X1 X2)) (rule (a__U11 X1 X2 X3) (U11 X1 X2 X3)) (rule (a__snd X) (snd X)) (rule (a__U21 X1 X2) (U21 X1 X2)) (rule (a__U31 X1 X2) (U31 X1 X2)) (rule (a__U41 X1 X2) (U41 X1 X2)) (rule (a__natsFrom X) (natsFrom X)) (rule (a__U51 X1 X2 X3) (U51 X1 X2 X3)) (rule (a__head X) (head X)) (rule (a__afterNth X1 X2) (afterNth X1 X2)) (rule (a__U61 X1 X2) (U61 X1 X2)) (rule (a__U71 X1 X2) (U71 X1 X2)) (rule (a__U81 X1 X2 X3 X4) (U81 X1 X2 X3 X4)) (rule (a__U82 X1 X2) (U82 X1 X2)) (rule (a__U91 X1 X2) (U91 X1 X2)) (rule (a__and X1 X2) (and X1 X2)) (rule (a__isNatural X) (isNatural X)) (rule (a__isLNat X) (isLNat X)) (rule (a__isPLNat X) (isPLNat X)) (rule (a__tail X) (tail X)) (rule (a__take X1 X2) (take X1 X2)) (rule (a__sel X1 X2) (sel X1 X2))