Skip to content
Rainbow docs menu

Reference · Natural numbers

rainbow.math.nat.infinite

Natural numberssrc/rainbow/math/nat/infinite.clj3 definitions, 7 theorems

Axiom-free Nat constructor discrimination, list bounds, and infinitude.

nat/predecessor

DefinitionSource, line 45

nat/predecessor :
  (x₁ : ℕ)
  → ℕ

ℕ = data/Nat

nat/strict-below

DefinitionSource, line 60

nat/strict-below :
  (x₁ x₂ : ℕ)
  → Prop

ℕ = data/Nat

list/nat-bound

DefinitionSource, line 74

list/nat-bound :
  (x₁ : List ℕ)
  → ℕ

List = data/Listℕ = data/Nat

nat/zero-not-successor

TheoremFor all inputsNo axiomsSource, line 105

nat/zero-not-successor :
  (value : ℕ)
  (h₁ : 0 = data/succ value)
  → proposition/falsity

= = equality/Eqℕ = data/Nat

nat/successor-injective

TheoremFor all inputsNo axiomsSource, line 118

nat/successor-injective :
  (left right : ℕ)
  (same : data/succ left = data/succ right)
  → left = right

= = equality/Eqℕ = data/Nat

nat/add-associative

TheoremFor all inputsNo axiomsSource, line 141

nat/add-associative :
  (left middle right : ℕ)
  → algebra/nat-add (algebra/nat-add left middle) right = algebra/nat-add left (algebra/nat-add middle right)

= = equality/Eqℕ = data/Nat

nat/add-commutative

TheoremFor all inputsNo axiomsSource, line 177

nat/add-commutative :
  (left right : ℕ)
  → algebra/nat-add left right = algebra/nat-add right left

= = equality/Eqℕ = data/Nat

nat/not-equal-successor-add

TheoremFor all inputsNo axiomsSource, line 232

nat/not-equal-successor-add :
  (value extra : ℕ)
  (h₁ : value = data/succ (algebra/nat-add value extra))
  → proposition/falsity

= = equality/Eqℕ = data/Nat

list/member-strictly-below-nat-bound

TheoremFor all inputsNo axiomsSource, line 268

list/member-strictly-below-nat-bound :
  (enumeration : List ℕ) (value : ℕ) (member : list/membership ℕ enumeration value)
  → nat/strict-below value (list/nat-bound enumeration)

List = data/Listℕ = data/Nat

type/infinite-nat

TheoremWorked exampleNo axiomsSource, line 380

type/infinite-nat :
  → type/infinite ℕ

ℕ = data/Nat