Documentation

Mathlib.FieldTheory.PerfectClosure

The perfect closure of a characteristic p ring #

Main definitions #

Main results #

Tags #

perfect ring, perfect closure

inductive PerfectClosure.R (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] :
โ„• ร— K โ†’ โ„• ร— K โ†’ Prop

PerfectClosure.R is the relation (n, x) โˆผ (n + 1, x ^ p) for n : โ„• and x : K. PerfectClosure K p is the quotient by this relation.

Instances For
    theorem PerfectClosure.r_iff (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (aโœ aโœยน : โ„• ร— K) :
    R K p aโœ aโœยน โ†” โˆƒ (n : โ„•) (x : K), aโœ = (n, x) โˆง aโœยน = (n + 1, (frobenius K p) x)
    def PerfectClosure (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] :

    The perfect closure is the smallest extension that makes frobenius surjective.

    Equations
      Instances For
        def PerfectClosure.mk (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : โ„• ร— K) :

        PerfectClosure.mk K p (n, x) for n : โ„• and x : K is an element of PerfectClosure K p, viewed as x ^ (p ^ -n). Every element of PerfectClosure K p is of this form (PerfectClosure.mk_surjective).

        Equations
          Instances For
            @[simp]
            theorem PerfectClosure.mk_succ_pow (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (m : โ„•) (x : K) :
            mk K p (m + 1, x ^ p) = mk K p (m, x)
            @[simp]
            theorem PerfectClosure.quot_mk_eq_mk (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : โ„• ร— K) :
            Quot.mk (R K p) x = mk K p x
            def PerfectClosure.liftOn {K : Type u} [CommRing K] {p : โ„•} [Fact (Nat.Prime p)] [CharP K p] {L : Type u_1} (x : PerfectClosure K p) (f : โ„• ร— K โ†’ L) (hf : โˆ€ (x y : โ„• ร— K), R K p x y โ†’ f x = f y) :
            L

            Lift a function โ„• ร— K โ†’ L to a function on PerfectClosure K p.

            Equations
              Instances For
                @[simp]
                theorem PerfectClosure.liftOn_mk {K : Type u} [CommRing K] {p : โ„•} [Fact (Nat.Prime p)] [CharP K p] {L : Type u_1} (f : โ„• ร— K โ†’ L) (hf : โˆ€ (x y : โ„• ร— K), R K p x y โ†’ f x = f y) (x : โ„• ร— K) :
                (mk K p x).liftOn f hf = f x
                theorem PerfectClosure.induction_on {K : Type u} [CommRing K] {p : โ„•} [Fact (Nat.Prime p)] [CharP K p] (x : PerfectClosure K p) {q : PerfectClosure K p โ†’ Prop} (h : โˆ€ (x : โ„• ร— K), q (mk K p x)) :
                q x
                @[simp]
                theorem PerfectClosure.mk_mul_mk (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x y : โ„• ร— K) :
                mk K p x * mk K p y = mk K p (x.1 + y.1, (โ‡‘(frobenius K p))^[y.1] x.2 * (โ‡‘(frobenius K p))^[x.1] y.2)
                @[simp]
                theorem PerfectClosure.mk_add_mk (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x y : โ„• ร— K) :
                mk K p x + mk K p y = mk K p (x.1 + y.1, (โ‡‘(frobenius K p))^[y.1] x.2 + (โ‡‘(frobenius K p))^[x.1] y.2)
                @[simp]
                theorem PerfectClosure.neg_mk (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : โ„• ร— K) :
                -mk K p x = mk K p (x.1, -x.2)
                @[simp]
                theorem PerfectClosure.mk_zero (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] :
                mk K p 0 = 0

                Prior to https://github.com/leanprover-community/mathlib4/pull/15862, this lemma was called mk_zero_zero. See mk_zero_right for the lemma used to be called mk_zero.

                @[simp]
                theorem PerfectClosure.mk_zero_right (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (n : โ„•) :
                mk K p (n, 0) = 0
                theorem PerfectClosure.R.sound (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (m n : โ„•) (x y : K) (H : (โ‡‘(frobenius K p))^[m] x = y) :
                mk K p (n, x) = mk K p (m + n, y)
                theorem PerfectClosure.mk_eq_iff (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x y : โ„• ร— K) :
                mk K p x = mk K p y โ†” โˆƒ (z : โ„•), (โ‡‘(frobenius K p))^[y.1 + z] x.2 = (โ‡‘(frobenius K p))^[x.1 + z] y.2
                @[simp]
                theorem PerfectClosure.mk_pow (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : โ„• ร— K) (n : โ„•) :
                mk K p x ^ n = mk K p (x.1, x.2 ^ n)
                theorem PerfectClosure.natCast (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (n x : โ„•) :
                โ†‘x = mk K p (n, โ†‘x)
                theorem PerfectClosure.intCast (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : โ„ค) :
                โ†‘x = mk K p (0, โ†‘x)
                theorem PerfectClosure.natCast_eq_iff (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x y : โ„•) :
                โ†‘x = โ†‘y โ†” โ†‘x = โ†‘y
                theorem PerfectClosure.frobenius_mk (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : โ„• ร— K) :
                (frobenius (PerfectClosure K p) p) (mk K p x) = mk K p (x.1, x.2 ^ p)

                Embedding of K into PerfectClosure K p

                Equations
                  Instances For
                    theorem PerfectClosure.of_apply (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : K) :
                    (of K p) x = mk K p (0, x)
                    @[simp]
                    theorem PerfectClosure.iterate_frobenius_mk (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (n : โ„•) (x : K) :
                    (โ‡‘(frobenius (PerfectClosure K p) p))^[n] (mk K p (n, x)) = (of K p) x
                    noncomputable def PerfectClosure.lift (K : Type u) [CommRing K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (L : Type v) [CommSemiring L] [CharP L p] [PerfectRing L p] :

                    Given a ring K of characteristic p and a perfect ring L of the same characteristic, any homomorphism K โ†’+* L can be lifted to PerfectClosure K p.

                    Equations
                      Instances For
                        theorem PerfectClosure.eq_iff (K : Type u) [CommRing K] [IsReduced K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x y : โ„• ร— K) :
                        mk K p x = mk K p y โ†” (โ‡‘(frobenius K p))^[y.1] x.2 = (โ‡‘(frobenius K p))^[x.1] y.2
                        @[simp]
                        theorem PerfectClosure.mk_inv (K : Type u) [Field K] (p : โ„•) [Fact (Nat.Prime p)] [CharP K p] (x : โ„• ร— K) :