intro h assign1
case mp
entry : Entrypoint Nat
⊢ CNF.unsat
      ([(Sum.inr ⟨entry.ref.gate, ⋯⟩, true)] ::
        (toCNF.go entry.aig entry.ref.gate ⋯ (toCNF.State.empty entry.aig)).val.cnf) →
    entry.unsat
case mp
entry : Entrypoint Nat
h :
  CNF.unsat
    ([(Sum.inr ⟨entry.ref.gate, ⋯⟩, true)] ::
      (toCNF.go entry.aig entry.ref.gate ⋯ (toCNF.State.empty entry.aig)).val.cnf)
assign1 : Nat → Bool
⊢ ⟦{ aig := entry.aig, ref := { gate := entry.ref.gate, hgate := ⋯ } }, assign1⟧ = false