; @origtpdbfilename ./TRS/TRCSR/LengthOfFiniteLists_complete_FR.trs ; @xtcfilename "./TRS_Standard/Transformed_CSR_04/LengthOfFiniteLists_complete_FR.xml" (format TRS) (fun zeros 0) (fun cons 2) (fun |0| 0) (fun n__zeros 0) (fun U11 2) (fun tt 0) (fun U12 1) (fun isNatList 1) (fun activate 1) (fun U21 2) (fun U22 1) (fun isNat 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) (fun s 1) (fun length 1) (fun and 2) (fun n__0 0) (fun n__length 1) (fun isNatIListKind 1) (fun n__s 1) (fun isNatKind 1) (fun n__cons 2) (fun n__isNatIListKind 1) (fun n__nil 0) (fun nil 0) (fun n__and 2) (fun n__isNat 1) (fun n__isNatKind 1) (rule zeros (cons |0| n__zeros)) (rule (U11 tt V1) (U12 (isNatList (activate V1)))) (rule (U12 tt) tt) (rule (U21 tt V1) (U22 (isNat (activate V1)))) (rule (U22 tt) tt) (rule (U31 tt V) (U32 (isNatList (activate V)))) (rule (U32 tt) tt) (rule (U41 tt V1 V2) (U42 (isNat (activate V1)) (activate V2))) (rule (U42 tt V2) (U43 (isNatIList (activate V2)))) (rule (U43 tt) tt) (rule (U51 tt V1 V2) (U52 (isNat (activate V1)) (activate V2))) (rule (U52 tt V2) (U53 (isNatList (activate V2)))) (rule (U53 tt) tt) (rule (U61 tt L) (s (length (activate L)))) (rule (and tt X) (activate X)) (rule (isNat n__0) tt) (rule (isNat (n__length V1)) (U11 (isNatIListKind (activate V1)) (activate V1))) (rule (isNat (n__s V1)) (U21 (isNatKind (activate V1)) (activate V1))) (rule (isNatIList V) (U31 (isNatIListKind (activate V)) (activate V))) (rule (isNatIList n__zeros) tt) (rule (isNatIList (n__cons V1 V2)) (U41 (and (isNatKind (activate V1)) (n__isNatIListKind (activate V2))) (activate V1) (activate V2))) (rule (isNatIListKind n__nil) tt) (rule (isNatIListKind n__zeros) tt) (rule (isNatIListKind (n__cons V1 V2)) (and (isNatKind (activate V1)) (n__isNatIListKind (activate V2)))) (rule (isNatKind n__0) tt) (rule (isNatKind (n__length V1)) (isNatIListKind (activate V1))) (rule (isNatKind (n__s V1)) (isNatKind (activate V1))) (rule (isNatList n__nil) tt) (rule (isNatList (n__cons V1 V2)) (U51 (and (isNatKind (activate V1)) (n__isNatIListKind (activate V2))) (activate V1) (activate V2))) (rule (length nil) |0|) (rule (length (cons N L)) (U61 (and (and (isNatList (activate L)) (n__isNatIListKind (activate L))) (n__and (n__isNat N) (n__isNatKind N))) (activate L))) (rule zeros n__zeros) (rule |0| n__0) (rule (length X) (n__length X)) (rule (s X) (n__s X)) (rule (cons X1 X2) (n__cons X1 X2)) (rule (isNatIListKind X) (n__isNatIListKind X)) (rule nil n__nil) (rule (and X1 X2) (n__and X1 X2)) (rule (isNat X) (n__isNat X)) (rule (isNatKind X) (n__isNatKind X)) (rule (activate n__zeros) zeros) (rule (activate n__0) |0|) (rule (activate (n__length X)) (length (activate X))) (rule (activate (n__s X)) (s (activate X))) (rule (activate (n__cons X1 X2)) (cons (activate X1) X2)) (rule (activate (n__isNatIListKind X)) (isNatIListKind X)) (rule (activate n__nil) nil) (rule (activate (n__and X1 X2)) (and (activate X1) X2)) (rule (activate (n__isNat X)) (isNat X)) (rule (activate (n__isNatKind X)) (isNatKind X)) (rule (activate X) X)