|
7 | 7 |
|
8 | 8 | public import Mathlib.Algebra.CharZero.Defs |
9 | 9 | public import Mathlib.Algebra.Group.Hom.Defs |
| 10 | +public import Mathlib.Algebra.Group.Equiv.Defs |
10 | 11 | public import Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE |
11 | 12 | public import Mathlib.Algebra.Order.ZeroLEOne |
12 | 13 | public import Mathlib.Order.WithBot |
@@ -708,3 +709,37 @@ protected def _root_.AddMonoidHom.withBotMap {M N : Type*} [AddZeroClass M] [Add |
708 | 709 | { ZeroHom.withBotMap f.toZeroHom, AddHom.withBotMap f.toAddHom with toFun := WithBot.map f } |
709 | 710 |
|
710 | 711 | end WithBot |
| 712 | + |
| 713 | +namespace AddEquiv |
| 714 | + |
| 715 | +variable {γ : Type*} [Add α] [Add β] [Add γ] (e e₁ : α ≃+ β) (e₂ : β ≃+ γ) |
| 716 | + |
| 717 | +/-- A `AddEquiv` version of `Equiv.withBotCongr`. -/ |
| 718 | +@[to_dual (attr := simps!) /-- A `AddEquiv` version of `Equiv.withTopCongr`. -/] |
| 719 | +def withBotCongr : WithBot α ≃+ WithBot β where |
| 720 | + __ := e.toEquiv.withBotCongr |
| 721 | + map_add' := e.toAddHom.withBotMap.map_add' |
| 722 | + |
| 723 | +@[to_dual (attr := simp)] |
| 724 | +lemma coe_withBotCongr : e.withBotCongr = WithBot.map e := rfl |
| 725 | + |
| 726 | +@[to_dual (attr := simp)] |
| 727 | +lemma withBotCongr_toEquiv : e.withBotCongr = (e : α ≃ β).withBotCongr := rfl |
| 728 | + |
| 729 | +@[to_dual (attr := simp)] |
| 730 | +lemma withBotCongr_toAddHom : e.withBotCongr = (e : AddHom α β).withBotMap := rfl |
| 731 | + |
| 732 | +@[to_dual (attr := simp)] |
| 733 | +lemma withBotCongr_refl : (AddEquiv.refl α).withBotCongr = AddEquiv.refl _ := |
| 734 | + AddEquiv.ext <| congr_fun WithBot.map_id |
| 735 | + |
| 736 | +@[to_dual (attr := simp)] |
| 737 | +theorem withBotCongr_symm : e.withBotCongr.symm = e.symm.withBotCongr := rfl |
| 738 | + |
| 739 | +@[to_dual (attr := simp)] |
| 740 | +theorem withBotCongr_trans : |
| 741 | + (e₁.trans e₂).withBotCongr = e₁.withBotCongr.trans e₂.withBotCongr := by |
| 742 | + ext x |
| 743 | + simp |
| 744 | + |
| 745 | +end AddEquiv |
0 commit comments