exact contradiction_of_insertUnit_success acc.2.1 acc_size acc.1 acc.2.2 l' h insertUnit_res_success
case intro
n : Nat
assignments : Array Assignment
assignments_size : assignments.size = n
units : Array (Literal (PosFin n))
foundContradiction : Bool
l : List (Literal (PosFin n))
insertUnit_fold_res : Array (Literal (PosFin n)) × Array Assignment × Bool :=
  List.foldl insertUnit (units, assignments, foundContradiction) l
h0 : foundContradiction = true → ∃ i, assignments[i.val] = both
insertUnit_fold_success : insertUnit_fold_res.snd.snd = true
acc0 : Array (Literal (PosFin n)) × Array Assignment × Bool := (units, assignments, foundContradiction)
hb : ∃ _hsize, acc0.snd.snd = true → ∃ j, acc0.snd.fst[j.val] = both
acc : Array (Literal (PosFin n)) × Array Assignment × Bool
l' : Literal (PosFin n)
x✝ : l' ∈ l
insertUnit_res : Array (Literal (PosFin n)) × Array Assignment × Bool := insertUnit acc l'
hsize : insertUnit_res.snd.fst.size = n
insertUnit_res_success : insertUnit_res.snd.snd = true
acc_size : acc.snd.fst.size = n
h : acc.snd.snd = true → ∃ j, acc.snd.fst[j.val] = both
⊢ ∃ j, insertUnit_res.snd.fst[j.val] = both
no goals