Documentation

Lean.Meta.Tactic.Grind.Arith.CommRing.RingM

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        • ringId : Nat
        • checkCoeffDvd : Bool

          If checkCoeffDvd is true, then when using a polynomial k*m - p to simplify .. + k'*m*m_2 + ..., the substitution is performed IF

          • k divides k', OR
          • Ring implements NoNatZeroDivisors.

          We need this check when simplifying disequalities. In this case, if we perform the simplification anyway, we may end up with a proof that k * q = 0, but we cannot deduce q = 0 since the ring does not implement NoNatZeroDivisors See comment at PolyDerivation.

          We also need it when destructively simplifying equations, i.e., when replacing an equation with its simplified form (EqCnstr.simplify and EqCnstr.simplifyBasis): the rewrite multiplies the equation by k₁ = k/gcd k k', and the result is weaker than the original equation when k₁ ≠ ±1. See Note at EqCnstr.simplify.

        Instances For
          @[reducible, inline]

          We don't want to keep carrying the RingId around.

          Equations
          Instances For
            @[reducible, inline]
            abbrev Lean.Meta.Grind.Arith.CommRing.RingM.run {α : Type} (ringId : Nat) (x : RingM α) :
            Equations
            Instances For
              @[reducible, inline]
              Equations
              Instances For
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[instance_reducible]
                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[reducible, inline]
                    Equations
                    Instances For

                      Returns some c if the current ring has a nonzero characteristic c.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Returns some (charInst, c) if the current ring has a nonzero characteristic c.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Returns true if the current ring satisfies the property

                          ∀ (k : Nat) (a : α), k ≠ 0 → OfNat.ofNat (α := α) k * a = 0 → a = 0
                          
                          Equations
                          Instances For

                            Returns true if the current ring has a IsCharP instance.

                            Equations
                            Instances For

                              Returns the pair (charInst, c). If the ring does not have a IsCharP instance, then throws internal error.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  Instances
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For