fact: Fixpoint plus (t1 t2 : T2) {struct t1}:T2 := match t1,t2 with | zero, y => y | x, zero => x | cons a b n c, cons a' b' n' c' => (match compare (cons a b 0 zero) (cons a' b' 0 zero) with | Lt => cons a' b' n' c' | Gt => (cons a b n (c + (cons a' b' n' c'))) | Eq => (cons a b (S(n+n')) c') end) end where "alpha + beta" := (plus alpha beta): g0_scope.
imports: EPSILON0 Arith List Omega Compare_dec Relations Wellfounded Max Tools More_nat AccP not_decreasing EPSILON0 More_nat Gamma0_prelude Gamma0_length term rpo