2013-12-30 19:46:03 +00:00
|
|
|
|
Import kernel.
|
2013-12-30 11:29:20 +00:00
|
|
|
|
|
|
|
|
|
Variable Nat : Type.
|
|
|
|
|
Alias ℕ : Nat.
|
|
|
|
|
|
|
|
|
|
Builtin Nat::numeral.
|
|
|
|
|
|
2013-12-30 19:02:22 +00:00
|
|
|
|
Builtin Nat::add : Nat → Nat → Nat.
|
2013-12-30 11:29:20 +00:00
|
|
|
|
Infixl 65 + : Nat::add.
|
|
|
|
|
|
2013-12-30 19:02:22 +00:00
|
|
|
|
Builtin Nat::mul : Nat → Nat → Nat.
|
2013-12-30 11:29:20 +00:00
|
|
|
|
Infixl 70 * : Nat::mul.
|
|
|
|
|
|
2013-12-30 19:02:22 +00:00
|
|
|
|
Builtin Nat::le : Nat → Nat → Bool.
|
2013-12-30 11:29:20 +00:00
|
|
|
|
Infix 50 <= : Nat::le.
|
|
|
|
|
Infix 50 ≤ : Nat::le.
|
|
|
|
|
|
|
|
|
|
Definition Nat::ge (a b : Nat) := b ≤ a.
|
|
|
|
|
Infix 50 >= : Nat::ge.
|
|
|
|
|
Infix 50 ≥ : Nat::ge.
|
|
|
|
|
|
|
|
|
|
Definition Nat::lt (a b : Nat) := ¬ (a ≥ b).
|
|
|
|
|
Infix 50 < : Nat::lt.
|
|
|
|
|
|
|
|
|
|
Definition Nat::gt (a b : Nat) := ¬ (a ≤ b).
|
|
|
|
|
Infix 50 > : Nat::gt.
|
|
|
|
|
|
|
|
|
|
Definition Nat::id (a : Nat) := a.
|
|
|
|
|
Notation 55 | _ | : Nat::id.
|
|
|
|
|
|
|
|
|
|
SetOpaque Nat::ge true.
|
|
|
|
|
SetOpaque Nat::lt true.
|
|
|
|
|
SetOpaque Nat::gt true.
|
|
|
|
|
SetOpaque Nat::id true.
|