theorem
proved
composite_setoid_le_right
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.RecogGeom.ZornRefinement on GitHub at line 68.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
65 fun h => ((composite_setoid_iff r₁ r₂ _ _).mp h).1
66
67/-- **Refinement Right**: The composite setoid is at least as fine as r₂'s. -/
68theorem composite_setoid_le_right {E₁ E₂ : Type*}
69 (r₁ : Recognizer C E₁) (r₂ : Recognizer C E₂) :
70 recognizerSetoid (r₁ ⊗ r₂) ≤ recognizerSetoid r₂ :=
71 fun h => ((composite_setoid_iff r₁ r₂ _ _).mp h).2
72
73/-! ## Section 3: The Infimum (Meet) Property
74
75The composite setoid is the greatest lower bound (infimum) of the two
76component setoids in the lattice of setoids on C. -/
77
78/-- **Infimum Property**: The composite setoid is the greatest setoid
79 that is at least as fine as both r₁ and r₂. -/
80theorem composite_setoid_is_inf {E₁ E₂ : Type*}
81 (r₁ : Recognizer C E₁) (r₂ : Recognizer C E₂) :
82 -- (1) composite ≤ r₁
83 recognizerSetoid (r₁ ⊗ r₂) ≤ recognizerSetoid r₁ ∧
84 -- (2) composite ≤ r₂
85 recognizerSetoid (r₁ ⊗ r₂) ≤ recognizerSetoid r₂ ∧
86 -- (3) greatest: any s ≤ r₁ and s ≤ r₂ implies s ≤ composite
87 ∀ (s : Setoid C), s ≤ recognizerSetoid r₁ → s ≤ recognizerSetoid r₂ →
88 s ≤ recognizerSetoid (r₁ ⊗ r₂) := by
89 refine ⟨composite_setoid_le_left r₁ r₂, composite_setoid_le_right r₁ r₂, ?_⟩
90 intro s h₁ h₂ hs
91 exact (composite_setoid_iff r₁ r₂ _ _).mpr ⟨h₁ hs, h₂ hs⟩
92
93/-! ## Section 4: Refinement as a Preorder
94
95We define an explicit "is at least as fine as" relation on recognizers
96that works across different event types. -/
97
98/-- R₁ is *at least as fine as* R₂: whenever R₁ identifies two configurations,