Built with
doc-gen4, running Lean4.
Bubbles (
) indicate interactive fragments: hover for details, tap to reveal contents.
Use
Ctrl+āCtrl+āto navigate,
Ctrl+š±ļøto focus.
On Mac, use
Cmdinstead of
Ctrl.
/-
Copyright (c) 2022 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
! This file was ported from Lean 3 source module algebra.order.positive.field
! leanprover-community/mathlib commit bbeb185db4ccee8ed07dc48449414ebfa39cb821
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathlib.Algebra.Order.Field.Basic
import Mathlib.Algebra.Order.Positive.Ring
/-!
# Algebraic structures on the set of positive numbers
In this file we prove that the set of positive elements of a linear ordered field is a linear
ordered commutative group.
-/
variable {K : Type _} [LinearOrderedField: Type ?u.548 ā Type ?u.548
LinearOrderedField K]
namespace Positive
instance Subtype.inv : Inv { x : K // 0 < x } :=
āØfun x => āØxā»Ā¹, inv_pos.2: ā {a b : Prop}, (a ā b) ā b ā a
2 x.2ā©ā©
@[simp]
theorem coe_inv (x : { x : K // 0 < x }) : āxā»Ā¹ = (xā»Ā¹ : K) :=
rfl: ā {α : Sort ?u.1015} {a : α}, a = a
rfl
#align positive.coe_inv Positive.coe_inv
instance : Pow: Type ?u.1051 ā Type ?u.1050 ā Type (max?u.1051?u.1050)
Pow { x : K // 0 < x } ⤠:=
āØfun x n => āØ(x: K) ^ n, zpow_pos_of_pos x.2 _ā©ā©
@[simp]
theorem coe_zpow: ā (x : { x // 0 < x }) (n : ā¤), ā(x ^ n) = āx ^ n
coe_zpow (x : { x : K // 0 < x }) (n : ā¤) : ā(x ^ n) = (x : K) ^ n :=
rfl: ā {α : Sort ?u.6334} {a : α}, a = a
rfl
#align positive.coe_zpow Positive.coe_zpow
instance : LinearOrderedCommGroup: Type ?u.6375 ā Type ?u.6375
LinearOrderedCommGroup { x : K // 0 < x } :=
{ Positive.Subtype.inv, Positive.linearOrderedCancelCommMonoid with
mul_left_inv := fun a => Subtype.ext: ā {α : Sort ?u.6826} {p : α ā Prop} {a1 a2 : { x // p x }}, āa1 = āa2 ā a1 = a2
Subtype.ext <| inv_mul_cancel a.2.ne' }
end Positive