; @origtpdbfilename ./TRS/TRCSR/OvConsOS_complete_GM.trs ; @xtcfilename "./TRS_Standard/Transformed_CSR_04/OvConsOS_complete_GM.xml" (format TRS) (fun a__zeros 0) (fun cons 2) (fun |0| 0) (fun zeros 0) (fun a__U11 2) (fun tt 0) (fun a__U12 1) (fun a__isNatList 1) (fun a__U21 2) (fun a__U22 1) (fun a__isNat 1) (fun a__U31 2) (fun a__U32 1) (fun a__U41 3) (fun a__U42 2) (fun a__U43 1) (fun a__isNatIList 1) (fun a__U51 3) (fun a__U52 2) (fun a__U53 1) (fun a__U61 3) (fun a__U62 2) (fun a__U63 1) (fun a__U71 2) (fun s 1) (fun a__length 1) (fun mark 1) (fun a__U81 1) (fun nil 0) (fun a__U91 4) (fun take 2) (fun a__and 2) (fun length 1) (fun a__isNatIListKind 1) (fun a__isNatKind 1) (fun isNatIListKind 1) (fun and 2) (fun isNat 1) (fun isNatKind 1) (fun a__take 2) (fun U11 2) (fun U12 1) (fun isNatList 1) (fun U21 2) (fun U22 1) (fun U31 2) (fun U32 1) (fun U41 3) (fun U42 2) (fun U43 1) (fun isNatIList 1) (fun U51 3) (fun U52 2) (fun U53 1) (fun U61 3) (fun U62 2) (fun U63 1) (fun U71 2) (fun U81 1) (fun U91 4) (rule a__zeros (cons |0| zeros)) (rule (a__U11 tt V1) (a__U12 (a__isNatList V1))) (rule (a__U12 tt) tt) (rule (a__U21 tt V1) (a__U22 (a__isNat V1))) (rule (a__U22 tt) tt) (rule (a__U31 tt V) (a__U32 (a__isNatList V))) (rule (a__U32 tt) tt) (rule (a__U41 tt V1 V2) (a__U42 (a__isNat V1) V2)) (rule (a__U42 tt V2) (a__U43 (a__isNatIList V2))) (rule (a__U43 tt) tt) (rule (a__U51 tt V1 V2) (a__U52 (a__isNat V1) V2)) (rule (a__U52 tt V2) (a__U53 (a__isNatList V2))) (rule (a__U53 tt) tt) (rule (a__U61 tt V1 V2) (a__U62 (a__isNat V1) V2)) (rule (a__U62 tt V2) (a__U63 (a__isNatIList V2))) (rule (a__U63 tt) tt) (rule (a__U71 tt L) (s (a__length (mark L)))) (rule (a__U81 tt) nil) (rule (a__U91 tt IL M N) (cons (mark N) (take M IL))) (rule (a__and tt X) (mark X)) (rule (a__isNat |0|) tt) (rule (a__isNat (length V1)) (a__U11 (a__isNatIListKind V1) V1)) (rule (a__isNat (s V1)) (a__U21 (a__isNatKind V1) V1)) (rule (a__isNatIList V) (a__U31 (a__isNatIListKind V) V)) (rule (a__isNatIList zeros) tt) (rule (a__isNatIList (cons V1 V2)) (a__U41 (a__and (a__isNatKind V1) (isNatIListKind V2)) V1 V2)) (rule (a__isNatIListKind nil) tt) (rule (a__isNatIListKind zeros) tt) (rule (a__isNatIListKind (cons V1 V2)) (a__and (a__isNatKind V1) (isNatIListKind V2))) (rule (a__isNatIListKind (take V1 V2)) (a__and (a__isNatKind V1) (isNatIListKind V2))) (rule (a__isNatKind |0|) tt) (rule (a__isNatKind (length V1)) (a__isNatIListKind V1)) (rule (a__isNatKind (s V1)) (a__isNatKind V1)) (rule (a__isNatList nil) tt) (rule (a__isNatList (cons V1 V2)) (a__U51 (a__and (a__isNatKind V1) (isNatIListKind V2)) V1 V2)) (rule (a__isNatList (take V1 V2)) (a__U61 (a__and (a__isNatKind V1) (isNatIListKind V2)) V1 V2)) (rule (a__length nil) |0|) (rule (a__length (cons N L)) (a__U71 (a__and (a__and (a__isNatList L) (isNatIListKind L)) (and (isNat N) (isNatKind N))) L)) (rule (a__take |0| IL) (a__U81 (a__and (a__isNatIList IL) (isNatIListKind IL)))) (rule (a__take (s M) (cons N IL)) (a__U91 (a__and (a__and (a__isNatIList IL) (isNatIListKind IL)) (and (and (isNat M) (isNatKind M)) (and (isNat N) (isNatKind N)))) IL M N)) (rule (mark zeros) a__zeros) (rule (mark (U11 X1 X2)) (a__U11 (mark X1) X2)) (rule (mark (U12 X)) (a__U12 (mark X))) (rule (mark (isNatList X)) (a__isNatList X)) (rule (mark (U21 X1 X2)) (a__U21 (mark X1) X2)) (rule (mark (U22 X)) (a__U22 (mark X))) (rule (mark (isNat X)) (a__isNat X)) (rule (mark (U31 X1 X2)) (a__U31 (mark X1) X2)) (rule (mark (U32 X)) (a__U32 (mark X))) (rule (mark (U41 X1 X2 X3)) (a__U41 (mark X1) X2 X3)) (rule (mark (U42 X1 X2)) (a__U42 (mark X1) X2)) (rule (mark (U43 X)) (a__U43 (mark X))) (rule (mark (isNatIList X)) (a__isNatIList X)) (rule (mark (U51 X1 X2 X3)) (a__U51 (mark X1) X2 X3)) (rule (mark (U52 X1 X2)) (a__U52 (mark X1) X2)) (rule (mark (U53 X)) (a__U53 (mark X))) (rule (mark (U61 X1 X2 X3)) (a__U61 (mark X1) X2 X3)) (rule (mark (U62 X1 X2)) (a__U62 (mark X1) X2)) (rule (mark (U63 X)) (a__U63 (mark X))) (rule (mark (U71 X1 X2)) (a__U71 (mark X1) X2)) (rule (mark (length X)) (a__length (mark X))) (rule (mark (U81 X)) (a__U81 (mark X))) (rule (mark (U91 X1 X2 X3 X4)) (a__U91 (mark X1) X2 X3 X4)) (rule (mark (take X1 X2)) (a__take (mark X1) (mark X2))) (rule (mark (and X1 X2)) (a__and (mark X1) X2)) (rule (mark (isNatIListKind X)) (a__isNatIListKind X)) (rule (mark (isNatKind X)) (a__isNatKind X)) (rule (mark (cons X1 X2)) (cons (mark X1) X2)) (rule (mark |0|) |0|) (rule (mark tt) tt) (rule (mark (s X)) (s (mark X))) (rule (mark nil) nil) (rule a__zeros zeros) (rule (a__U11 X1 X2) (U11 X1 X2)) (rule (a__U12 X) (U12 X)) (rule (a__isNatList X) (isNatList X)) (rule (a__U21 X1 X2) (U21 X1 X2)) (rule (a__U22 X) (U22 X)) (rule (a__isNat X) (isNat X)) (rule (a__U31 X1 X2) (U31 X1 X2)) (rule (a__U32 X) (U32 X)) (rule (a__U41 X1 X2 X3) (U41 X1 X2 X3)) (rule (a__U42 X1 X2) (U42 X1 X2)) (rule (a__U43 X) (U43 X)) (rule (a__isNatIList X) (isNatIList X)) (rule (a__U51 X1 X2 X3) (U51 X1 X2 X3)) (rule (a__U52 X1 X2) (U52 X1 X2)) (rule (a__U53 X) (U53 X)) (rule (a__U61 X1 X2 X3) (U61 X1 X2 X3)) (rule (a__U62 X1 X2) (U62 X1 X2)) (rule (a__U63 X) (U63 X)) (rule (a__U71 X1 X2) (U71 X1 X2)) (rule (a__length X) (length X)) (rule (a__U81 X) (U81 X)) (rule (a__U91 X1 X2 X3 X4) (U91 X1 X2 X3 X4)) (rule (a__take X1 X2) (take X1 X2)) (rule (a__and X1 X2) (and X1 X2)) (rule (a__isNatIListKind X) (isNatIListKind X)) (rule (a__isNatKind X) (isNatKind X))