f177082c3b
@avigad and @fpvandoorn, I changed the metaclasses names. They were not uniform: - The plural was used in some cases (e.g., [coercions]). - In other cases a cryptic name was used (e.g., [brs]). Now, I tried to use the attribute name as the metaclass name whenever possible. For example, we write definition foo [coercion] ... definition bla [forward] ... and open [coercion] nat open [forward] nat It is easier to remember and is uniform.
10 lines
286 B
Text
10 lines
286 B
Text
import data.int
|
|
open [coercion] [class] int
|
|
open [coercion] nat
|
|
|
|
definition lt1 (a b : int) := int.le (int.add a 1) b
|
|
infix `<` := lt1
|
|
infixl `+` := int.add
|
|
|
|
theorem lt_add_succ2 (a : int) (n : nat) : a < a + nat.succ n :=
|
|
int.le.intro (show a + 1 + n = a + nat.succ n, from sorry)
|