Skip to content

Commit 76a162d

Browse files
vihdzpplp127
andcommitted
feat(SetTheory/Ordinal/Exponential): characterization of a ^ b = 1 (leanprover-community#36891)
Used in the CGT repo. Co-authored-by: Aaron Liu <aaronliu2008@outlook.com>
1 parent 6fa6265 commit 76a162d

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

Mathlib/SetTheory/Ordinal/Exponential.lean

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,18 @@ theorem one_lt_opow {a b : Ordinal} : 1 < a ^ b ↔ 1 < a ∧ b ≠ 0 := by
150150
theorem one_lt_pow {a : Ordinal} {n : ℕ} : 1 < a ^ n ↔ 1 < a ∧ n ≠ 0 :=
151151
mod_cast one_lt_opow (b := n)
152152

153+
@[simp]
154+
theorem opow_eq_one_iff {a b : Ordinal} : a ^ b = 1 ↔ a = 1 ∨ b = 0 := by
155+
refine ⟨fun h ↦ ?_, by simp +contextual [or_imp]⟩
156+
contrapose! h
157+
obtain ha | ha := le_or_gt a 1
158+
· simp_all [le_one_iff]
159+
· simpa using ((opow_lt_opow_iff_right ha).2 h.2.pos).ne'
160+
161+
@[simp]
162+
theorem pow_eq_one_iff {a : Ordinal} {n : ℕ} : a ^ n = 1 ↔ a = 1 ∨ n = 0 :=
163+
mod_cast opow_eq_one_iff (b := n)
164+
153165
theorem isSuccLimit_opow {a b : Ordinal} (a1 : 1 < a) : IsSuccLimit b → IsSuccLimit (a ^ b) :=
154166
(isNormal_opow a1).map_isSuccLimit
155167

0 commit comments

Comments
 (0)