Documentation

BourbakiLean2.Order.WellOrderIso

theorem WellOrder.either_embeds (α : Type u_3) (β : Type u_4) [WellOrder α] [WellOrder β] :
(∃ (x : WellOrder.InitialSegment β), ∃ (f : αx.val), IsOrderIso f) ∃ (x : WellOrder.InitialSegment α), ∃ (f : x.valβ), IsOrderIso f
theorem WellOrder.segment_less_strictly_monotone {α : Type u_1} {β : Type u_2} [WellOrder α] [WellOrder β] {f g : αβ} (hdc : (f '' Set.univ).IsDownwardsClosed) (hf : Monotone f) (hg : StrictMonotone g) {x : α} :
f x g x
theorem WellOrder.segment_embedding_all_eq' {α : Type u_1} {β : Type u_2} [WellOrder α] [WellOrder β] {x y : WellOrder.InitialSegment α} {f : x.valβ} {g : y.valβ} (hs : x.val y.val) (hf : IsOrderIso f) (hg : IsOrderIso g) :
∃ (h : x = y), Eq.rec (motive := fun (x_1 : WellOrder.InitialSegment α) (h : x = x_1) => x_1.valβ) f h = g
theorem WellOrder.segment_embedding_all_eq {α : Type u_1} {β : Type u_2} [WellOrder α] [WellOrder β] {x y : WellOrder.InitialSegment α} {f : x.valβ} {g : y.valβ} (hf : IsOrderIso f) (hg : IsOrderIso g) :
∃ (h : x = y), Eq.rec (motive := fun (x_1 : WellOrder.InitialSegment α) (h : x = x_1) => x_1.valβ) f h = g
theorem WellOrder.into_segment_embedding_all_eq' {α : Type u_1} {β : Type u_2} [WellOrder α] [WellOrder β] {x y : WellOrder.InitialSegment β} {f : αx.val} {g : αy.val} (hs : x.val y.val) (hf : IsOrderIso f) (hg : IsOrderIso g) :
∃ (h : x = y), Eq.rec (motive := fun (x_1 : WellOrder.InitialSegment β) (h : x = x_1) => αx_1.val) f h = g
theorem WellOrder.into_segment_embedding_all_eq {α : Type u_1} {β : Type u_2} [WellOrder α] [WellOrder β] {x y : WellOrder.InitialSegment β} {f : αx.val} {g : αy.val} (hf : IsOrderIso f) (hg : IsOrderIso g) :
∃ (h : x = y), Eq.rec (motive := fun (x_1 : WellOrder.InitialSegment β) (h : x = x_1) => αx_1.val) f h = g
theorem WellOrder.segment_into_self_iso {α : Type u_1} [WellOrder α] {x : WellOrder.InitialSegment α} {f : x.valα} (h : IsOrderIso f) :
∃ (h : x = WellOrder.InitialSegment.univ), Eq.rec (motive := fun (x_1 : WellOrder.InitialSegment α) (h : x = x_1) => x_1.valα) f h = Subtype.val
theorem WellOrder.self_into_segment_iso {α : Type u_1} [WellOrder α] {x : WellOrder.InitialSegment α} {f : αx.val} (h : IsOrderIso f) :
∃ (h : x = WellOrder.InitialSegment.univ), Eq.rec (motive := fun (x_1 : WellOrder.InitialSegment α) (h : x = x_1) => αx_1.val) f h = fun (x : α) => x, True.intro
theorem WellOrder.iso_all_eq {α : Type u_1} {β : Type u_2} [WellOrder α] [WellOrder β] {f g : αβ} (hf : IsOrderIso f) (hg : IsOrderIso g) :
f = g
theorem WellOrder.iso_same_eq_id {α : Type u_1} [WellOrder α] {f : αα} (h : IsOrderIso f) :
f = id
theorem WellOrder.subset_iso_segment {α : Type u_1} [WellOrder α] {s : Set α} :
∃ (t : WellOrder.InitialSegment α), ∃ (f : st.val), IsOrderIso f