Skip to content

Commit 12b0f11

Browse files
committed
feat: API lemmas for CNF.relabel
1 parent 066c1fb commit 12b0f11

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/Std/Sat/CNF/Relabel.lean

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,13 @@ Change the literal type in a `CNF` formula from `α` to `β` by using `r`.
5151
-/
5252
def relabel (r : α → β) (f : CNF α) : CNF β := f.map (Clause.relabel r)
5353

54+
@[simp] theorem relabel_nil {r : α → β} : relabel r [] = [] := by simp [relabel]
55+
@[simp] theorem relabel_cons {r : α → β} : relabel r (c :: f) = (c.relabel r) :: relabel r f := by
56+
simp [relabel]
57+
5458
@[simp] theorem eval_relabel (r : α → β) (a : β → Bool) (f : CNF α) :
5559
(relabel r f).eval a = f.eval (a ∘ r) := by
56-
induction f <;> simp_all [relabel]
60+
induction f <;> simp_all
5761

5862
@[simp] theorem relabel_append : relabel r (f1 ++ f2) = relabel r f1 ++ relabel r f2 :=
5963
List.map_append _ _ _
@@ -111,7 +115,7 @@ theorem unsat_relabel_iff {f : CNF α} {r : α → β}
111115
· exact (Exists.choose_spec (⟨v, h, rfl⟩ : ∃ a', Mem a' f ∧ r a' = r v)).1
112116
rw [relabel_relabel, relabel_congr, relabel_id]
113117
exact this
114-
· cases n <;> simp [Unsatisfiable, (· ⊨ ·), relabel, Clause.relabel, List.replicate_succ]
118+
· cases n <;> simp [Unsatisfiable, (· ⊨ ·), List.replicate_succ]
115119

116120
end CNF
117121

0 commit comments

Comments
 (0)