fact: Fixpoint mult (c1 c2 : T1) {struct c2}:T1 := match c1,c2 with | zero, y => zero | x, zero => zero | cons zero n _, cons zero n' _ => cons zero (Peano.pred((S n) * (S n'))) zero | cons a n b, cons zero n' b' => cons a (Peano.pred((S n) * (S n'))) b | cons a n b, cons a' n' b' => cons (a + a') n' ((cons a n b) * b') end where "c1 * c2" := (mult c1 c2) : cantor_scope.
imports: Arith Omega Compare_dec Relations Wellfounded Tools More_nat Wf_nat AccP not_decreasing ArithRing term rpo List