15 lines
340 B
Text
15 lines
340 B
Text
class Zero'.{u} (α : Type u) where
|
||
zero : α
|
||
|
||
instance Zero'.toOfNat0 {α} [Zero' α] : OfNat α (nat_lit 0) where
|
||
ofNat := ‹Zero' α›.1
|
||
|
||
instance Nat.zero' : Zero' Nat where
|
||
zero := 0
|
||
|
||
example :
|
||
0 = if (b : Bool) then
|
||
(@OfNat.ofNat.{0} Nat 0 (@Zero'.toOfNat0.{0} Nat (Nat.zero')))
|
||
else
|
||
Nat.zero := by
|
||
simp
|