fact: Fixpoint resolve (c1 c2:t) {struct c1} : t := match c1, c2 with | nil, _ => _true | _, nil => _true | l1::c1, l2::c2' => match compare l1 l2 with | Eq => l1 :: resolve c1 c2' | Lt => if l1 lxor l2 =? 1 then or c1 c2' else l1 :: resolve c1 c2 | Gt => if l1 lxor l2 =? 1 then or c1 c2' else l2 :: resolve_aux resolve l1 c1 c2' end end.
imports: List Bool Int63 Psatz Ring63 PArray Misc Ring