lean2/tests/lean/run/prio_overloading.lean

16 lines
487 B
Text
Raw Normal View History

import algebra.group data.real
open nat
definition foo1 [instance] [priority 2] : inhabited nat := inhabited.mk 10
definition foo2 [instance] [priority 1] : inhabited nat := inhabited.mk 10
open algebra
definition foo3 [instance] [priority 1] : inhabited nat := inhabited.mk 10
definition foo4 [unfold 2 3] (a b c : nat) := a + b + c
definition natrec [recursor 4] {C : nat → Type} (H₁ : C 0) (H₂ : Π (n : nat), C n → C (succ n)) (n : nat) : C n :=
nat.rec_on n H₁ H₂