; @origtpdbfilename ./TRS/TRCSR/LengthOfFiniteLists_nokinds_noand_C.trs ; @xtcfilename "./TRS_Standard/Transformed_CSR_04/LengthOfFiniteLists_nokinds_noand_C.xml" (format TRS) (fun active 1) (fun zeros 0) (fun mark 1) (fun cons 2) (fun |0| 0) (fun U11 1) (fun tt 0) (fun U21 1) (fun U31 1) (fun U41 2) (fun U42 1) (fun isNatIList 1) (fun U51 2) (fun U52 1) (fun isNatList 1) (fun U61 3) (fun U62 2) (fun isNat 1) (fun s 1) (fun length 1) (fun nil 0) (fun proper 1) (fun ok 1) (fun top 1) (rule (active zeros) (mark (cons |0| zeros))) (rule (active (U11 tt)) (mark tt)) (rule (active (U21 tt)) (mark tt)) (rule (active (U31 tt)) (mark tt)) (rule (active (U41 tt V2)) (mark (U42 (isNatIList V2)))) (rule (active (U42 tt)) (mark tt)) (rule (active (U51 tt V2)) (mark (U52 (isNatList V2)))) (rule (active (U52 tt)) (mark tt)) (rule (active (U61 tt L N)) (mark (U62 (isNat N) L))) (rule (active (U62 tt L)) (mark (s (length L)))) (rule (active (isNat |0|)) (mark tt)) (rule (active (isNat (length V1))) (mark (U11 (isNatList V1)))) (rule (active (isNat (s V1))) (mark (U21 (isNat V1)))) (rule (active (isNatIList V)) (mark (U31 (isNatList V)))) (rule (active (isNatIList zeros)) (mark tt)) (rule (active (isNatIList (cons V1 V2))) (mark (U41 (isNat V1) V2))) (rule (active (isNatList nil)) (mark tt)) (rule (active (isNatList (cons V1 V2))) (mark (U51 (isNat V1) V2))) (rule (active (length nil)) (mark |0|)) (rule (active (length (cons N L))) (mark (U61 (isNatList L) L N))) (rule (active (cons X1 X2)) (cons (active X1) X2)) (rule (active (U11 X)) (U11 (active X))) (rule (active (U21 X)) (U21 (active X))) (rule (active (U31 X)) (U31 (active X))) (rule (active (U41 X1 X2)) (U41 (active X1) X2)) (rule (active (U42 X)) (U42 (active X))) (rule (active (U51 X1 X2)) (U51 (active X1) X2)) (rule (active (U52 X)) (U52 (active X))) (rule (active (U61 X1 X2 X3)) (U61 (active X1) X2 X3)) (rule (active (U62 X1 X2)) (U62 (active X1) X2)) (rule (active (s X)) (s (active X))) (rule (active (length X)) (length (active X))) (rule (cons (mark X1) X2) (mark (cons X1 X2))) (rule (U11 (mark X)) (mark (U11 X))) (rule (U21 (mark X)) (mark (U21 X))) (rule (U31 (mark X)) (mark (U31 X))) (rule (U41 (mark X1) X2) (mark (U41 X1 X2))) (rule (U42 (mark X)) (mark (U42 X))) (rule (U51 (mark X1) X2) (mark (U51 X1 X2))) (rule (U52 (mark X)) (mark (U52 X))) (rule (U61 (mark X1) X2 X3) (mark (U61 X1 X2 X3))) (rule (U62 (mark X1) X2) (mark (U62 X1 X2))) (rule (s (mark X)) (mark (s X))) (rule (length (mark X)) (mark (length X))) (rule (proper zeros) (ok zeros)) (rule (proper (cons X1 X2)) (cons (proper X1) (proper X2))) (rule (proper |0|) (ok |0|)) (rule (proper (U11 X)) (U11 (proper X))) (rule (proper tt) (ok tt)) (rule (proper (U21 X)) (U21 (proper X))) (rule (proper (U31 X)) (U31 (proper X))) (rule (proper (U41 X1 X2)) (U41 (proper X1) (proper X2))) (rule (proper (U42 X)) (U42 (proper X))) (rule (proper (isNatIList X)) (isNatIList (proper X))) (rule (proper (U51 X1 X2)) (U51 (proper X1) (proper X2))) (rule (proper (U52 X)) (U52 (proper X))) (rule (proper (isNatList X)) (isNatList (proper X))) (rule (proper (U61 X1 X2 X3)) (U61 (proper X1) (proper X2) (proper X3))) (rule (proper (U62 X1 X2)) (U62 (proper X1) (proper X2))) (rule (proper (isNat X)) (isNat (proper X))) (rule (proper (s X)) (s (proper X))) (rule (proper (length X)) (length (proper X))) (rule (proper nil) (ok nil)) (rule (cons (ok X1) (ok X2)) (ok (cons X1 X2))) (rule (U11 (ok X)) (ok (U11 X))) (rule (U21 (ok X)) (ok (U21 X))) (rule (U31 (ok X)) (ok (U31 X))) (rule (U41 (ok X1) (ok X2)) (ok (U41 X1 X2))) (rule (U42 (ok X)) (ok (U42 X))) (rule (isNatIList (ok X)) (ok (isNatIList X))) (rule (U51 (ok X1) (ok X2)) (ok (U51 X1 X2))) (rule (U52 (ok X)) (ok (U52 X))) (rule (isNatList (ok X)) (ok (isNatList X))) (rule (U61 (ok X1) (ok X2) (ok X3)) (ok (U61 X1 X2 X3))) (rule (U62 (ok X1) (ok X2)) (ok (U62 X1 X2))) (rule (isNat (ok X)) (ok (isNat X))) (rule (s (ok X)) (ok (s X))) (rule (length (ok X)) (ok (length X))) (rule (top (mark X)) (top (proper X))) (rule (top (ok X)) (top (active X)))