pith. machine review for the scientific record. sign in
def

quotientEventMap

definition
show as:
view math explainer →
module
IndisputableMonolith.RecogGeom.Quotient
domain
RecogGeom
line
56 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.RecogGeom.Quotient on GitHub at line 56.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

  53/-! ## Event Map on Quotient -/
  54
  55/-- The event map factors through the quotient: R = R̄ ∘ π -/
  56def quotientEventMap : RecognitionQuotient r → E :=
  57  Quotient.lift r.R (fun _ _ h => h)
  58
  59/-- The quotient event map makes the diagram commute -/
  60theorem quotientEventMap_spec (c : C) :
  61    quotientEventMap r (recognitionQuotientMk r c) = r.R c := rfl
  62
  63/-- The quotient event map is injective -/
  64theorem quotientEventMap_injective :
  65    Function.Injective (quotientEventMap r) := by
  66  intro q₁ q₂ h
  67  obtain ⟨c₁, hc₁⟩ := Quotient.exists_rep q₁
  68  obtain ⟨c₂, hc₂⟩ := Quotient.exists_rep q₂
  69  simp only [← hc₁, ← hc₂] at h ⊢
  70  -- h : quotientEventMap r ⟦c₁⟧ = quotientEventMap r ⟦c₂⟧
  71  -- which means r.R c₁ = r.R c₂
  72  apply Quotient.sound
  73  exact h
  74
  75/-- The quotient is isomorphic to the image of R -/
  76noncomputable def quotient_equiv_image :
  77    RecognitionQuotient r ≃ Set.range r.R :=
  78  Equiv.ofBijective
  79    (fun q => ⟨quotientEventMap r q,
  80      Quotient.inductionOn q (fun c => ⟨c, rfl⟩)⟩)
  81    ⟨fun q₁ q₂ h => by
  82      simp only [Subtype.mk.injEq] at h
  83      exact quotientEventMap_injective r h,
  84     fun ⟨e, c, hc⟩ => ⟨recognitionQuotientMk r c, by simp [quotientEventMap_spec, hc]⟩⟩
  85
  86/-! ## Lifting Functions to Quotient -/