import Pretty.Supports.ResolvePareto /-! This set of lemmas states that a measure set from resolving will consist of measures whose last line length is bound by $W_F$ -/ mutual lemmaResolveConcatOne_last (ResolveConcatOne_last: ∀ {α : Type} {F : Factory α} {d : Doc} {m_left : Meas} {i : ℕ} {ms : List Meas} {h_not_empty : ms ≠ []} {m : Meas}, ResolveConcatOne F d m_left i (MeasureSet.set ms h_not_empty) → m ∈ ms → m.last ≤ F.Wh : ResolveConcatOneh: ResolveConcatOne F d m_left i (MeasureSet.set ms h_not_empty)FF: ?m.4dd: ?m.11m_leftm_left: ?m.17i (MeasureSet.seti: ?m.24msms: ?m.33h_not_empty)) (h_not_empty: ?m.42h_in :h_in: m ∈ msm ∈m: ?m.70ms) :ms: ?m.33m.last ≤m: ?m.70F.W :=F: ?m.4Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
ms: List Meas
h_not_empty: ms ≠ []
m: Meas
h: ResolveConcatOne F d m_left i (MeasureSet.set ms h_not_empty)
h_in: m ∈ msm.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h✝: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)
setm.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
ms: List Meas
h_not_empty: ms ≠ []
m: Meas
h: ResolveConcatOne F d m_left i (MeasureSet.set ms h_not_empty)
h_in: m ∈ msm.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)
this: m ∈ List.map (fun m' => Meas.concat F m_left m') ms✝m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)
this: ∃ a, a ∈ ms✝ ∧ Meas.concat F m_left a = mm.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)
this: ∃ a, a ∈ ms✝ ∧ Meas.concat F m_left a = m
m': Meas
h_mem: m' ∈ ms✝
h': Meas.concat F m_left m' = mm.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
m': Meas
h_mem: m' ∈ ms✝
h_in: Meas.concat F m_left m' ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)
this: ∃ a, a ∈ ms✝ ∧ Meas.concat F m_left a = Meas.concat F m_left m'(Meas.concat F m_left m').last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
m': Meas
h_mem: m' ∈ ms✝
h_in: Meas.concat F m_left m' ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)
this: ∃ a, a ∈ ms✝ ∧ Meas.concat F m_left a = Meas.concat F m_left m'm'.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
m_left: Meas
i: ℕ
m: Meas
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h: Resolve F d m_left.last i (MeasureSet.set ms✝ h_non_empty✝)
h_not_empty: dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝) ≠ []
h_in: m ∈ dedup F (List.map (fun m' => Meas.concat F m_left m') ms✝)m.last ≤ F.WlemmaGoals accomplished! 🐙ResolveConcat_last {h_not_empty :h_not_empty: ms ≠ []ms ≠ms: ?m.122[]} ([]: unknown metavariable '?_uniq.128'h : ResolveConcath: ResolveConcat F ms_in d i (MeasureSet.set ms h_not_empty)FF: ?m.135ms_inms_in: ?m.150dd: ?m.165i (MeasureSet.seti: ?m.179msms: ?m.122h_not_empty)) (h_not_empty: ms ≠ []h_in :h_in: m ∈ msm ∈m: ?m.218ms) :ms: ?m.122m.last ≤m: ?m.218F.W :=F: ?m.135Goals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current✝: ResolveConcatOne F d m✝ i ml
onem.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
msr✝: MeasureSet
m✝: Meas
msr'✝: MeasureSet
h_rest✝: ResolveConcat F ms✝ d i msr✝
h_current✝: ResolveConcatOne F d m✝ i msr'✝
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F msr'✝ msr✝
consm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i ml
hResolveConcatOne F ?d ?m_left ?i (MeasureSet.set ?ms ?h_not_empty)α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i ml
h_inm ∈ ?msα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i ml
dα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i ml
m_leftMeasα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i ml
iα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i ml
msList Measα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i ml
h_not_empty?ms ≠ []α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i mlResolveConcatOne F ?d ?m_left ?i (MeasureSet.set ?ms ?h_not_empty)α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
m✝: Meas
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms h_not_empty)ResolveConcatOne F (?m.2912 (MeasureSet.set ms h_not_empty) (_ : MeasureSet.set ms h_not_empty = MeasureSet.set ms h_not_empty) h_current) (?m.2913 (MeasureSet.set ms h_not_empty) (_ : MeasureSet.set ms h_not_empty = MeasureSet.set ms h_not_empty) h_current) (?m.2914 (MeasureSet.set ms h_not_empty) (_ : MeasureSet.set ms h_not_empty = MeasureSet.set ms h_not_empty) h_current) (MeasureSet.set (?m.2915 (MeasureSet.set ms h_not_empty) (_ : MeasureSet.set ms h_not_empty = MeasureSet.set ms h_not_empty) h_current) (_ : ?m.2915 (MeasureSet.set ms h_not_empty) (_ : MeasureSet.set ms h_not_empty = MeasureSet.set ms h_not_empty) h_current ≠ []))α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ml: MeasureSet
h_meas: MeasureSet.set ms h_not_empty = ml
m✝: Meas
h_current: ResolveConcatOne F d m✝ i mlResolveConcatOne F ?d ?m_left ?i (MeasureSet.set ?ms ?h_not_empty)Goals accomplished! 🐙Goals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
ms': MeasureSet
m✝: Meas
ms'': MeasureSet
h_rest: ResolveConcat F ms✝ d i ms'
h_current: ResolveConcatOne F d m✝ i ms''
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' ms'm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝¹ i ms''
m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)
taintedm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝ i ms''
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h✝)
setm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
ms': MeasureSet
m✝: Meas
ms'': MeasureSet
h_rest: ResolveConcat F ms✝ d i ms'
h_current: ResolveConcatOne F d m✝ i ms''
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' ms'm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝¹ i ms''
m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝¹ i ms''
m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = ms''m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝¹ i ms''
m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝¹ i ms''
m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)
hResolveConcatOne F ?d ?m_left ?i (MeasureSet.set ?ms ?h_not_empty)α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)
h_inm ∈ ?msα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)
dα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)
m_leftMeasα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)
iα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)
msList Measα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_rest: ResolveConcat F ms✝ d i (MeasureSet.tainted m✝)
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.set ms h_not_empty)
h_not_empty?ms ≠ []Goals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
ms': MeasureSet
m✝: Meas
ms'': MeasureSet
h_rest: ResolveConcat F ms✝ d i ms'
h_current: ResolveConcatOne F d m✝ i ms''
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' ms'm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝ i ms''
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝¹: Meas
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
m✝: Meas
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h✝)
taintedm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h✝¹)
setm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝ i ms''
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝¹: Meas
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
m✝: Meas
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝¹: Meas
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
m✝: Meas
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.tainted m✝)
h_meas: ms = ms✝m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝¹: Meas
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
m✝: Meas
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝: List Meas
m✝¹, m✝: Meas
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.tainted m✝)
h✝: ms ≠ []
h_rest: ResolveConcat F ms✝ d i (MeasureSet.set ms h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝¹: Meas
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
m✝: Meas
h_current: ResolveConcatOne F d m✝¹ i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝¹: List Meas
m✝: Meas
ms'': MeasureSet
h_current: ResolveConcatOne F d m✝ i ms''
ms✝: List Meas
h✝: ms✝ ≠ []
h_rest: ResolveConcat F ms✝¹ d i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h✝¹)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: ms = merge F (ms✝, ms✝¹)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h✝¹)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h✝¹)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
this: m ∈ ms✝ ∨ m ∈ ms✝¹m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h✝¹)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝²: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝²)
ms✝: List Meas
h✝¹: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝¹)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h✝: m ∈ ms✝
inlm.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝²: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝²)
ms✝: List Meas
h✝¹: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝¹)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h✝: m ∈ ms✝¹
inrm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h✝¹)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝
hResolveConcatOne F ?d ?m_left ?i (MeasureSet.set ?ms ?h_not_empty)α✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝
h_inm ∈ ?msα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝
dα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝
m_leftMeasα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝
iα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝
msList Measα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝
h_not_empty?ms ≠ []Goals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
d: Doc
i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h✝¹)m.last ≤ F.Wα✝: Type
F: Factory α✝
d: Doc
i: ℕ
m: Meas
ms✝²: List Meas
m✝: Meas
ms✝¹: List Meas
h✝¹: ms✝¹ ≠ []
h_rest: ResolveConcat F ms✝² d i (MeasureSet.set ms✝¹ h✝¹)
ms✝: List Meas
h✝: ms✝ ≠ []
h_current: ResolveConcatOne F d m✝ i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝¹m.last ≤ F.WlemmaGoals accomplished! 🐙Resolve_last {h_not_empty :h_not_empty: ms ≠ []ms ≠ms: ?m.281[]} ([]: List ?m.383h : Resolveh: Resolve F d c i (MeasureSet.set ms h_not_empty)FF: ?m.294dd: ?m.309cc: ?m.323i (MeasureSet.seti: ?m.337msms: ?m.281h_not_empty)) (h_not_empty: ms ≠ []h_in :h_in: m ∈ msm ∈m: ?m.377ms) :ms: ?m.281m.last ≤m: ?m.377F.W :=F: ?m.294Goals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
s✝: String
h: Resolve F (Doc.text s✝) c i (MeasureSet.set ms h_not_empty)
textm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
h: Resolve F Doc.nl c i (MeasureSet.set ms h_not_empty)
nlm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
d₁✝, d₂✝: Doc
h: Resolve F (Doc.concat d₁✝ d₂✝) c i (MeasureSet.set ms h_not_empty)
concatm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
d✝: Doc
h: Resolve F (Doc.nest n✝ d✝) c i (MeasureSet.set ms h_not_empty)
nestm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
d✝: Doc
h: Resolve F (Doc.align d✝) c i (MeasureSet.set ms h_not_empty)
alignm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
d₁✝, d₂✝: Doc
h: Resolve F (Doc.choice d₁✝ d₂✝) c i (MeasureSet.set ms h_not_empty)
choicem.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
s✝: String
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h_not_empty: [{ last := c + String.length s✝, cost := Factory.text F c (String.length s✝), doc := Doc.text s✝, x := c + String.length s✝, y := i }] ≠ []
text{ last := c + String.length s✝, cost := Factory.text F c (String.length s✝), doc := Doc.text s✝, x := c + String.length s✝, y := i }.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
s✝: String
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h_not_empty: [{ last := c + String.length s✝, cost := Factory.text F c (String.length s✝), doc := Doc.text s✝, x := c + String.length s✝, y := i }] ≠ []
textc + String.length s✝ ≤ F.WGoals accomplished! 🐙Goals accomplished! 🐙n: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: MeasureSet
h✝: Resolve F ih c (i + n✝) ms✝
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) ms✝
nestm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms': MeasureSet
h: Resolve F ih c (i + n✝) ms'
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) ms'm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
m✝: Meas
h: Resolve F ih c (i + n✝) (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.tainted m✝)
taintedm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)
setm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms': MeasureSet
h: Resolve F ih c (i + n✝) ms'
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) ms'm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
m✝: Meas
h: Resolve F ih c (i + n✝) (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.tainted m✝)m.last ≤ F.WGoals accomplished! 🐙n: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms': MeasureSet
h: Resolve F ih c (i + n✝) ms'
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) ms'm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
F: Factory n
c, i: ℕ
m: Meas
n✝: ℕ
ih✝: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c (i + n✝) (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_nest n✝) ms✝ ≠ []
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_nest n✝ a = m
m': Meas
h_left: m' ∈ ms✝
h_right: Meas.adjust_nest n✝ m' = m
ih: m'.last ≤ F.Wm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
F: Factory n
c, i: ℕ
m: Meas
n✝: ℕ
ih✝: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c (i + n✝) (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_nest n✝) ms✝ ≠ []
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_nest n✝ a = m
m': Meas
h_left: m' ∈ ms✝
h_right: { last := m'.last, cost := m'.cost, doc := Doc.nest n✝ m'.doc, x := m'.x, y := m'.y } = m
ih: m'.last ≤ F.Wm.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
F: Factory n
c, i, n✝: ℕ
ih✝: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c (i + n✝) (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_nest n✝) ms✝ ≠ []
m': Meas
h_left: m' ∈ ms✝
ih: m'.last ≤ F.W
last✝: ℕ
cost✝: n
doc✝: Doc
x✝, y✝: ℕ
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_nest n✝ a = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
h_right: { last := m'.last, cost := m'.cost, doc := Doc.nest n✝ m'.doc, x := m'.x, y := m'.y } = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
mk{ last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
F: Factory n
c, i, n✝: ℕ
ih✝: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c (i + n✝) (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_nest n✝) ms✝ ≠ []
m': Meas
h_left: m' ∈ ms✝
ih: m'.last ≤ F.W
last✝: ℕ
cost✝: n
doc✝: Doc
x✝, y✝: ℕ
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_nest n✝ a = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
h_right: m'.last = last✝ ∧ m'.cost = cost✝ ∧ Doc.nest n✝ m'.doc = doc✝ ∧ m'.x = x✝ ∧ m'.y = y✝
mklast✝ ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wn: Type
F: Factory n
c, i, n✝: ℕ
ih✝: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c (i + n✝) (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_nest n✝) ms✝ ≠ []
m': Meas
h_left: m' ∈ ms✝
ih: m'.last ≤ F.W
last✝: ℕ
cost✝: n
doc✝: Doc
x✝, y✝: ℕ
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_nest n✝ a = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
h_right: m'.last = last✝ ∧ m'.cost = cost✝ ∧ Doc.nest n✝ m'.doc = doc✝ ∧ m'.x = x✝ ∧ m'.y = y✝
mkm'.last ≤ F.Wn: Type
ms: List Meas
F: Factory n
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
n✝: ℕ
ih: Doc
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c (i + n✝) (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_nest n✝) (MeasureSet.set ms✝ h✝)m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
ms✝: MeasureSet
h✝: Resolve F ih c c ms✝
h_bad✝: i > F.W
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝)
align_taintm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
ms✝: MeasureSet
h✝: Resolve F ih c c ms✝
h_ok✝: i ≤ F.W
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) ms✝
alignm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
ms': MeasureSet
h: Resolve F ih c c ms'
h_ok✝: i ≤ F.W
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) ms'm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
m✝: Meas
h: Resolve F ih c c (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.tainted m✝)
taintedm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)
setm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
ms': MeasureSet
h: Resolve F ih c c ms'
h_ok✝: i ≤ F.W
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) ms'm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
m✝: Meas
h: Resolve F ih c c (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.tainted m✝)m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
ms': MeasureSet
h: Resolve F ih c c ms'
h_ok✝: i ≤ F.W
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) ms'm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_align i) ms✝ ≠ []
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_align i a = m
m': Meas
h_left: m' ∈ ms✝
h_right: Meas.adjust_align i m' = mm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih✝: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c c (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_align i) ms✝ ≠ []
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_align i a = m
m': Meas
h_left: m' ∈ ms✝
h_right: Meas.adjust_align i m' = m
ih: m'.last ≤ F.Wm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih✝: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c c (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_align i) ms✝ ≠ []
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_align i a = m
m': Meas
h_left: m' ∈ ms✝
h_right: { last := m'.last, cost := m'.cost, doc := Doc.align m'.doc, x := m'.x, y := max i m'.y } = m
ih: m'.last ≤ F.Wm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
ih✝: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c c (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_align i) ms✝ ≠ []
m': Meas
h_left: m' ∈ ms✝
ih: m'.last ≤ F.W
last✝: ℕ
cost✝: α✝
doc✝: Doc
x✝, y✝: ℕ
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_align i a = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
h_right: { last := m'.last, cost := m'.cost, doc := Doc.align m'.doc, x := m'.x, y := max i m'.y } = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
mk{ last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
ih✝: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c c (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_align i) ms✝ ≠ []
m': Meas
h_left: m' ∈ ms✝
ih: m'.last ≤ F.W
last✝: ℕ
cost✝: α✝
doc✝: Doc
x✝, y✝: ℕ
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_align i a = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
h_right: m'.last = last✝ ∧ m'.cost = cost✝ ∧ Doc.align m'.doc = doc✝ ∧ m'.x = x✝ ∧ max i m'.y = y✝
mklast✝ ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
ih✝: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih✝ c c (MeasureSet.set ms✝ h✝)
h_not_empty: List.map (Meas.adjust_align i) ms✝ ≠ []
m': Meas
h_left: m' ∈ ms✝
ih: m'.last ≤ F.W
last✝: ℕ
cost✝: α✝
doc✝: Doc
x✝, y✝: ℕ
h_in: ∃ a, a ∈ ms✝ ∧ Meas.adjust_align i a = { last := last✝, cost := cost✝, doc := doc✝, x := x✝, y := y✝ }
h_right: m'.last = last✝ ∧ m'.cost = cost✝ ∧ Doc.align m'.doc = doc✝ ∧ m'.x = x✝ ∧ max i m'.y = y✝
mkm'.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_ok✝: i ≤ F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.set ms✝ h✝)m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms✝: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms✝ ≠ []
h_in: m ∈ ms✝
ih: Doc
ms: MeasureSet
h: Resolve F ih c c ms
h_bad✝: i > F.W
h_meas: MeasureSet.set ms✝ h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_bad✝: i > F.W
m✝: Meas
h: Resolve F ih c c (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint (MeasureSet.tainted m✝))
taintedm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_bad✝: i > F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint (MeasureSet.set ms✝ h✝))
setm.last ≤ F.Wα✝: Type
ms✝: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms✝ ≠ []
h_in: m ∈ ms✝
ih: Doc
ms: MeasureSet
h: Resolve F ih c c ms
h_bad✝: i > F.W
h_meas: MeasureSet.set ms✝ h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih: Doc
h_bad✝: i > F.W
ms✝: List Meas
h✝: ms✝ ≠ []
h: Resolve F ih c c (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint (MeasureSet.set ms✝ h✝))m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
m✝: Meas
h_right: Resolve F ih₂ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)
taintedm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
ms✝: List Meas
h✝: ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h✝)
setm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
m✝: Meas
h_right: Resolve F ih₂ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
m✝: Meas
h_right: Resolve F ih₂ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
m✝: Meas
h_right: Resolve F ih₂ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.tainted m✝)m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
ms✝: List Meas
h_not_empty': ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h_not_empty')
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h_not_empty')m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝: List Meas
h_not_empty': ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h_not_empty')
m✝: Meas
h_left: Resolve F ih₁ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h_not_empty')
taintedm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h_not_empty')
setm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
ms✝: List Meas
h_not_empty': ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h_not_empty')
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h_not_empty')m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝: List Meas
h_not_empty': ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h_not_empty')
m✝: Meas
h_left: Resolve F ih₁ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h_not_empty')m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝: List Meas
h_not_empty': ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h_not_empty')
m✝: Meas
h_left: Resolve F ih₁ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h_not_empty')m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝: List Meas
h_not_empty': ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h_not_empty')
m✝: Meas
h_left: Resolve F ih₁ c i (MeasureSet.tainted m✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.tainted m✝) (MeasureSet.set ms✝ h_not_empty')m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms'': MeasureSet
h_left: Resolve F ih₁ c i ms''
ms✝: List Meas
h_not_empty': ms✝ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝ h_not_empty')
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F ms'' (MeasureSet.set ms✝ h_not_empty')m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h_not_empty')m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: ms = merge F (ms✝, ms✝¹)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h_not_empty')m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h_not_empty')m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
this: m ∈ ms✝ ∨ m ∈ ms✝¹m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h_not_empty')m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝¹: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝¹)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h✝: m ∈ ms✝
inlm.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝¹: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝¹)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h✝: m ∈ ms✝¹
inrm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h_not_empty')m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_meas: MeasureSet.set ms h_not_empty = MeasureSet.union F (MeasureSet.set ms✝ h✝) (MeasureSet.set ms✝¹ h_not_empty')m.last ≤ F.Wα✝: Type
F: Factory α✝
c, i: ℕ
m: Meas
ih₁, ih₂: Doc
ms✝¹: List Meas
h_not_empty': ms✝¹ ≠ []
h_right: Resolve F ih₂ c i (MeasureSet.set ms✝¹ h_not_empty')
ms✝: List Meas
h✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h✝)
h_not_empty: merge F (ms✝, ms✝¹) ≠ []
h_in: m ∈ merge F (ms✝, ms✝¹)
h_in': m ∈ ms✝¹m.last ≤ F.WGoals accomplished! 🐙α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left✝: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h✝: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
concat_setm.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)m.last ≤ F.Wα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
hResolveConcat F ?ms_in ?d ?i (MeasureSet.set ?ms ?h_not_empty)α✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
h_inm ∈ ?msα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
msList Measα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
ms_inList Measα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
dα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
iα✝: Type
ms: List Meas
F: Factory α✝
c, i: ℕ
m: Meas
h_not_empty: ms ≠ []
h_in: m ∈ ms
ih₁, d₂✝: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left: Resolve F ih₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right: ResolveConcat F ms✝ d₂✝ i (MeasureSet.set ms h_not_empty)
h_not_empty?ms ≠ []end termination_by ResolveConcatOne_last => (Goals accomplished! 🐙d.size,d: Doc1,1: ?m.351500) ResolveConcat_last => (0: ?m.35161d.size,d: Doc2,2: ?m.35592ms_in.length) Resolve_last => (ms_in: List Measd.size,d: Doc0,0: ?m.353960)0: ?m.35407