The read-only state of the RPowRing monad.
- ctx : Lean.Meta.Simp.Context
A basically empty simp context, passed to the
simptraversal inRPowRing.rewrite. A cleanup routine, which simplifies normalized polynomials to a more human-friendly format.
Instances For
Configuration for ring_nf.
the reducibility setting to use when comparing atoms for defeq
Instances For
Equations
Instances For
Equations
- Mathlib.Tactic.RPowRing.instBEqConfig.beq { red := a } { red := b } = (a == b)
- Mathlib.Tactic.RPowRing.instBEqConfig.beq x✝¹ x✝ = false
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Function elaborating RingNF.Config.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The monad for RingNF contains, in addition to the AtomM state,
a simp context for the main traversal and a simp function (which has another simp context)
to simplify normalized polynomials.
Instances For
A monomial, which is a product of powers of ExBase expressions,
terminated by a (nonzero) constant coefficient.
- atom
(id : ℕ)
(x : Q(ℝ))
: ExBase x
A coefficient
value, which must not be0.eis a raw rat cast. Ifvalueis not an integer, thenhypshould be a proof of(value.den : α) ≠ 0. - pow (id : ℕ) (x : Q(ℝ)) (h : Q(0 < «$x»)) (e : Q(ℝ)) : ExBase q(«$x» ^ «$e»)
Instances For
Equations
- (Mathlib.Tactic.RPowRing.ExBase.atom id e).id = id
- (Mathlib.Tactic.RPowRing.ExBase.pow id x_1 h e_2).id = id
Instances For
A monomial, which is a product of powers of ExBase expressions,
terminated by a (nonzero) constant coefficient.
- one : ExProd q(1)
A coefficient
value, which must not be0.eis a raw rat cast. Ifvalueis not an integer, thenhypshould be a proof of(value.den : α) ≠ 0. - mul {x b : Q(ℝ)} : ExBase x → ExProd b → ExProd q(«$x» * «$b»)
Instances For
Equations
Instances For
Multiplies two monomials va, vb together to get a normalized result monomial.
x * y = (x * y)(forx,ycoefficients)x * (b₁ * b₂) = b₁ * (b₂ * x)(forxcoefficient)(a₁ * a₂) * y = a₁ * (a₂ * y)(forycoefficient)(x ^ ea * a₂) * (x ^ eb * b₂) = x ^ (ea + eb) * (a₂ * b₂)(ifeaandebare identical except coefficient)(a₁ * a₂) * (b₁ * b₂) = a₁ * (a₂ * (b₁ * b₂))(ifa₁.lt b₁)(a₁ * a₂) * (b₁ * b₂) = b₁ * ((a₁ * a₂) * b₂)(if nota₁.lt b₁)
Equations
- One or more equations did not get rendered due to their size.
- Mathlib.Tactic.RPowRing.evalPow Mathlib.Tactic.RPowRing.ExProd.one e = some (q(⋯), { expr := q(1), val := Mathlib.Tactic.RPowRing.ExProd.one, proof := q(⋯) })
- Mathlib.Tactic.RPowRing.evalPow (Mathlib.Tactic.RPowRing.ExProd.mul (Mathlib.Tactic.RPowRing.ExBase.atom id x) vb) e = none
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Runs a tactic in the RingNF.M monad, given initial data:
s: a reference to the mutable state ofring, for persisting across calls. This ensures that atom ordering is used consistently.cfg: the configuration optionsx: the tactic to run
Equations
- One or more equations did not get rendered due to their size.
Instances For
Use rpow_ring to rewrite the main goal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Use rpow_ring to rewrite hypothesis h.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Simplification tactic for expressions in the language of commutative (semi)rings, which rewrites all ring expressions into a normal form.
rpow_ring!will use a more aggressive reducibility setting to identify atoms.rpow_ring (config := cfg)allows for additional configuration:red: the reducibility setting (overridden by!)recursive: if true,rpow_ringwill also recurse into atoms
rpow_ringworks as both a tactic and a conv tactic. In tactic mode,rpow_ring at hcan be used to rewrite in a hypothesis.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Simplification tactic for expressions in the language of commutative (semi)rings, which rewrites all ring expressions into a normal form.
rpow_ring!will use a more aggressive reducibility setting to identify atoms.rpow_ring (config := cfg)allows for additional configuration:red: the reducibility setting (overridden by!)recursive: if true,rpow_ringwill also recurse into atoms
rpow_ringworks as both a tactic and a conv tactic. In tactic mode,rpow_ring at hcan be used to rewrite in a hypothesis.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Simplification tactic for expressions in the language of commutative (semi)rings, which rewrites all ring expressions into a normal form.
rpow_ring!will use a more aggressive reducibility setting to identify atoms.rpow_ring (config := cfg)allows for additional configuration:red: the reducibility setting (overridden by!)recursive: if true,rpow_ringwill also recurse into atoms
rpow_ringworks as both a tactic and a conv tactic. In tactic mode,rpow_ring at hcan be used to rewrite in a hypothesis.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Elaborator for the rpow_ring tactic.
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.