Theorems · Definition · logic and foundations
FirstOrder.Ring.compatibleRingOfRing
(R : Type u_2) →
[inst : Add R] →
[inst_1 : Mul R] → [inst_2 : Neg R] → [inst_3 : One R] → [inst_4 : Zero R] → FirstOrder.Ring.CompatibleRing RGiven a Type R with instances for each of the Ring operations, make a
Language.ring.Structure R instance, along with a proof that the operations given
by the Language.ring.Structure are the same as those given by the Add or Mul etc.
instances.
This definition can be used when applying a theorem about the model theory of rings
to a literal ring R, by writing let _ := compatibleRingOfRing R. After this, if,
for example, R is a field, then Lean will be able to find the instance for
Theory.field.Model R, and it will be possible to apply theorems about the model theory
of fields.
This is a def and not an instance, because the path
Ring => Language.ring.Structure => Ring cannot be made to
commute by definition
- Defined in
- Mathlib.ModelTheory.Algebra.Ring.Basic
- Cited by
- 3 results in Mathlib
- Foundations
- Depth 26 from the axioms · uses propext
Around this declaration
Dashed lines are statement dependencies; solid lines are citations in proofs.
Cites1
Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.
- FirstOrder.Ring.CompatibleRingstatement · cited by 27
Cited by3
Results whose statement or proof uses this declaration.
- ax_grothendieck_zeroLocusproof · cited by 1
- FirstOrder.ACF_models_genericPolyMapSurjOnOfInjOn_of_primeproof · cited by 1
- FirstOrder.Field.ACF_isSatisfiableproof · cited by 1