Skip to content

Commit 5d3a9cd

Browse files
vihdzpBergschaf
authored andcommitted
feat: rangeSplitting f is strictly monotone when f is monotone (leanprover-community#39797)
1 parent 043acd4 commit 5d3a9cd

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

Mathlib/Data/Set/Image.lean

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -955,6 +955,11 @@ theorem preimage_rangeSplitting {f : α → β} (hf : Injective f) :
955955
(image_eq_preimage_of_inverse (rightInverse_rangeSplitting hf)
956956
(leftInverse_rangeSplitting f)).symm
957957

958+
theorem rangeSplitting_strictMono [LinearOrder α] [Preorder β] {f : α → β} (hf : Monotone f) :
959+
StrictMono (rangeSplitting f) := by
960+
refine fun x y h ↦ hf.reflect_lt ?_
961+
simpa [apply_rangeSplitting f]
962+
958963
theorem isCompl_range_some_none (α : Type*) : IsCompl (range (some : α → Option α)) {none} :=
959964
IsCompl.of_le (fun _ ⟨⟨_, ha⟩, (hn : _ = none)⟩ => Option.some_ne_none _ (ha.trans hn))
960965
fun x _ => Option.casesOn x (Or.inr rfl) fun _ => Or.inl <| mem_range_self _

0 commit comments

Comments
 (0)