specialize h assign
case mpr
α✝ β : Type
inst✝⁶ : BEq β
inst✝⁵ : Hashable β
inst✝⁴ : DecidableEq β
atomHandler : AIG β → α✝ → Entrypoint β
inst✝³ : LawfulOperator β (fun x => α✝) atomHandler
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
expr : BoolExpr α
h : expr.unsat
assign : α → Bool
⊢ ⟦{ aig := (ofBoolExprCachedDirect expr).aig, ref := { gate := (ofBoolExprCachedDirect expr).ref.gate, hgate := ⋯ } },
      assign⟧ =
    false
case mpr
α✝ β : Type
inst✝⁶ : BEq β
inst✝⁵ : Hashable β
inst✝⁴ : DecidableEq β
atomHandler : AIG β → α✝ → Entrypoint β
inst✝³ : LawfulOperator β (fun x => α✝) atomHandler
α : Type
inst✝² : BEq α
inst✝¹ : Hashable α
inst✝ : DecidableEq α
expr : BoolExpr α
assign : α → Bool
h : BoolExpr.eval assign expr = false
⊢ ⟦{ aig := (ofBoolExprCachedDirect expr).aig, ref := { gate := (ofBoolExprCachedDirect expr).ref.gate, hgate := ⋯ } },
      assign⟧ =
    false