Documentation

Lean.Meta.Tactic.Grind.Arith.CommRing.Proof

Returns a context of type RArray α containing the variables of the given ring. α is the type of the ring.

Equations
    Instances For

      Proof term for a Nullstellensatz certificate.

      A "pre" Nullstellensatz certificate. Recall that, given the hypotheses h₁ : lhs₁ = rhs₁ ... hₙ : lhsₙ = rhsₙ, a Nullstellensatz certificate is of the form

      q₁*(lhs₁ - rhs₁) + ... + qₙ*(lhsₙ - rhsₙ)
      

      Each hypothesis is an EqCnstr justified by a .core .. EqnCnstrProof. We dynamically associate them with unique indices based on the order we find them during traversal. For the other EqCnstrs we compute a "pre" certificate as a dense array containing q₁ ... qₙ needed to create the EqCnstr.

      We are assuming the number of hypotheses used to derive a conclusion is small and a dense array is a reasonable representation.

      • qs : Array Poly
      • d : Int

        We don't use rational coefficients in the polynomials. Thus, we need to track a denominator to justify the proof step div.

      Instances For
        Equations
          Instances For
            @[reducible, inline]
            Equations
              Instances For

                Returns the multiplier k for the input polynomial. See comment at PolyDerivation.step.

                Equations
                  Instances For

                    Given a pr, returns pr h₁ ... hₙ, where n is size nc.qhs.size, and hᵢs are the equalities in the certificate.

                    Equations
                      Instances For
                        @[irreducible]
                        Equations
                          Instances For

                            Alternative proof term construction where we generate a sub-term for each step in the derivation.

                            @[reducible, inline]
                            Equations
                              Instances For
                                Equations
                                  Instances For