lean4-htt/tests/lean/run/3150.lean
Kim Morrison 196d899c02
feat: grind internal CommRing class (#7797)
This PR adds a monolithic `CommRing` class, for internal use by `grind`,
and includes instances for `Int`/`BitVec`/`IntX`/`UIntX`.
2025-04-03 08:30:19 +00:00

36 lines
813 B
Text

variable (R A : Type) [One R] [One A]
class OneHom where
toFun : R → A
map_one : toFun One.one = One.one
structure Subone where
mem : R → Prop
one_mem : mem One.one
structure Subalgebra [OneHom R A] : Type extends Subone A where
algebraMap_mem : ∀ r : R, mem (OneHom.toFun r)
one_mem := OneHom.map_one (R := R) (A := A) ▸ algebraMap_mem One.one
set_option pp.mvars false
/--
error: don't know how to synthesize placeholder
context:
R A : Type
inst✝² : One R
inst✝¹ : One A
inst✝ : OneHom R A
⊢ ∀ (r : R), ?_ R A _example (OneHom.toFun r)
---
error: don't know how to synthesize placeholder
context:
R A : Type
inst✝² : One R
inst✝¹ : One A
inst✝ : OneHom R A
⊢ A → Prop
-/
#guard_msgs in
example [OneHom R A] : Subalgebra R A where
mem := _
algebraMap_mem := _