fact: Fixpoint pred (c:T1) : option T1 := match c with zero => None | cons zero 0 _ => Some zero | cons zero (S n) _ => Some (cons zero n zero) | cons a n b => match (pred b) with | None => None | Some c => Some (cons a n c) end end.
imports: Coq(Arith Max Bool Lia Compare_dec Relations Ensembles Wellfounded Bool RelationClasses Operators_Properties ArithRing Logic.Eqdep_dec) hydras(More_Arith Restriction DecPreOrder) hydras(OrdNotations)