; @origtpdbfilename ./TRS/TRCSR/LengthOfFiniteLists_complete_GM.trs ; @xtcfilename "./TRS_Standard/Transformed_CSR_04/LengthOfFiniteLists_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 2) (fun s 1) (fun a__length 1) (fun mark 1) (fun a__and 2) (fun length 1) (fun a__isNatIListKind 1) (fun a__isNatKind 1) (fun isNatIListKind 1) (fun nil 0) (fun and 2) (fun isNat 1) (fun isNatKind 1) (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 2) (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 L) (s (a__length (mark L)))) (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__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__length nil) |0|) (rule (a__length (cons N L)) (a__U61 (a__and (a__and (a__isNatList L) (isNatIListKind L)) (and (isNat N) (isNatKind N))) L)) (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)) (a__U61 (mark X1) X2)) (rule (mark (length X)) (a__length (mark X))) (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) (U61 X1 X2)) (rule (a__length X) (length X)) (rule (a__and X1 X2) (and X1 X2)) (rule (a__isNatIListKind X) (isNatIListKind X)) (rule (a__isNatKind X) (isNatKind X))