fact: Fixpoint pred (a:T2) : option T2 := match a with zero => None | cons zero zero 0 zero => Some zero | cons zero zero (S n) zero => Some (cons zero zero n zero) | cons a b n c => (match (pred c) with Some c' => Some (cons a b n c') | None => None end) end.
imports: Arith Omega Compare_dec Relations Wellfounded Max Tools More_nat AccP not_decreasing EPSILON0 More_nat