Theory CDCL_W_Partial_Encoding
theory CDCL_W_Partial_Encoding
imports CDCL_W_Optimal_Model
begin
lemma consistent_interp_unionI:
‹consistent_interp A ⟹ consistent_interp B ⟹ (⋀a. a ∈ A ⟹ -a ∉ B) ⟹ (⋀a. a ∈ B ⟹ -a ∉ A) ⟹
consistent_interp (A ∪ B)›
by (auto simp: consistent_interp_def)
lemma consistent_interp_poss: ‹consistent_interp (Pos ` A)› and
consistent_interp_negs: ‹consistent_interp (Neg ` A)›
by (auto simp: consistent_interp_def)
lemma Neg_in_lits_of_l_definedD:
‹Neg A ∈ lits_of_l M ⟹ defined_lit M (Pos A)›
by (simp add: Decided_Propagated_in_iff_in_lits_of_l)
subsection ‹Encoding of partial SAT into total SAT›
text ‹As a way to make sure we don't reuse theorems names:›