fact: Fixpoint plus (t1 t2 : T2) {struct t1} : T2 := match t1,t2 with | zero, y => y | x, zero => x | gcons a b n c, gcons a' b' n' c' => (match compare (gcons a b 0 zero) (gcons a' b' 0 zero) with | Lt => gcons a' b' n' c' | Gt => gcons a b n (c + gcons a' b' n' c') | Eq => gcons a b (S(n+n')) c' end) end where "alpha + beta" := (plus alpha beta): T2_scope.
imports: Coq(Arith List Lia Compare_dec Relations Wellfounded RelationClasses) hydras(Epsilon0) hydras(More_Arith Restriction) hydras(ON_Generic) hydras(rpo.term rpo.rpo) hydras(T2) hydras(Compat815)