import Pretty.Supports.DocSize import Pretty.Defs.Resolve import Pretty.Claims.MeasRender /-! ## Determinism of resolving theorems -/ mutual /-- The determinism of resolving (Page 19, Section 5.6) -/ theoremResolve_deterministic (h₁ : Resolveh₁: Resolve F d c i ms₁FF: ?m.4dd: ?m.11cc: ?m.17ii: ?m.23ms₁) (ms₁: ?m.29h₂ : Resolveh₂: Resolve F d c i ms₂FF: ?m.4dd: ?m.11cc: ?m.17ii: ?m.23ms₂) :ms₂: ?m.39ms₁ =ms₁: ?m.29ms₂ :=ms₂: ?m.39Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
s✝: String
h₂: Resolve F (Doc.text s✝) c i ms₂
m✝: Meas
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
text_taintMeasureSet.tainted m✝ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
s✝: String
h₂: Resolve F (Doc.text s✝) c i ms₂
m✝: Meas
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
text_setMeasureSet.set [m✝] (_ : ¬[m✝] = []) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
text_taintα✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
text_setMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h₂: MeasRender F (Doc.text s✝) c i m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h₂: MeasRender F (Doc.text s✝) c i m✝
this: m✝¹ = m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h₂: MeasRender F (Doc.text s✝) c i m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h₂: MeasRender F (Doc.text s✝) c i m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h₂: MeasRender F (Doc.text s✝) c i m✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝MeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝¹: MeasRender F (Doc.text s✝) c i m✝
h✝: c + String.length s✝ > F.W
inlMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝¹: MeasRender F (Doc.text s✝) c i m✝
h✝: i > F.W
inrMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝MeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: c + String.length s✝ > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: ¬c + String.length s✝ ≤ F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: c + String.length s✝ > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝MeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: i > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: ¬i ≤ F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: i > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad✝: c + String.length s✝ > F.W ∨ i > F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
text_taintMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h✝: MeasRender F (Doc.text s✝) c i m✝
text_setMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h✝: MeasRender F (Doc.text s✝) c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝¹: MeasRender F (Doc.text s✝) c i m✝
h✝: c + String.length s✝ > F.W
inlMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝¹: MeasRender F (Doc.text s✝) c i m✝
h✝: i > F.W
inrMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h✝: MeasRender F (Doc.text s✝) c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: c + String.length s✝ > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: ¬c + String.length s✝ ≤ F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: c + String.length s✝ > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_bad: c + String.length s✝ > F.W ∨ i > F.W
h✝: MeasRender F (Doc.text s✝) c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: i > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: ¬i ≤ F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h✝: MeasRender F (Doc.text s✝) c i m✝
h_bad: i > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F (Doc.text s✝) c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F (Doc.text s✝) c i m✝
this: m✝¹ = m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F (Doc.text s✝) c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F (Doc.text s✝) c i m✝MeasureSet.set [m✝] (_ : ¬[m✝] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
s✝: String
m✝¹: Meas
h_c: c + String.length s✝ ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F (Doc.text s✝) c i m✝¹
m✝: Meas
h_c✝: c + String.length s✝ ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F (Doc.text s✝) c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
h₂: Resolve F Doc.nl c i ms₂
m✝: Meas
h_bad✝: c > F.W ∨ i > F.W
h✝: MeasRender F Doc.nl c i m✝
line_taintMeasureSet.tainted m✝ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
h₂: Resolve F Doc.nl c i ms₂
m✝: Meas
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
line_setMeasureSet.set [m✝] (_ : ¬[m✝] = []) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_bad: c > F.W ∨ i > F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_bad✝: c > F.W ∨ i > F.W
h✝: MeasRender F Doc.nl c i m✝
line_taintα✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_bad: c > F.W ∨ i > F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
line_setMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_bad: c > F.W ∨ i > F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝MeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝¹: MeasRender F Doc.nl c i m✝
h✝: c > F.W
inlMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝¹: MeasRender F Doc.nl c i m✝
h✝: i > F.W
inrMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_bad: c > F.W ∨ i > F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝MeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
h_bad: c > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
h_bad: ¬c ≤ F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
h_bad: c > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_bad: c > F.W ∨ i > F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝MeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
h_bad: i > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
h_bad: ¬i ≤ F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
h_bad: i > F.WMeasureSet.tainted m✝¹ = MeasureSet.set [m✝] (_ : ¬[m✝] = [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_bad✝: c > F.W ∨ i > F.W
h✝: MeasRender F Doc.nl c i m✝
line_taintMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h✝: MeasRender F Doc.nl c i m✝
line_setMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_bad: c > F.W ∨ i > F.W
h✝: MeasRender F Doc.nl c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝¹: MeasRender F Doc.nl c i m✝
h✝: c > F.W
inlMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝¹: MeasRender F Doc.nl c i m✝
h✝: i > F.W
inrMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_bad: c > F.W ∨ i > F.W
h✝: MeasRender F Doc.nl c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝: MeasRender F Doc.nl c i m✝
h_bad: c > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝: MeasRender F Doc.nl c i m✝
h_bad: ¬c ≤ F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝: MeasRender F Doc.nl c i m✝
h_bad: c > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_bad: c > F.W ∨ i > F.W
h✝: MeasRender F Doc.nl c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝: MeasRender F Doc.nl c i m✝
h_bad: i > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝: MeasRender F Doc.nl c i m✝
h_bad: ¬i ≤ F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h✝: MeasRender F Doc.nl c i m✝
h_bad: i > F.WMeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.tainted m✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F Doc.nl c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F Doc.nl c i m✝
this: m✝¹ = m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F Doc.nl c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F Doc.nl c i m✝MeasureSet.set [m✝] (_ : ¬[m✝] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
m✝¹: Meas
h_c: c ≤ F.W
h_i: i ≤ F.W
h₁: MeasRender F Doc.nl c i m✝¹
m✝: Meas
h_c✝: c ≤ F.W
h_i✝: i ≤ F.W
h₂: MeasRender F Doc.nl c i m✝MeasureSet.set [m✝¹] (_ : ¬[m✝¹] = []) = MeasureSet.set [m✝] (_ : ¬[m✝] = [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i, n: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c (i + n) ms✝¹
ms✝: MeasureSet
h✝: Resolve F d' c (i + n) ms✝
nestMeasureSet.lift (Meas.adjust_nest n) ms✝¹ = MeasureSet.lift (Meas.adjust_nest n) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i, n: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c (i + n) ms✝¹
ms✝: MeasureSet
h₂: Resolve F d' c (i + n) ms✝MeasureSet.lift (Meas.adjust_nest n) ms✝¹ = MeasureSet.lift (Meas.adjust_nest n) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i, n: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c (i + n) ms✝¹
ms✝: MeasureSet
h₂: Resolve F d' c (i + n) ms✝
this: ms✝¹ = ms✝MeasureSet.lift (Meas.adjust_nest n) ms✝¹ = MeasureSet.lift (Meas.adjust_nest n) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i, n: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c (i + n) ms✝¹
ms✝: MeasureSet
h₂: Resolve F d' c (i + n) ms✝MeasureSet.lift (Meas.adjust_nest n) ms✝¹ = MeasureSet.lift (Meas.adjust_nest n) ms✝MeasureSet.lift (Meas.adjust_nest n) ms✝ = MeasureSet.lift (Meas.adjust_nest n) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i, n: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c (i + n) ms✝¹
ms✝: MeasureSet
h₂: Resolve F d' c (i + n) ms✝MeasureSet.lift (Meas.adjust_nest n) ms✝¹ = MeasureSet.lift (Meas.adjust_nest n) ms✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d': Doc
h₂: Resolve F (Doc.align d') c i ms₂
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_bad✝: i > F.W
align_taintMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d': Doc
h₂: Resolve F (Doc.align d') c i ms₂
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_ok✝: i ≤ F.W
alignMeasureSet.lift (Meas.adjust_align i) ms✝ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c c ms✝¹
h_ok: i ≤ F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_bad✝: i > F.W
align_taintMeasureSet.lift (Meas.adjust_align i) ms✝¹ = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c c ms✝¹
h_ok: i ≤ F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_ok✝: i ≤ F.W
alignMeasureSet.lift (Meas.adjust_align i) ms✝¹ = MeasureSet.lift (Meas.adjust_align i) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c c ms✝¹
h_ok: i ≤ F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_bad: i > F.WMeasureSet.lift (Meas.adjust_align i) ms✝¹ = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c c ms✝¹
h_ok: i ≤ F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_bad: ¬i ≤ F.WMeasureSet.lift (Meas.adjust_align i) ms✝¹ = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c c ms✝¹
h_ok: i ≤ F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_bad: i > F.WMeasureSet.lift (Meas.adjust_align i) ms✝¹ = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝)Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h₁: Resolve F d' c c ms✝¹
h_ok: i ≤ F.W
ms✝: MeasureSet
h₂: Resolve F d' c c ms✝
h_ok✝: i ≤ F.WMeasureSet.lift (Meas.adjust_align i) ms✝¹ = MeasureSet.lift (Meas.adjust_align i) ms✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d': Doc
h₂: Resolve F (Doc.align d') c i ms₂
ms✝: MeasureSet
h: Resolve F d' c c ms✝
h_bad: i > F.WMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h: Resolve F d' c c ms✝¹
h_bad: i > F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_bad✝: i > F.W
align_taintMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝¹) = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h: Resolve F d' c c ms✝¹
h_bad: i > F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_ok✝: i ≤ F.W
alignMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝¹) = MeasureSet.lift (Meas.adjust_align i) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d': Doc
h₂: Resolve F (Doc.align d') c i ms₂
ms✝: MeasureSet
h: Resolve F d' c c ms✝
h_bad: i > F.WMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h: Resolve F d' c c ms✝¹
h_bad: i > F.W
ms✝: MeasureSet
h': Resolve F d' c c ms✝
h_bad✝: i > F.WMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝¹) = MeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝)Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d': Doc
h₂: Resolve F (Doc.align d') c i ms₂
ms✝: MeasureSet
h: Resolve F d' c c ms✝
h_bad: i > F.WMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h: Resolve F d' c c ms✝¹
h_bad: i > F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_ok✝: i ≤ F.WMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝¹) = MeasureSet.lift (Meas.adjust_align i) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h: Resolve F d' c c ms✝¹
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_ok✝: i ≤ F.W
h_bad: ¬i ≤ F.WMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝¹) = MeasureSet.lift (Meas.adjust_align i) ms✝α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d': Doc
ms✝¹: MeasureSet
h: Resolve F d' c c ms✝¹
h_bad: i > F.W
ms✝: MeasureSet
h✝: Resolve F d' c c ms✝
h_ok✝: i ≤ F.WMeasureSet.lift (Meas.adjust_align i) (MeasureSet.taint ms✝¹) = MeasureSet.lift (Meas.adjust_align i) ms✝Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₁: Resolve F (Doc.choice d₁ d₂) c i ms₁
h₂: Resolve F (Doc.choice d₁ d₂) c i ms₂ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₁: Resolve F (Doc.choice d₁ d₂) c i ms₁
h₂: Resolve F (Doc.choice d₁ d₂) c i ms₂ms₁ = ms₂Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₁: Resolve F (Doc.concat d₁ d₂) c i ms₁
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint✝: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right✝: Resolve F d₂ m✝.last i ms'✝
h_left✝: Resolve F d₁ c i (MeasureSet.tainted m✝)
concat_taintMeasureSet.tainted (Meas.concat F m✝ m'✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left✝: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h✝: ResolveConcat F ms✝ d₂ i ms₁
concat_setms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₁: Resolve F (Doc.concat d₁ d₂) c i ms₁
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₁: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₁: Resolve F d₂ m✝.last i ms'✝
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)MeasureSet.tainted (Meas.concat F m✝ m'✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝¹: Meas
ms'✝¹: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝¹ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝¹.last i ms'✝¹
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝¹)
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint✝: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right✝: Resolve F d₂ m✝.last i ms'✝
h_left✝: Resolve F d₁ c i (MeasureSet.tainted m✝)
concat_taintMeasureSet.tainted (Meas.concat F m✝¹ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d₁, d₂: Doc
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₁: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₁: Resolve F d₂ m✝.last i ms'✝
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left✝: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h✝: ResolveConcat F ms✝ d₂ i ms₂
concat_setMeasureSet.tainted (Meas.concat F m✝ m'✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₁: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₁: Resolve F d₂ m✝.last i ms'✝
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)MeasureSet.tainted (Meas.concat F m✝ m'✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝¹: Meas
ms'✝¹: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝¹ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝¹.last i ms'✝¹
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝¹)
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₂: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₂: Resolve F d₂ m✝.last i ms'✝
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)MeasureSet.tainted (Meas.concat F m✝¹ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝: Meas
ms'✝¹: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝¹ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝.last i ms'✝¹
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)
ms'✝: MeasureSet
m'✝: Meas
h_taint₂: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₂: Resolve F d₂ m✝.last i ms'✝
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)
reflMeasureSet.tainted (Meas.concat F m✝ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝¹: Meas
ms'✝¹: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝¹ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝¹.last i ms'✝¹
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝¹)
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₂: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₂: Resolve F d₂ m✝.last i ms'✝
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)MeasureSet.tainted (Meas.concat F m✝¹ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝: Meas
ms'✝: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝.last i ms'✝
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)
m'✝: Meas
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)
h_taint₂: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₂: Resolve F d₂ m✝.last i ms'✝
refl.reflMeasureSet.tainted (Meas.concat F m✝ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝¹: Meas
ms'✝¹: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝¹ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝¹.last i ms'✝¹
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝¹)
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₂: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₂: Resolve F d₂ m✝.last i ms'✝
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)MeasureSet.tainted (Meas.concat F m✝¹ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝: Meas
ms'✝: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝.last i ms'✝
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)
m'✝: Meas
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)
h_right₂: Resolve F d₂ m✝.last i ms'✝
h_taint₂: m'✝¹ = m'✝
refl.reflMeasureSet.tainted (Meas.concat F m✝ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
d₁, d₂: Doc
m✝¹: Meas
ms'✝¹: MeasureSet
m'✝¹: Meas
h_taint₁: MeasureSet.taint ms'✝¹ = MeasureSet.tainted m'✝¹
h_right₁: Resolve F d₂ m✝¹.last i ms'✝¹
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝¹)
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₂: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₂: Resolve F d₂ m✝.last i ms'✝
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)MeasureSet.tainted (Meas.concat F m✝¹ m'✝¹) = MeasureSet.tainted (Meas.concat F m✝ m'✝)Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₁: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₁: Resolve F d₂ m✝.last i ms'✝
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)MeasureSet.tainted (Meas.concat F m✝ m'✝) = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₂: MeasureSet
d₁, d₂: Doc
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₁: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₁: Resolve F d₂ m✝.last i ms'✝
h_left₁: Resolve F d₁ c i (MeasureSet.tainted m✝)
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₂: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h✝: ResolveConcat F ms✝ d₂ i ms₂MeasureSet.tainted (Meas.concat F m✝ m'✝) = ms₂Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₁: Resolve F (Doc.concat d₁ d₂) c i ms₁
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₁: ResolveConcat F ms✝ d₂ i ms₁ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁: MeasureSet
d₁, d₂: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₁: ResolveConcat F ms✝ d₂ i ms₁
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint✝: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right✝: Resolve F d₂ m✝.last i ms'✝
h_left✝: Resolve F d₁ c i (MeasureSet.tainted m✝)
concat_taintms₁ = MeasureSet.tainted (Meas.concat F m✝ m'✝)α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
ms✝¹: List Meas
h_non_empty✝¹: ms✝¹ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝¹ h_non_empty✝¹)
h_right₁: ResolveConcat F ms✝¹ d₂ i ms₁
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left✝: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h✝: ResolveConcat F ms✝ d₂ i ms₂
concat_setms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₁: ResolveConcat F ms✝ d₂ i ms₁ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁: MeasureSet
d₁, d₂: Doc
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₁: ResolveConcat F ms✝ d₂ i ms₁
m✝: Meas
ms'✝: MeasureSet
m'✝: Meas
h_taint₂: MeasureSet.taint ms'✝ = MeasureSet.tainted m'✝
h_right₂: Resolve F d₂ m✝.last i ms'✝
h_left₂: Resolve F d₁ c i (MeasureSet.tainted m✝)ms₁ = MeasureSet.tainted (Meas.concat F m✝ m'✝)Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
h₂: Resolve F (Doc.concat d₁ d₂) c i ms₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₁: ResolveConcat F ms✝ d₂ i ms₁ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
ms✝¹: List Meas
h_non_empty✝¹: ms✝¹ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝¹ h_non_empty✝¹)
h_right₁: ResolveConcat F ms✝¹ d₂ i ms₁
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₂: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₂: ResolveConcat F ms✝ d₂ i ms₂ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
ms✝: List Meas
h_non_empty✝¹: ms✝ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝¹)
h_right₁: ResolveConcat F ms✝ d₂ i ms₁
h_non_empty✝: ms✝ ≠ []
h_left₂: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₂: ResolveConcat F ms✝ d₂ i ms₂
reflms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
ms✝¹: List Meas
h_non_empty✝¹: ms✝¹ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝¹ h_non_empty✝¹)
h_right₁: ResolveConcat F ms✝¹ d₂ i ms₁
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₂: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₂: ResolveConcat F ms✝ d₂ i ms₂ms₁ = ms₂α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁: MeasureSet
d₁, d₂: Doc
ms✝: List Meas
h_non_empty✝¹: ms✝ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝¹)
h_right₁: ResolveConcat F ms✝ d₂ i ms₁
h_non_empty✝: ms✝ ≠ []
h_left₂: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₂: ResolveConcat F ms✝ d₂ i ms₁
refl.reflms₁ = ms₁α✝: Type
F: Factory α✝
d: Doc
c, i: ℕ
ms₁, ms₂: MeasureSet
d₁, d₂: Doc
ms✝¹: List Meas
h_non_empty✝¹: ms✝¹ ≠ []
h_left₁: Resolve F d₁ c i (MeasureSet.set ms✝¹ h_non_empty✝¹)
h_right₁: ResolveConcat F ms✝¹ d₂ i ms₁
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h_left₂: Resolve F d₁ c i (MeasureSet.set ms✝ h_non_empty✝)
h_right₂: ResolveConcat F ms✝ d₂ i ms₂ms₁ = ms₂Goals accomplished! 🐙theoremGoals accomplished! 🐙ResolveConcatOne_deterministic (ResolveConcatOne_deterministic: ∀ {α : Type} {F : Factory α} {d : Doc} {m : Meas} {i : ℕ} {msr₁ msr₂ : MeasureSet}, ResolveConcatOne F d m i msr₁ → ResolveConcatOne F d m i msr₂ → msr₁ = msr₂h₁ : ResolveConcatOneh₁: ResolveConcatOne F d m i msr₁FF: ?m.55dd: ?m.62mm: ?m.68ii: ?m.75msr₁) (msr₁: ?m.81h₂ : ResolveConcatOneh₂: ResolveConcatOne F d m i msr₂FF: ?m.55dd: ?m.62mm: ?m.68ii: ?m.75msr₂) :msr₂: ?m.91msr₁ =msr₁: ?m.81msr₂ :=msr₂: ?m.91Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₁, msr₂: MeasureSet
h₁: ResolveConcatOne F d m i msr₁
h₂: ResolveConcatOne F d m i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
m'✝: Meas
h✝: Resolve F d m.last i (MeasureSet.tainted m'✝)
taintedMeasureSet.tainted (Meas.concat F m m'✝) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h✝: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)
setMeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ []) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₁, msr₂: MeasureSet
h₁: ResolveConcatOne F d m i msr₁
h₂: ResolveConcatOne F d m i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
m'✝: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝)MeasureSet.tainted (Meas.concat F m m'✝) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
m'✝¹: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝¹)
m'✝: Meas
h✝: Resolve F d m.last i (MeasureSet.tainted m'✝)
taintedMeasureSet.tainted (Meas.concat F m m'✝¹) = MeasureSet.tainted (Meas.concat F m m'✝)α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
m'✝: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝)
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h✝: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)
setMeasureSet.tainted (Meas.concat F m m'✝) = MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ [])α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
m'✝: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝)MeasureSet.tainted (Meas.concat F m m'✝) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
m'✝¹: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝¹)
m'✝: Meas
h₂: Resolve F d m.last i (MeasureSet.tainted m'✝)MeasureSet.tainted (Meas.concat F m m'✝¹) = MeasureSet.tainted (Meas.concat F m m'✝)α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
m'✝: Meas
h₁, h₂: Resolve F d m.last i (MeasureSet.tainted m'✝)
reflMeasureSet.tainted (Meas.concat F m m'✝) = MeasureSet.tainted (Meas.concat F m m'✝)α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
m'✝¹: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝¹)
m'✝: Meas
h₂: Resolve F d m.last i (MeasureSet.tainted m'✝)MeasureSet.tainted (Meas.concat F m m'✝¹) = MeasureSet.tainted (Meas.concat F m m'✝)Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
m'✝: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝)MeasureSet.tainted (Meas.concat F m m'✝) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
m'✝: Meas
h₁: Resolve F d m.last i (MeasureSet.tainted m'✝)
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₂: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)MeasureSet.tainted (Meas.concat F m m'✝) = MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ [])Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₁, msr₂: MeasureSet
h₁: ResolveConcatOne F d m i msr₁
h₂: ResolveConcatOne F d m i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ []) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)
m'✝: Meas
h✝: Resolve F d m.last i (MeasureSet.tainted m'✝)
taintedMeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ []) = MeasureSet.tainted (Meas.concat F m m'✝)α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
ms✝¹: List Meas
h_non_empty✝¹: ms✝¹ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝¹ h_non_empty✝¹)
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h✝: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)
setMeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝¹)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝¹) ≠ []) = MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ [])α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ []) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)
m'✝: Meas
h₂: Resolve F d m.last i (MeasureSet.tainted m'✝)MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ []) = MeasureSet.tainted (Meas.concat F m m'✝)Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
msr₂: MeasureSet
h₂: ResolveConcatOne F d m i msr₂
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ []) = msr₂α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
ms✝¹: List Meas
h_non_empty✝¹: ms✝¹ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝¹ h_non_empty✝¹)
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₂: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝¹)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝¹) ≠ []) = MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ [])α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
ms✝: List Meas
h_non_empty✝¹: ms✝ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝¹)
h_non_empty✝: ms✝ ≠ []
h₂: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)
reflMeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ []) = MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ [])α✝: Type
F: Factory α✝
d: Doc
m: Meas
i: ℕ
ms✝¹: List Meas
h_non_empty✝¹: ms✝¹ ≠ []
h₁: Resolve F d m.last i (MeasureSet.set ms✝¹ h_non_empty✝¹)
ms✝: List Meas
h_non_empty✝: ms✝ ≠ []
h₂: Resolve F d m.last i (MeasureSet.set ms✝ h_non_empty✝)MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝¹)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝¹) ≠ []) = MeasureSet.set (dedup F (List.map (fun m' => Meas.concat F m m') ms✝)) (_ : dedup F (List.map (fun m' => Meas.concat F m m') ms✝) ≠ [])theoremGoals accomplished! 🐙ResolveConcat_deterministic {ResolveConcat_deterministic: ∀ {α : Type} {F : Factory α} {d : Doc} {i : ℕ} {msr₁ msr₂ : MeasureSet} {ms : List Meas}, ResolveConcat F ms d i msr₁ → ResolveConcat F ms d i msr₂ → msr₁ = msr₂ms : List Meas} (ms: List Meash₁ : ResolveConcath₁: ResolveConcat F ms d i msr₁FF: ?m.111msms: List Measdd: ?m.125ii: ?m.136msr₁) (msr₁: ?m.147h₂ : ResolveConcath₂: ResolveConcat F ms d i msr₂FF: ?m.111msms: List Measdd: ?m.125ii: ?m.136msr₂) :msr₂: ?m.162msr₁ =msr₁: ?m.147msr₂ :=msr₂: ?m.162Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
ms: List Meas
h₁: ResolveConcat F ms d i msr₁
h₂: ResolveConcat F ms d i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h₂: ResolveConcat F [m✝] d i msr₂
h_current✝: ResolveConcatOne F d m✝ i msr₁
onemsr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₂: MeasureSet
ms✝: List Meas
msr✝: MeasureSet
m✝: Meas
msr'✝: MeasureSet
h₂: ResolveConcat F (m✝ :: ms✝) d i msr₂
h_rest✝: ResolveConcat F ms✝ d i msr✝
h_current✝: ResolveConcatOne F d m✝ i msr'✝
consMeasureSet.union F msr'✝ msr✝ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
ms: List Meas
h₁: ResolveConcat F ms d i msr₁
h₂: ResolveConcat F ms d i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h₂: ResolveConcat F [m✝] d i msr₂
h_current✝: ResolveConcatOne F d m✝ i msr₁msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h₂: ResolveConcat F [m✝] d i msr₂
h_current✝: ResolveConcatOne F d m✝ i msr₁msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
onemsr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
msr✝, msr'✝: MeasureSet
h_current✝: ResolveConcatOne F d m✝ i msr'✝
h_rest✝: ResolveConcat F [] d i msr✝
consmsr₁ = MeasureSet.union F msr'✝ msr✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
onemsr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h₂: ResolveConcat F [m✝] d i msr₂
h_current✝: ResolveConcatOne F d m✝ i msr₁msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
h₁ResolveConcatOne ?F ?d ?m ?i msr₁α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
h₂ResolveConcatOne ?F ?d ?m ?i msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
FFactory α✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
dα✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
mMeasα✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
iα✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
h₁ResolveConcatOne ?F ?d ?m ?i msr₁α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
h₂ResolveConcatOne ?F ?d ?m ?i msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
FFactory α✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
dα✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
mMeasα✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂
iα✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
m✝: Meas
h_current✝¹: ResolveConcatOne F d m✝ i msr₁
h_current✝: ResolveConcatOne F d m✝ i msr₂msr₁ = msr₂Goals accomplished! 🐙α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₁, msr₂: MeasureSet
ms: List Meas
h₁: ResolveConcat F ms d i msr₁
h₂: ResolveConcat F ms d i msr₂msr₁ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₂: MeasureSet
ms✝: List Meas
msr✝: MeasureSet
m✝: Meas
msr'✝: MeasureSet
h₂: ResolveConcat F (m✝ :: ms✝) d i msr₂
h_rest₁: ResolveConcat F ms✝ d i msr✝
h_current₁: ResolveConcatOne F d m✝ i msr'✝MeasureSet.union F msr'✝ msr✝ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₂: MeasureSet
ms✝: List Meas
msr✝: MeasureSet
m✝: Meas
msr'✝: MeasureSet
h₂: ResolveConcat F (m✝ :: ms✝) d i msr₂
h_rest₁: ResolveConcat F ms✝ d i msr✝
h_current₁: ResolveConcatOne F d m✝ i msr'✝MeasureSet.union F msr'✝ msr✝ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₂, msr✝: MeasureSet
m✝: Meas
msr'✝: MeasureSet
h_current₁: ResolveConcatOne F d m✝ i msr'✝
h_rest₁: ResolveConcat F [] d i msr✝
h_current✝: ResolveConcatOne F d m✝ i msr₂
oneMeasureSet.union F msr'✝ msr✝ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
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'✝¹
msr✝, msr'✝: MeasureSet
h_current✝: ResolveConcatOne F d m✝ i msr'✝
h_rest✝: ResolveConcat F ms✝ d i msr✝
consMeasureSet.union F msr'✝¹ msr✝¹ = MeasureSet.union F msr'✝ msr✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
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'✝¹
msr✝, msr'✝: MeasureSet
h_current✝: ResolveConcatOne F d m✝ i msr'✝
h_rest✝: ResolveConcat F ms✝ d i msr✝
consMeasureSet.union F msr'✝¹ msr✝¹ = MeasureSet.union F msr'✝ msr✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
msr₂: MeasureSet
ms✝: List Meas
msr✝: MeasureSet
m✝: Meas
msr'✝: MeasureSet
h₂: ResolveConcat F (m✝ :: ms✝) d i msr₂
h_rest₁: ResolveConcat F ms✝ d i msr✝
h_current₁: ResolveConcatOne F d m✝ i msr'✝MeasureSet.union F msr'✝ msr✝ = msr₂α✝: Type
F: Factory α✝
d: Doc
i: ℕ
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'✝¹
msr✝, msr'✝: MeasureSet
h_current₂: ResolveConcatOne F d m✝ i msr'✝
h_rest₂: ResolveConcat F ms✝ d i msr✝MeasureSet.union F msr'✝¹ msr✝¹ = MeasureSet.union F msr'✝ msr✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
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'✝
msr✝: MeasureSet
h_rest₂: ResolveConcat F ms✝ d i msr✝
h_current₂: ResolveConcatOne F d m✝ i msr'✝
reflMeasureSet.union F msr'✝ msr✝¹ = MeasureSet.union F msr'✝ msr✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
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'✝¹
msr✝, msr'✝: MeasureSet
h_current₂: ResolveConcatOne F d m✝ i msr'✝
h_rest₂: ResolveConcat F ms✝ d i msr✝MeasureSet.union F msr'✝¹ msr✝¹ = MeasureSet.union F msr'✝ msr✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
ms✝: List Meas
msr✝: MeasureSet
m✝: Meas
msr'✝: MeasureSet
h_rest₁: ResolveConcat F ms✝ d i msr✝
h_current₁, h_current₂: ResolveConcatOne F d m✝ i msr'✝
h_rest₂: ResolveConcat F ms✝ d i msr✝
refl.reflMeasureSet.union F msr'✝ msr✝ = MeasureSet.union F msr'✝ msr✝α✝: Type
F: Factory α✝
d: Doc
i: ℕ
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'✝¹
msr✝, msr'✝: MeasureSet
h_current₂: ResolveConcatOne F d m✝ i msr'✝
h_rest₂: ResolveConcat F ms✝ d i msr✝MeasureSet.union F msr'✝¹ msr✝¹ = MeasureSet.union F msr'✝ msr✝end termination_by ResolveConcatOne_deterministic => (Goals accomplished! 🐙d.size,d: Doc1,1: ?m.510730) ResolveConcat_deterministic => (0: ?m.51080d.size,d: Doc2,2: ?m.50895ms.length) Resolve_deterministic => (ms: List Measd.size,d: Doc0,0: ?m.506680)0: ?m.50679