Flypitch.Colimit develops directed colimits for the concrete types used in the completeness
argument. It packages directed diagrams, their quotient colimits, and the universal maps needed
later for Henkin languages and their associated syntax.
- carrier : Type u
Instances For
theorem
Flypitch.colimit.trans
{D : directed_type}
{i j k : D.carrier}
(h₁ : D.rel i j)
(h₂ : D.rel j k)
:
D.rel i k
Instances For
@[reducible]
The directed type whose objects are natural numbers ordered by ≤.
Equations
Instances For
Equations
- Flypitch.colimit.termℕ' = Lean.ParserDescr.node `Flypitch.colimit.termℕ' 1024 (Lean.ParserDescr.symbol "ℕ'")
Instances For
Equations
Instances For
def
Flypitch.colimit.coproduct_of_directed_diagram
{D : directed_type}
(F : directed_diagram D)
:
Type (max u u_1)
Equations
- Flypitch.colimit.coproduct_of_directed_diagram F = ((a : D.carrier) × F.obj a)
Instances For
def
Flypitch.colimit.canonical_inclusion_coproduct
{D : directed_type}
{F : directed_diagram D}
(i : D.carrier)
:
F.obj i → coproduct_of_directed_diagram F
Equations
Instances For
Equations
Instances For
@[implicit_reducible]
Equations
- Flypitch.colimit.coproduct_setoid F = { r := Flypitch.colimit.germ_relation F, iseqv := ⋯ }
@[reducible, inline]
Equations
Instances For
Equations
Instances For
theorem
Flypitch.colimit.canonical_map_inj_of_transition_maps_inj
{D : directed_type}
{F : directed_diagram D}
(i : D.carrier)
(H : ∀ {i j : D.carrier} (h : D.rel i j), Function.Injective (F.mor h))
:
Equations
- Flypitch.colimit.cocone_of_colimit F = { vertex := Flypitch.colimit.colimit F, map := Flypitch.colimit.canonical_map, h_compat := ⋯ }
Instances For
Equations
- Flypitch.colimit.universal_map = Quotient.lift (fun (p : Flypitch.colimit.coproduct_of_directed_diagram F) => V.map p.fst p.snd) ⋯
Instances For
@[simp]
theorem
Flypitch.colimit.universal_map_property
{D : directed_type}
{F : directed_diagram D}
{V : cocone F}
(i : D.carrier)
(x : F.obj i)
:
theorem
Flypitch.colimit.universal_map_inj_of_components_inj
{D : directed_type}
{F : directed_diagram D}
{V : cocone F}
(h_inj : ∀ (i : D.carrier), Function.Injective (V.map i))
:
noncomputable def
Flypitch.colimit.germ_rep
{D : directed_type}
{F : directed_diagram D}
(a : colimit F)
:
(x : coproduct_of_directed_diagram F) ×' ⟦x⟧ = a
Equations
Instances For
@[simp]
theorem
Flypitch.colimit.canonical_map_quotient
{D : directed_type}
{F : directed_diagram D}
(a : coproduct_of_directed_diagram F)
:
@[simp]
theorem
Flypitch.colimit.eq_mor_of_same_fiber
{D : directed_type}
{F : directed_diagram D}
(a b : coproduct_of_directed_diagram F)
{z : colimit F}
(ha : Quotient.mk'' a = z)
(hb : Quotient.mk'' b = z)
(h_inj : ∀ (i : D.carrier), Function.Injective (canonical_map i))
(h_rel : D.rel a.fst b.fst)
:
theorem
Flypitch.colimit.eq_mor_of_same_fiber'
{D : directed_type}
{F : directed_diagram D}
(a_fst b_fst : D.carrier)
(a_snd : F.obj a_fst)
(b_snd : F.obj b_fst)
{z : colimit F}
(ha : Quotient.mk'' ⟨a_fst, a_snd⟩ = z)
(hb : Quotient.mk'' ⟨b_fst, b_snd⟩ = z)
(h_inj : ∀ (i : D.carrier), Function.Injective (canonical_map i))
(h_rel : D.rel a_fst b_fst)
:
@[reducible]
Equations
- Flypitch.colimit.push_to_sum_r x j = F.mor ⋯ x
Instances For
@[reducible]
Equations
- Flypitch.colimit.push_to_sum_l x i = F.mor ⋯ x
Instances For
theorem
Flypitch.colimit.same_fiber_as_push_to_r
{F : directed_diagram ℕ'}
{i : ℕ}
(x : F.obj i)
(j : ℕ)
:
theorem
Flypitch.colimit.same_fiber_as_push_to_l
{F : directed_diagram ℕ'}
{j : ℕ}
(x : F.obj j)
(i : ℕ)
: