Zulip Chat Archive
Stream: mathlib4
Topic: orders of set / add conditons
Yi.Yuan (Jan 21 2025 at 11:13):
import Mathlib
universe u v w
variable {ι : Type v} [OrderedAddCommMonoid ι]
/--For `σ` satisfying `SetLike σ A`, an increasing series of `F` in `σ` is filtration if
there is another series `F_lt` equal to the supremum of `F` with smaller index-/
class IsFiltration {A : Type u} {σ : Type*} [SetLike σ A](F : ι → σ) (F_lt : outParam <| ι → σ) : Prop where
mono {i j} : i ≤ j → F i ≤ F j
is_le {i} : i < j → F i ≤ F_lt j
is_sup (B : σ) (j : ι) : (∀ i < j, F i ≤ B) → F_lt j ≤ B
/- In fact `F_lt j = ⨆ i < j, F i`, the design of `F_lt` can handle different conditions in the
same structure, it avoid adding `CompleteLattice` to `σ`, also providing convenience when the index
is `ℤ`-/
variable {A : Type*} (σA : Type*) [SetLike σA A] {B : Type*} (σB : Type*) [SetLike σB B]
class SubmonoidClassHom (f : A → B) where
map : σA → σB
coe_map (x : σA) : f '' (x : Set A) = map x
comap : σB → σA/-I want to change `comap` and `coe_comap` to some weaker conditions-/
coe_comap (y : σB) : (comap y : Set A) = f ⁻¹' y
lemma IsFiltration_isSup (FA : ι → σA) (FA_lt : ι → σA) (f : A → B) [fil : IsFiltration FA FA_lt]
[SubmonoidClassHom σA σB f] (Sup : σB) (j : ι) : ∀ i < j, SubmonoidClassHom.map f (FA i) ≤ Sup →
((SubmonoidClassHom.map f (FA_lt j) : σB): Set B) ≤ (Sup : Set B) := by
intro i i_lt_j h
rw[← SubmonoidClassHom.coe_map <| FA_lt j]
refine Set.le_iff_subset.mpr <| Set.image_subset_iff.mpr ?_
have h : ∀ i < j, ↑(FA i) ≤ f ⁻¹' ↑Sup := by
intro i i_lt_j
have : f '' (FA i) ≤ Sup := by
have : ((SubmonoidClassHom.map f (FA i) : σB) : Set B) ≤ (Sup : Set B) := h i i_lt_j
rwa[← SubmonoidClassHom.coe_map <| FA i] at this
exact Set.le_iff_subset.mpr <| Set.image_subset_iff.mp this
/-How to finish the proof by using weaker conditions? -/
have : (SubmonoidClassHom.comap f Sup : σA) = f ⁻¹' Sup := SubmonoidClassHom.coe_comap Sup
rw[← this] at h ⊢
exact IsFiltration.is_sup (SubmonoidClassHom.comap f Sup : σA) j h
In mathmatics, we have two sets σA
and σB
of type A
and B
(It may be empty sets in lean!, so we add conditions to describ them) and f : A → B
, we need to add some conditions to describe σA
and σB
in order to proof : ∀ i < j, f (FA i) ≤ Sup → f (FA_lt j) ≤ Sup
the first and second condition in SubmonoidClassHom
is necessary to ensure f (FA i)
exist in σB
. Now, the question is how to weaker the third and fourth condition(comap
and coe_comap
)?
Last updated: May 02 2025 at 03:31 UTC