Skip to content

Commit 3752aa4

Browse files
Hagbmichaellee94
authored andcommitted
feat(Order/WellQuasiOrder): WellQuasiOrdered if onto homomorphous from a WellQuasiOrdered relation (leanprover-community#39787)
It is used in leanprover-community#39788 for proof of well foundedness of `MonomialOrder` when the index type is finite. The hypotheses can be further weaken once leanprover-community#38557 is merged.
1 parent dc8f138 commit 3752aa4

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

Mathlib/Order/WellQuasiOrder.lean

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,13 @@ theorem RelIso.wellQuasiOrdered_iff {α β} {r : α → α → Prop} {s : β →
113113
congr! with g a b
114114
simp [f.map_rel_iff]
115115

116+
theorem WellQuasiOrdered.of_surjective {α β} {r : α → α → Prop}
117+
{s : β → β → Prop} (h : WellQuasiOrdered r) (f : r →r s) (hf : Function.Surjective f) :
118+
WellQuasiOrdered s := by
119+
intro seq
120+
have ⟨_, _, hle, hr⟩ := h (Function.surjInv hf ∘ seq)
121+
exact ⟨_, _, hle, by simpa [Function.surjInv_eq] using f.map_rel hr⟩
122+
116123
/-- A typeclass for an order with a well-quasi-ordered `≤` relation.
117124
118125
Note that this is unlike `WellFoundedLT`, which instead takes a `<` relation. -/
@@ -178,6 +185,16 @@ theorem wellQuasiOrderedLE_iff :
178185
instance [WellQuasiOrderedLE α] [Preorder β] [WellQuasiOrderedLE β] : WellQuasiOrderedLE (α × β) :=
179186
⟨wellQuasiOrdered_le.prod wellQuasiOrdered_le⟩
180187

188+
theorem Monotone.wellQuasiOrderedLE_of_wellQuasiOrderedLE_of_surjective [Preorder β]
189+
[WellQuasiOrderedLE α] {f : α → β} (mono : Monotone f) (hf : Function.Surjective f) :
190+
WellQuasiOrderedLE β :=
191+
⟨wellQuasiOrdered_le.of_surjective ⟨_, (mono ·)⟩ hf⟩
192+
193+
theorem OrderHom.wellQuasiOrderedLE_of_wellQuasiOrderedLE_of_surjective [Preorder β]
194+
[WellQuasiOrderedLE α] (f : α →o β) (hf : Function.Surjective f) :
195+
WellQuasiOrderedLE β :=
196+
f.monotone.wellQuasiOrderedLE_of_wellQuasiOrderedLE_of_surjective hf
197+
181198
end Preorder
182199

183200
section LinearOrder

0 commit comments

Comments
 (0)