fact: Definition check_ImmBuildDef pos := match S.get s pos with | l::nil => match get_hash (Lit.blit l) with | Fand args => if Lit.is_pos l then C._true else List.map Lit.neg (to_list args) | For args => if Lit.is_pos l then to_list args else C._true | Fimp args => if PArray.length args =? 0 then C._true else if Lit.is_pos l then let args := or_of_imp args in to_list args else C._true | Fxor a b => if Lit.is_pos l then a::b::nil else a::Lit.neg b::nil | Fiff a b => if Lit.is_pos l then a::Lit.neg b::nil else Lit.neg a::Lit.neg b::nil | Fite a b c => if Lit.is_pos l then a::c::nil else a::Lit.neg c::nil | _ => C._true end | _ => C._true end.
imports: PArray List Bool ZArith Psatz Misc State SMT_terms BVList