; @author Naoki Nishida ; @cops 826 (format CTRS oriented :problem infeasibility) (fun 0 0) (fun app 2) (fun cons 2) (fun empty 1) (fun f 2) (fun false 0) (fun fstsplit 2) (fun head 1) (fun length 1) (fun leq 2) (fun map_f 2) (fun nil 0) (fun ring 6) (fun s 1) (fun sndsplit 2) (fun tail 1) (fun three 0) (fun true 0) (fun two 0) (rule (fstsplit 0 x) nil) (rule (fstsplit (s n) nil) nil) (rule (fstsplit (s n) (cons h t)) (cons h (fstsplit n t))) (rule (sndsplit 0 x) x) (rule (sndsplit (s n) nil) nil) (rule (sndsplit (s n) (cons h t)) (sndsplit n t)) (rule (empty nil) true) (rule (empty (cons h t)) false) (rule (leq 0 m) true) (rule (leq (s n) 0) false) (rule (leq (s n) (s m)) (leq n m)) (rule (length nil) 0) (rule (length (cons h t)) (s (length t))) (rule (app nil x) x) (rule (app (cons h t) x) (cons h (app t x))) (rule (map_f pid nil) nil) (rule (map_f pid (cons h t)) (app (f pid h) (map_f pid t))) (rule (head (cons h t)) h) (rule (tail (cons h t)) t) (rule (ring st_1 in_2 st_2 in_3 st_3 m) (ring (sndsplit m st_1) (cons (fstsplit m st_1) in_2) st_2 in_3 st_3 m) (= (empty (fstsplit m st_1)) false)) (rule (ring st_1 in_2 st_2 in_3 st_3 m) (ring st_1 in_2 (sndsplit m st_2) (cons (fstsplit m st_2) in_3) st_3 m) (= (leq m (length st_2)) true) (= (empty (fstsplit m st_2)) false)) (rule (ring st_1 in_2 st_2 in_3 st_3 m) (ring st_1 (tail in_2) (sndsplit m (app (map_f two (head in_2)) st_2)) (cons (fstsplit m (app (map_f two (head in_2)) st_2)) in_3) st_3 m) (= (leq m (length st_2)) false) (= (empty (fstsplit m (app (map_f two (head in_2)) st_2))) false)) (rule (ring st_1 in_2 st_2 in_3 st_3 m) (ring st_1 (tail in_2) st_2 in_3 st_3 m) (= (empty (map_f two (head in_2))) true)) (rule (ring st_1 in_2 st_2 in_3 st_3 m) (ring st_1 in_2 st_2 in_3 (sndsplit m st_3) m) (= (leq m (length st_3)) true) (= (empty (fstsplit m st_3)) false)) (rule (ring st_1 in_2 st_2 in_3 st_3 m) (ring st_1 in_2 st_2 (tail in_3) (sndsplit m (app (map_f three (head in_3)) st_3)) m) (= (leq m (length st_3)) false) (= (empty (fstsplit m (app (map_f three (head in_3)) st_3))) false)) (rule (ring st_1 in_2 st_2 in_3 st_3 m) (ring st_1 in_2 st_2 (tail in_3) st_3 m) (= (empty (map_f three (head in_3))) true)) (infeasible? (= (leq x6 (length x3)) true) (= (empty (fstsplit x6 x3)) false) (= (leq x6 (length x3)) false) (= (empty (fstsplit x6 (app (map_f two (head x2)) x3))) false))