Commit 2025-07-04 09:20 789b5d30

View on Github →

feat(WithZero): exp : ℤ → ℤᵐ⁰, log : ℤᵐ⁰ → ℤ (#24977) In valuation theory, valuations have codomain {0} ∪ {e ^ n | n : ℤ}, which we can formalise as ℤₘ₀ := WithZero (Multiplicative ℤ). It is important to be able to talk about the maps n ↦ e ^ n and e ^ n ↦ n. We define these as exp : ℤ → ℤₘ₀ and log : ℤₘ₀ → ℤ with junk value log 0 = 0. Junkless versions are defined as expEquiv : ℤ ≃ ℤₘ₀ˣ and logEquiv : ℤₘ₀ˣ ≃ ℤ.

Estimated changes

added def WithZero.exp
added theorem WithZero.expEquiv_symm
added theorem WithZero.exp_add
added theorem WithZero.exp_log
added theorem WithZero.exp_neg
added theorem WithZero.exp_nsmul
added theorem WithZero.exp_sub
added theorem WithZero.exp_zero
added theorem WithZero.exp_zsmul
added def WithZero.log
added theorem WithZero.logEquiv_symm
added theorem WithZero.log_div
added theorem WithZero.log_exp
added theorem WithZero.log_inv
added theorem WithZero.log_mul
added theorem WithZero.log_one
added theorem WithZero.log_pow
added theorem WithZero.log_zero
added theorem WithZero.log_zpow