Zulip Chat Archive

Stream: general

Topic: Non-Injectivity of Ordinal-limited Function


Ira Fesefeldt (Dec 01 2023 at 13:30):

I am trying to prove that a function defined on ordinals f : Ordinal → α is not injective in the first Order.Succ #α elements. However, I am a bit stuck there. I have something like:

variable (g: Ordinal  α)

def limitation : { i : Ordinal // i < (Cardinal.ord $ Order.succ #α)}  α := λ i => g i

lemma limitation_eq :  i, limitation g i = g i := by
  intro h; unfold limitation; exact rfl

lemma cardinal_no_max :   : Cardinal, ¬ IsMax  := by
  intro  h
  unfold IsMax at h; specialize h (le_of_lt $ Cardinal.cantor )
  exact not_lt_of_le h (Cardinal.cantor )

lemma limitation_not_injective: ¬ Injective (limitation g) := by
  intro h_inj
  have h₁ : Order.succ #α  #α := by apply Cardinal.mk_le_of_injective h_inj; sorry
  have h₂ : #α < Order.succ #α := Order.lt_succ_of_not_isMax (cardinal_no_max #α)
  exact not_le_of_lt h₂ h₁

However, Cardinal.mk_le_of_injective does not work since the domain and codomain live in different universes. Anyone maybe a pointer how to handle this?

Yaël Dillies (Dec 01 2023 at 13:58):

Use docs#Cardinal.lift_mk_le_lift_mk_of_injective instead


Last updated: Dec 20 2023 at 11:08 UTC