@@ -769,6 +769,17 @@ lemma mem_lower_bounds_image (Ha : a ∈ lower_bounds s) :
769
769
f a ∈ lower_bounds (f '' s) :=
770
770
ball_image_of_ball (assume x H, Hf (Ha ‹x ∈ s›))
771
771
772
+ lemma image_upper_bounds_subset_upper_bounds_image (hf : monotone f) :
773
+ f '' upper_bounds s ⊆ upper_bounds (f '' s) :=
774
+ begin
775
+ rintro _ ⟨a, ha, rfl⟩,
776
+ exact hf.mem_upper_bounds_image ha,
777
+ end
778
+
779
+ lemma image_lower_bounds_subset_lower_bounds_image (hf : monotone f) :
780
+ f '' lower_bounds s ⊆ lower_bounds (f '' s) :=
781
+ @image_upper_bounds_subset_upper_bounds_image (order_dual α) (order_dual β) _ _ _ _ hf.dual
782
+
772
783
/-- The image under a monotone function of a set which is bounded above is bounded above. -/
773
784
lemma map_bdd_above (hf : monotone f) : bdd_above s → bdd_above (f '' s)
774
785
| ⟨C, hC⟩ := ⟨f C, hf.mem_upper_bounds_image hC⟩
@@ -842,38 +853,48 @@ lemma is_glb_prod [preorder α] [preorder β] {s : set (α × β)} (p : α × β
842
853
843
854
namespace order_iso
844
855
845
- variables [preorder α] [preorder β]
856
+ variables [preorder α] [preorder β] (f : α ≃o β)
857
+
858
+ lemma upper_bounds_image {s : set α} :
859
+ upper_bounds (f '' s) = f '' upper_bounds s :=
860
+ subset.antisymm
861
+ (λ x hx, ⟨f.symm x, λ y hy, f.le_symm_apply.2 (hx $ mem_image_of_mem _ hy), f.apply_symm_apply x⟩)
862
+ f.monotone.image_upper_bounds_subset_upper_bounds_image
863
+
864
+ lemma lower_bounds_image {s : set α} :
865
+ lower_bounds (f '' s) = f '' lower_bounds s :=
866
+ @upper_bounds_image (order_dual α) (order_dual β) _ _ f.dual _
846
867
847
- @[simp] lemma is_lub_image (f : α ≃o β) {s : set α} {x : β} :
868
+ @[simp] lemma is_lub_image {s : set α} {x : β} :
848
869
is_lub (f '' s) x ↔ is_lub s (f.symm x) :=
849
870
⟨λ h, is_lub.of_image (λ _ _, f.le_iff_le) ((f.apply_symm_apply x).symm ▸ h),
850
871
λ h, is_lub.of_image (λ _ _, f.symm.le_iff_le) $ (f.symm_image_image s).symm ▸ h⟩
851
872
852
- lemma is_lub_image' (f : α ≃o β) {s : set α} {x : α} :
873
+ lemma is_lub_image' {s : set α} {x : α} :
853
874
is_lub (f '' s) (f x) ↔ is_lub s x :=
854
875
by rw [is_lub_image, f.symm_apply_apply]
855
876
856
- @[simp] lemma is_glb_image (f : α ≃o β) {s : set α} {x : β} :
877
+ @[simp] lemma is_glb_image {s : set α} {x : β} :
857
878
is_glb (f '' s) x ↔ is_glb s (f.symm x) :=
858
879
f.dual.is_lub_image
859
880
860
- lemma is_glb_image' (f : α ≃o β) {s : set α} {x : α} :
881
+ lemma is_glb_image' {s : set α} {x : α} :
861
882
is_glb (f '' s) (f x) ↔ is_glb s x :=
862
883
f.dual.is_lub_image'
863
884
864
- @[simp] lemma is_lub_preimage (f : α ≃o β) {s : set β} {x : α} :
885
+ @[simp] lemma is_lub_preimage {s : set β} {x : α} :
865
886
is_lub (f ⁻¹' s) x ↔ is_lub s (f x) :=
866
887
by rw [← f.symm_symm, ← image_eq_preimage, is_lub_image]
867
888
868
- lemma is_lub_preimage' (f : α ≃o β) {s : set β} {x : β} :
889
+ lemma is_lub_preimage' {s : set β} {x : β} :
869
890
is_lub (f ⁻¹' s) (f.symm x) ↔ is_lub s x :=
870
891
by rw [is_lub_preimage, f.apply_symm_apply]
871
892
872
- @[simp] lemma is_glb_preimage (f : α ≃o β) {s : set β} {x : α} :
893
+ @[simp] lemma is_glb_preimage {s : set β} {x : α} :
873
894
is_glb (f ⁻¹' s) x ↔ is_glb s (f x) :=
874
895
f.dual.is_lub_preimage
875
896
876
- lemma is_glb_preimage' (f : α ≃o β) {s : set β} {x : β} :
897
+ lemma is_glb_preimage' {s : set β} {x : β} :
877
898
is_glb (f ⁻¹' s) (f.symm x) ↔ is_glb s x :=
878
899
f.dual.is_lub_preimage'
879
900
0 commit comments