Documentation
Init.Data.Nat.Div
Google site search
Init.Data.Nat.Div
source
Imports
Init.WF
Init.WFTactics
Init.Data.Nat.Basic
Imported by
Init.Data.Nat
Init.Data.Repr
Init.Data.Fin.Basic
Init.Data.Int.Basic
Init.Data.Nat.Bitwise
Init.Data.Nat.Gcd
Init.Data.ToString.Basic
Nat.div_rec_lemma
Nat.div
Nat.instDivNat
Nat.div_eq
Nat.div.inductionOn
Nat.div_le_self
Nat.div_lt_self
Nat.mod
Nat.instModNat
Nat.mod_eq
Nat.mod.inductionOn
Nat.mod_zero
Nat.mod_eq_of_lt
Nat.mod_eq_sub_mod
Nat.mod_lt
Nat.mod_le
Nat.zero_mod
Nat.mod_self
Nat.mod_one
Nat.div_add_mod
source
theorem
Nat.div_rec_lemma
{x :
Nat
}
{y :
Nat
}
:
0
<
y
∧
y
≤
x
→
x
-
y
<
x
source
@[extern lean_nat_div]
def
Nat.div
(x :
Nat
)
(y :
Nat
)
:
Nat
Equations
Nat.div
x
y
=
if
0
<
y
∧
y
≤
x
then
Nat.div
(
x
-
y
)
y
+
1
else
0
source
instance
Nat.instDivNat
:
Div
Nat
Equations
Nat.instDivNat
=
{ div :=
Nat.div
}
source
theorem
Nat.div_eq
(x :
Nat
)
(y :
Nat
)
:
x
/
y
=
if
0
<
y
∧
y
≤
x
then
(
x
-
y
)
/
y
+
1
else
0
source
theorem
Nat.div.inductionOn
{motive :
Nat
→
Nat
→
Sort u
}
(x :
Nat
)
(y :
Nat
)
(ind :
(x y :
Nat
) →
0
<
y
∧
y
≤
x
→
motive
(
x
-
y
)
y
→
motive
x
y
)
(base :
(x y :
Nat
) →
¬
(
0
<
y
∧
y
≤
x
)
→
motive
x
y
)
:
motive
x
y
source
theorem
Nat.div_le_self
(n :
Nat
)
(k :
Nat
)
:
n
/
k
≤
n
source
theorem
Nat.div_lt_self
{n :
Nat
}
{k :
Nat
}
(hLtN :
0
<
n
)
(hLtK :
1
<
k
)
:
n
/
k
<
n
source
@[extern lean_nat_mod]
def
Nat.mod
(x :
Nat
)
(y :
Nat
)
:
Nat
Equations
Nat.mod
x
y
=
if
0
<
y
∧
y
≤
x
then
Nat.mod
(
x
-
y
)
y
else
x
source
instance
Nat.instModNat
:
Mod
Nat
Equations
Nat.instModNat
=
{ mod :=
Nat.mod
}
source
theorem
Nat.mod_eq
(x :
Nat
)
(y :
Nat
)
:
x
%
y
=
if
0
<
y
∧
y
≤
x
then
(
x
-
y
)
%
y
else
x
source
theorem
Nat.mod.inductionOn
{motive :
Nat
→
Nat
→
Sort u
}
(x :
Nat
)
(y :
Nat
)
(ind :
(x y :
Nat
) →
0
<
y
∧
y
≤
x
→
motive
(
x
-
y
)
y
→
motive
x
y
)
(base :
(x y :
Nat
) →
¬
(
0
<
y
∧
y
≤
x
)
→
motive
x
y
)
:
motive
x
y
source
theorem
Nat.mod_zero
(a :
Nat
)
:
a
%
0
=
a
source
theorem
Nat.mod_eq_of_lt
{a :
Nat
}
{b :
Nat
}
(h :
a
<
b
)
:
a
%
b
=
a
source
theorem
Nat.mod_eq_sub_mod
{a :
Nat
}
{b :
Nat
}
(h :
a
≥
b
)
:
a
%
b
=
(
a
-
b
)
%
b
source
theorem
Nat.mod_lt
(x :
Nat
)
{y :
Nat
}
:
y
>
0
→
x
%
y
<
y
source
theorem
Nat.mod_le
(x :
Nat
)
(y :
Nat
)
:
x
%
y
≤
x
source
@[simp]
theorem
Nat.zero_mod
(b :
Nat
)
:
0
%
b
=
0
source
@[simp]
theorem
Nat.mod_self
(n :
Nat
)
:
n
%
n
=
0
source
theorem
Nat.mod_one
(x :
Nat
)
:
x
%
1
=
0
source
theorem
Nat.div_add_mod
(m :
Nat
)
(n :
Nat
)
:
n
*
(
m
/
n
)
+
m
%
n
=
m
General documentation
index
Library
Init
Init.Control
Init.Control.Basic
Init.Control.EState
Init.Control.Except
Init.Control.ExceptCps
Init.Control.Id
Init.Control.Lawful
Init.Control.Option
Init.Control.Reader
Init.Control.State
Init.Control.StateCps
Init.Control.StateRef
Init.Data
Init.Data.Array
Init.Data.Array.Basic
Init.Data.Array.BasicAux
Init.Data.Array.BinSearch
Init.Data.Array.DecidableEq
Init.Data.Array.InsertionSort
Init.Data.Array.Mem
Init.Data.Array.QSort
Init.Data.Array.Subarray
Init.Data.ByteArray
Init.Data.ByteArray.Basic
Init.Data.Char
Init.Data.Char.Basic
Init.Data.Fin
Init.Data.Fin.Basic
Init.Data.FloatArray
Init.Data.FloatArray.Basic
Init.Data.Format
Init.Data.Format.Basic
Init.Data.Format.Instances
Init.Data.Format.Macro
Init.Data.Format.Syntax
Init.Data.Int
Init.Data.Int.Basic
Init.Data.List
Init.Data.List.Basic
Init.Data.List.BasicAux
Init.Data.List.Control
Init.Data.Nat
Init.Data.Nat.Basic
Init.Data.Nat.Bitwise
Init.Data.Nat.Control
Init.Data.Nat.Div
Init.Data.Nat.Gcd
Init.Data.Nat.Linear
Init.Data.Nat.Log2
Init.Data.Nat.SOM
Init.Data.Option
Init.Data.Option.Basic
Init.Data.Option.BasicAux
Init.Data.Option.Instances
Init.Data.String
Init.Data.String.Basic
Init.Data.String.Extra
Init.Data.ToString
Init.Data.ToString.Basic
Init.Data.ToString.Macro
Init.Data.AC
Init.Data.Array
Init.Data.Basic
Init.Data.ByteArray
Init.Data.Char
Init.Data.Fin
Init.Data.Float
Init.Data.FloatArray
Init.Data.Format
Init.Data.Hashable
Init.Data.Int
Init.Data.List
Init.Data.Nat
Init.Data.OfScientific
Init.Data.Option
Init.Data.Ord
Init.Data.Prod
Init.Data.Random
Init.Data.Range
Init.Data.Repr
Init.Data.Stream
Init.Data.String
Init.Data.ToString
Init.Data.UInt
Init.System
Init.System.FilePath
Init.System.IO
Init.System.IOError
Init.System.Platform
Init.System.ST
Init.Classical
Init.Coe
Init.Control
Init.Conv
Init.Core
Init.Data
Init.Fix
Init.Hints
Init.Meta
Init.Notation
Init.NotationExtra
Init.Prelude
Init.SimpLemmas
Init.SizeOf
Init.SizeOfLemmas
Init.System
Init.Tactics
Init.Util
Init.WF
Init.WFTactics
Socket
Socket.Basic
Socket.Init
Socket.SockAddr
Socket.Socket