fact: Definition check_bbNeg pos lres := match S.get s pos with | l::nil => if (Lit.is_pos l) && (Lit.is_pos lres) then match get_form (Lit.blit l), get_form (Lit.blit lres) with | FbbT a bs, FbbT r br => match get_atom r with | Auop (UO_BVneg n) a' => if (a =? a') && check_neg bs br && (N.of_nat (length bs) =? n)%N then lres::nil else C._true | _ => C._true end | _, _ => C._true end else C._true | _ => C._true end.
imports: Int63 PArray SMT_classes ZArith Misc State SMT_terms BVList Psatz Bool List BoolEq NZParity Nnat BinPos BinNat Pnat Init.Peano ProofIrrelevance