Search for blocks/addresses/...
Proofgold Asset
asset id
a81bf1d19a12f6fd9d4839d9d2bb86c86e71428339d8ec8b17c41ead7d69b635
asset hash
77d99d5294c7b43e7465b3503c58e348b600cfd3c806f1acde56fa1acec0c0c8
bday / block
29423
tx
33c6f..
preasset
doc published by
Pr5Zc..
Theorem
4f733..
:
∀ x0 :
ι → ο
.
∀ x1 x2 :
ι →
ι → ι
.
(
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x0
(
x1
x3
x4
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
(
x1
x3
x4
)
x5
=
x1
(
x2
x3
x5
)
(
x2
x4
x5
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
x3
(
x1
x4
x5
)
=
x1
(
x2
x3
x4
)
(
x2
x3
x5
)
)
⟶
∀ x3 x4 x5 x6 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x0
x6
⟶
x2
(
x1
x3
x4
)
(
x1
x5
x6
)
=
x1
(
x1
(
x2
x3
x5
)
(
x2
x3
x6
)
)
(
x1
(
x2
x4
x5
)
(
x2
x4
x6
)
)
(proof)
Theorem
be839..
:
∀ x0 :
ι → ο
.
∀ x1 x2 :
ι →
ι → ι
.
(
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x0
(
x1
x3
x4
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
(
x1
x3
x4
)
x5
=
x1
(
x2
x3
x5
)
(
x2
x4
x5
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
x3
(
x1
x4
x5
)
=
x1
(
x2
x3
x4
)
(
x2
x3
x5
)
)
⟶
(
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x0
(
x2
x3
x4
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x1
(
x1
x3
x4
)
x5
=
x1
x3
(
x1
x4
x5
)
)
⟶
∀ x3 x4 x5 x6 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x0
x6
⟶
x2
(
x1
x3
x4
)
(
x1
x5
x6
)
=
x1
(
x2
x3
x5
)
(
x1
(
x2
x3
x6
)
(
x1
(
x2
x4
x5
)
(
x2
x4
x6
)
)
)
(proof)
Param
ordsucc
ordsucc
:
ι
→
ι
Theorem
9f06e..
:
∀ x0 :
ι → ο
.
∀ x1 x2 :
ι →
ι → ι
.
(
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x0
(
x1
x3
x4
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
(
x1
x3
x4
)
x5
=
x1
(
x2
x3
x5
)
(
x2
x4
x5
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
x3
(
x1
x4
x5
)
=
x1
(
x2
x3
x4
)
(
x2
x3
x5
)
)
⟶
(
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x0
(
x2
x3
x4
)
)
⟶
(
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x2
x3
x4
=
x2
x4
x3
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x1
(
x1
x3
x4
)
(
x1
x4
x5
)
=
x1
x3
(
x1
(
x2
2
x4
)
x5
)
)
⟶
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x2
(
x1
x3
x4
)
(
x1
x3
x4
)
=
x1
(
x2
x3
x3
)
(
x1
(
x2
2
(
x2
x3
x4
)
)
(
x2
x4
x4
)
)
(proof)
Theorem
75e74..
:
∀ x0 :
ι → ο
.
∀ x1 x2 :
ι →
ι → ι
.
(
∀ x3 x4 .
x0
x3
⟶
x0
x4
⟶
x0
(
x1
x3
x4
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
(
x1
x3
x4
)
x5
=
x1
(
x2
x3
x5
)
(
x2
x4
x5
)
)
⟶
(
∀ x3 x4 x5 .
x0
x3
⟶
x0
x4
⟶
x0
x5
⟶
x2
x3
(
x1
x4
x5
)
=
x1
(
x2
x3
x4
)
(
x2
x3
x5
)
)
⟶
∀ x3 :
ι → ι
.
(
∀ x4 .
x0
x4
⟶
x0
(
x3
x4
)
)
⟶
(
∀ x4 x5 .
x0
x4
⟶
x0
x5
⟶
x0
(
x2
x4
x5
)
)
⟶
(
∀ x4 x5 .
x0
x4
⟶
x0
x5
⟶
x2
x4
x5
=
x2
x5
x4
)
⟶
(
∀ x4 x5 .
x0
x4
⟶
x0
x5
⟶
x2
x4
(
x3
x5
)
=
x3
(
x2
x4
x5
)
)
⟶
(
∀ x4 x5 x6 .
x0
x4
⟶
x0
x5
⟶
x0
x6
⟶
x1
(
x1
x4
(
x3
x5
)
)
(
x1
x5
x6
)
=
x1
x4
x6
)
⟶
∀ x4 x5 .
x0
x4
⟶
x0
x5
⟶
x2
(
x1
x4
x5
)
(
x1
x4
(
x3
x5
)
)
=
x1
(
x2
x4
x4
)
(
x3
(
x2
x5
x5
)
)
(proof)
Param
nat_p
nat_p
:
ι
→
ο
Param
add_nat
add_nat
:
ι
→
ι
→
ι
Definition
or
or
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x2
)
⟶
(
x1
⟶
x2
)
⟶
x2
Definition
and
and
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x1
⟶
x2
)
⟶
x2
Known
nat_ind
nat_ind
:
∀ x0 :
ι → ο
.
x0
0
⟶
(
∀ x1 .
nat_p
x1
⟶
x0
x1
⟶
x0
(
ordsucc
x1
)
)
⟶
∀ x1 .
nat_p
x1
⟶
x0
x1
Known
add_nat_0R
add_nat_0R
:
∀ x0 .
add_nat
x0
0
=
x0
Definition
False
False
:=
∀ x0 : ο .
x0
Known
FalseE
FalseE
:
False
⟶
∀ x0 : ο .
x0
Known
neq_ordsucc_0
neq_ordsucc_0
:
∀ x0 .
ordsucc
x0
=
0
⟶
∀ x1 : ο .
x1
Known
add_nat_SR
add_nat_SR
:
∀ x0 x1 .
nat_p
x1
⟶
add_nat
x0
(
ordsucc
x1
)
=
ordsucc
(
add_nat
x0
x1
)
Known
add_nat_SL
add_nat_SL
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
add_nat
(
ordsucc
x0
)
x1
=
ordsucc
(
add_nat
x0
x1
)
Known
7be16..
:
∀ x0 :
ι → ο
.
x0
0
⟶
x0
1
⟶
(
∀ x1 .
nat_p
x1
⟶
x0
(
ordsucc
(
ordsucc
x1
)
)
)
⟶
∀ x1 .
nat_p
x1
⟶
x0
x1
Known
neq_0_ordsucc
neq_0_ordsucc
:
∀ x0 .
0
=
ordsucc
x0
⟶
∀ x1 : ο .
x1
Known
ordsucc_inj
ordsucc_inj
:
∀ x0 x1 .
ordsucc
x0
=
ordsucc
x1
⟶
x0
=
x1
Known
orIR
orIR
:
∀ x0 x1 : ο .
x1
⟶
or
x0
x1
Known
andI
andI
:
∀ x0 x1 : ο .
x0
⟶
x1
⟶
and
x0
x1
Known
nat_inv
nat_inv
:
∀ x0 .
nat_p
x0
⟶
or
(
x0
=
0
)
(
∀ x1 : ο .
(
∀ x2 .
and
(
nat_p
x2
)
(
x0
=
ordsucc
x2
)
⟶
x1
)
⟶
x1
)
Known
orIL
orIL
:
∀ x0 x1 : ο .
x0
⟶
or
x0
x1
Param
ordinal
ordinal
:
ι
→
ο
Known
ordinal_ordsucc_In
ordinal_ordsucc_In
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordsucc
x1
∈
ordsucc
x0
Known
nat_p_ordinal
nat_p_ordinal
:
∀ x0 .
nat_p
x0
⟶
ordinal
x0
Known
nat_ordsucc
nat_ordsucc
:
∀ x0 .
nat_p
x0
⟶
nat_p
(
ordsucc
x0
)
Definition
Subq
Subq
:=
λ x0 x1 .
∀ x2 .
x2
∈
x0
⟶
x2
∈
x1
Known
ordsuccI1
ordsuccI1
:
∀ x0 .
x0
⊆
ordsucc
x0
Known
In_2_3
In_2_3
:
2
∈
3
Theorem
a7fcd..
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
ordsucc
x1
=
add_nat
x0
x0
⟶
or
(
x0
∈
x1
)
(
and
(
x1
=
1
)
(
x0
=
1
)
)
(proof)
Param
mul_nat
mul_nat
:
ι
→
ι
→
ι
Known
mul_nat_SR
mul_nat_SR
:
∀ x0 x1 .
nat_p
x1
⟶
mul_nat
x0
(
ordsucc
x1
)
=
add_nat
x0
(
mul_nat
x0
x1
)
Known
nat_1
nat_1
:
nat_p
1
Known
mul_nat_1R
mul_nat_1R
:
∀ x0 .
mul_nat
x0
1
=
x0
Known
nat_0
nat_0
:
nat_p
0
Known
cases_2
cases_2
:
∀ x0 .
x0
∈
2
⟶
∀ x1 :
ι → ο
.
x1
0
⟶
x1
1
⟶
x1
x0
Known
mul_nat_0R
mul_nat_0R
:
∀ x0 .
mul_nat
x0
0
=
0
Known
In_1_4
In_1_4
:
1
∈
4
Known
In_2_4
In_2_4
:
2
∈
4
Known
mul_nat_SL
mul_nat_SL
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
mul_nat
(
ordsucc
x0
)
x1
=
add_nat
(
mul_nat
x0
x1
)
x1
Known
ordsuccE
ordsuccE
:
∀ x0 x1 .
x1
∈
ordsucc
x0
⟶
or
(
x1
∈
x0
)
(
x1
=
x0
)
Known
add_nat_Subq_L
add_nat_Subq_R
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
x0
⊆
add_nat
x0
x1
Known
add_nat_com
add_nat_com
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
add_nat
x0
x1
=
add_nat
x1
x0
Known
add_nat_p
add_nat_p
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
nat_p
(
add_nat
x0
x1
)
Known
ordsuccI2
ordsuccI2
:
∀ x0 .
x0
∈
ordsucc
x0
Known
mul_nat_p
mul_nat_p
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
nat_p
(
mul_nat
x0
x1
)
Theorem
87731..
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
ordsucc
(
ordsucc
x0
)
⟶
ordsucc
(
mul_nat
x1
x1
)
∈
mul_nat
(
ordsucc
(
ordsucc
x0
)
)
(
ordsucc
(
ordsucc
x0
)
)
(proof)
Definition
not
not
:=
λ x0 : ο .
x0
⟶
False
Definition
nIn
nIn
:=
λ x0 x1 .
not
(
x0
∈
x1
)
Known
EmptyE
EmptyE
:
∀ x0 .
nIn
x0
0
Known
Subq_tra
Subq_tra
:
∀ x0 x1 x2 .
x0
⊆
x1
⟶
x1
⊆
x2
⟶
x0
⊆
x2
Known
f0633..
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
x0
⊆
x1
⟶
ordsucc
x0
⊆
ordsucc
x1
Theorem
a52ed..
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordsucc
(
mul_nat
x1
x1
)
⊆
mul_nat
x0
x0
(proof)
Theorem
b889a..
:
∀ x0 .
nat_p
x0
⟶
(
x0
=
1
⟶
∀ x1 : ο .
x1
)
⟶
∀ x1 .
x1
∈
x0
⟶
ordsucc
(
mul_nat
x1
x1
)
∈
mul_nat
x0
x0
(proof)
Known
nat_ordsucc_in_ordsucc
nat_ordsucc_in_ordsucc
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordsucc
x1
∈
ordsucc
x0
Theorem
85b3a..
add_nat_In_R
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
x0
⟶
∀ x2 .
nat_p
x2
⟶
add_nat
x1
x2
∈
add_nat
x0
x2
(proof)
Known
nat_inv_impred
nat_inv_impred
:
∀ x0 :
ι → ο
.
x0
0
⟶
(
∀ x1 .
nat_p
x1
⟶
x0
(
ordsucc
x1
)
)
⟶
∀ x1 .
nat_p
x1
⟶
x0
x1
Theorem
fe2c2..
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
∀ x2 .
nat_p
x2
⟶
add_nat
x0
x1
=
ordsucc
x2
⟶
∀ x3 .
x3
∈
x0
⟶
∀ x4 .
x4
∈
x1
⟶
add_nat
x3
x4
∈
x2
(proof)
Param
nat_primrec
nat_primrec
:
ι
→
(
ι
→
ι
→
ι
) →
ι
→
ι
Param
If_i
If_i
:
ο
→
ι
→
ι
→
ι
Definition
96eca..
:=
λ x0 .
nat_primrec
0
(
λ x1 x2 .
If_i
(
ordsucc
x2
∈
x0
)
(
ordsucc
x2
)
0
)
Known
nat_primrec_0
nat_primrec_0
:
∀ x0 .
∀ x1 :
ι →
ι → ι
.
nat_primrec
x0
x1
0
=
x0
Theorem
aff59..
:
∀ x0 .
96eca..
x0
0
=
0
(proof)
Known
nat_primrec_S
nat_primrec_S
:
∀ x0 .
∀ x1 :
ι →
ι → ι
.
∀ x2 .
nat_p
x2
⟶
nat_primrec
x0
x1
(
ordsucc
x2
)
=
x1
x2
(
nat_primrec
x0
x1
x2
)
Known
If_i_1
If_i_1
:
∀ x0 : ο .
∀ x1 x2 .
x0
⟶
If_i
x0
x1
x2
=
x1
Theorem
ac69f..
:
∀ x0 x1 .
nat_p
x1
⟶
ordsucc
(
96eca..
x0
x1
)
∈
x0
⟶
96eca..
x0
(
ordsucc
x1
)
=
ordsucc
(
96eca..
x0
x1
)
(proof)
Known
If_i_0
If_i_0
:
∀ x0 : ο .
∀ x1 x2 .
not
x0
⟶
If_i
x0
x1
x2
=
x2
Theorem
b82e6..
:
∀ x0 x1 .
nat_p
x1
⟶
nIn
(
ordsucc
(
96eca..
x0
x1
)
)
x0
⟶
96eca..
x0
(
ordsucc
x1
)
=
0
(proof)
Param
setminus
setminus
:
ι
→
ι
→
ι
Param
omega
omega
:
ι
Param
Sing
Sing
:
ι
→
ι
Known
setminusE
setminusE
:
∀ x0 x1 x2 .
x2
∈
setminus
x0
x1
⟶
and
(
x2
∈
x0
)
(
nIn
x2
x1
)
Known
xm
xm
:
∀ x0 : ο .
or
x0
(
not
x0
)
Known
SingI
SingI
:
∀ x0 .
x0
∈
Sing
x0
Known
nat_0_in_ordsucc
nat_0_in_ordsucc
:
∀ x0 .
nat_p
x0
⟶
0
∈
ordsucc
x0
Known
omega_nat_p
omega_nat_p
:
∀ x0 .
x0
∈
omega
⟶
nat_p
x0
Theorem
64b8f..
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
∀ x1 .
nat_p
x1
⟶
96eca..
x0
x1
∈
x0
(proof)
Param
SNo
SNo
:
ι
→
ο
Param
minus_SNo
minus_SNo
:
ι
→
ι
Param
add_SNo
add_SNo
:
ι
→
ι
→
ι
Known
minus_add_SNo_distr_3
minus_add_SNo_distr_3
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
minus_SNo
(
add_SNo
x0
(
add_SNo
x1
x2
)
)
=
add_SNo
(
minus_SNo
x0
)
(
add_SNo
(
minus_SNo
x1
)
(
minus_SNo
x2
)
)
Known
SNo_add_SNo
SNo_add_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
add_SNo
x0
x1
)
Known
minus_add_SNo_distr
minus_add_SNo_distr
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
minus_SNo
(
add_SNo
x0
x1
)
=
add_SNo
(
minus_SNo
x0
)
(
minus_SNo
x1
)
Theorem
9112b..
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
minus_SNo
(
add_SNo
x0
(
add_SNo
x1
(
add_SNo
x2
x3
)
)
)
=
add_SNo
(
minus_SNo
x0
)
(
add_SNo
(
minus_SNo
x1
)
(
add_SNo
(
minus_SNo
x2
)
(
minus_SNo
x3
)
)
)
(proof)
Param
int
int
:
ι
Param
mul_SNo
mul_SNo
:
ι
→
ι
→
ι
Definition
divides_int
divides_int
:=
λ x0 x1 .
and
(
and
(
x0
∈
int
)
(
x1
∈
int
)
)
(
∀ x2 : ο .
(
∀ x3 .
and
(
x3
∈
int
)
(
mul_SNo
x0
x3
=
x1
)
⟶
x2
)
⟶
x2
)
Known
minus_SNo_0
minus_SNo_0
:
minus_SNo
0
=
0
Known
add_SNo_0L
add_SNo_0L
:
∀ x0 .
SNo
x0
⟶
add_SNo
0
x0
=
x0
Known
SNo_0
SNo_0
:
SNo
0
Known
divides_int_0
divides_int_0
:
∀ x0 .
x0
∈
int
⟶
divides_int
x0
0
Known
nat_p_int
nat_p_int
:
∀ x0 .
nat_p
x0
⟶
x0
∈
int
Known
add_SNo_0R
add_SNo_0R
:
∀ x0 .
SNo
x0
⟶
add_SNo
x0
0
=
x0
Known
add_SNo_minus_R2'
add_SNo_minus_R2
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
(
add_SNo
x0
(
minus_SNo
x1
)
)
x1
=
x0
Known
nat_p_SNo
nat_p_SNo
:
∀ x0 .
nat_p
x0
⟶
SNo
x0
Known
divides_int_add_SNo
divides_int_add_SNo
:
∀ x0 x1 x2 .
divides_int
x0
x1
⟶
divides_int
x0
x2
⟶
divides_int
x0
(
add_SNo
x1
x2
)
Known
ordinal_ordsucc_In_eq
ordinal_ordsucc_In_eq
:
∀ x0 x1 .
ordinal
x0
⟶
x1
∈
x0
⟶
or
(
ordsucc
x1
∈
x0
)
(
x0
=
ordsucc
x1
)
Known
divides_int_ref
divides_int_ref
:
∀ x0 .
x0
∈
int
⟶
divides_int
x0
x0
Known
ordinal_ordsucc_SNo_eq
ordinal_ordsucc_SNo_eq
:
∀ x0 .
ordinal
x0
⟶
ordsucc
x0
=
add_SNo
1
x0
Known
SNo_1
SNo_1
:
SNo
1
Known
add_SNo_com_4_inner_mid
add_SNo_com_4_inner_mid
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
add_SNo
(
add_SNo
x0
x1
)
(
add_SNo
x2
x3
)
=
add_SNo
(
add_SNo
x0
x2
)
(
add_SNo
x1
x3
)
Known
SNo_minus_SNo
SNo_minus_SNo
:
∀ x0 .
SNo
x0
⟶
SNo
(
minus_SNo
x0
)
Known
add_SNo_minus_SNo_rinv
add_SNo_minus_SNo_rinv
:
∀ x0 .
SNo
x0
⟶
add_SNo
x0
(
minus_SNo
x0
)
=
0
Known
ordinal_SNo
ordinal_SNo
:
∀ x0 .
ordinal
x0
⟶
SNo
x0
Known
ordinal_Hered
ordinal_Hered
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordinal
x1
Theorem
b106b..
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
∀ x1 .
nat_p
x1
⟶
divides_int
x0
(
add_SNo
x1
(
minus_SNo
(
96eca..
x0
x1
)
)
)
(proof)
Theorem
f495c..
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
∀ x1 .
nat_p
x1
⟶
96eca..
x0
x1
=
0
⟶
divides_int
x0
x1
(proof)
Known
add_SNo_assoc
add_SNo_assoc
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
add_SNo
x0
(
add_SNo
x1
x2
)
=
add_SNo
(
add_SNo
x0
x1
)
x2
Known
add_SNo_minus_L2
add_SNo_minus_L2
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
(
minus_SNo
x0
)
(
add_SNo
x0
x1
)
=
x1
Theorem
8c422..
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
add_SNo
(
add_SNo
x0
(
minus_SNo
x1
)
)
(
add_SNo
x1
x2
)
=
add_SNo
x0
x2
(proof)
Known
divides_int_diff_SNo_rev
:
∀ x0 x1 .
x1
∈
int
⟶
∀ x2 .
x2
∈
int
⟶
divides_int
x0
(
add_SNo
x1
(
minus_SNo
x2
)
)
⟶
divides_int
x0
(
add_SNo
x2
(
minus_SNo
x1
)
)
Known
nat_p_trans
nat_p_trans
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
x0
⟶
nat_p
x1
Theorem
826f0..
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
∀ x1 x2 .
nat_p
x1
⟶
nat_p
x2
⟶
96eca..
x0
x1
=
96eca..
x0
x2
⟶
divides_int
x0
(
add_SNo
x1
(
minus_SNo
x2
)
)
(proof)
Known
mul_SNo_distrR
mul_SNo_distrR
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
mul_SNo
(
add_SNo
x0
x1
)
x2
=
add_SNo
(
mul_SNo
x0
x2
)
(
mul_SNo
x1
x2
)
Known
mul_SNo_distrL
mul_SNo_distrL
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
mul_SNo
x0
(
add_SNo
x1
x2
)
=
add_SNo
(
mul_SNo
x0
x1
)
(
mul_SNo
x0
x2
)
Known
SNo_mul_SNo
SNo_mul_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
mul_SNo
x0
x1
)
Known
mul_SNo_com
mul_SNo_com
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
x0
x1
=
mul_SNo
x1
x0
Known
mul_SNo_minus_distrR
mul_minus_SNo_distrR
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
x0
(
minus_SNo
x1
)
=
minus_SNo
(
mul_SNo
x0
x1
)
Theorem
ee3a2..
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
(
add_SNo
x0
x1
)
(
add_SNo
x0
(
minus_SNo
x1
)
)
=
add_SNo
(
mul_SNo
x0
x0
)
(
minus_SNo
(
mul_SNo
x1
x1
)
)
(proof)
Param
SNoLt
SNoLt
:
ι
→
ι
→
ο
Known
SNoLt_trichotomy_or_impred
SNoLt_trichotomy_or_impred
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
∀ x2 : ο .
(
SNoLt
x0
x1
⟶
x2
)
⟶
(
x0
=
x1
⟶
x2
)
⟶
(
SNoLt
x1
x0
⟶
x2
)
⟶
x2
Known
SNoLt_irref
SNoLt_irref
:
∀ x0 .
not
(
SNoLt
x0
x0
)
Known
mul_SNo_neg_neg
mul_SNo_neg_neg
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLt
x0
0
⟶
SNoLt
x1
0
⟶
SNoLt
0
(
mul_SNo
x0
x1
)
Known
mul_SNo_neg_pos
mul_SNo_neg_pos
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLt
x0
0
⟶
SNoLt
0
x1
⟶
SNoLt
(
mul_SNo
x0
x1
)
0
Known
mul_SNo_pos_neg
mul_SNo_pos_neg
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLt
0
x0
⟶
SNoLt
x1
0
⟶
SNoLt
(
mul_SNo
x0
x1
)
0
Known
mul_SNo_pos_pos
mul_SNo_pos_pos
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLt
0
x0
⟶
SNoLt
0
x1
⟶
SNoLt
0
(
mul_SNo
x0
x1
)
Theorem
c8949..
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
x0
x1
=
0
⟶
or
(
x0
=
0
)
(
x1
=
0
)
(proof)
Param
divides_nat
divides_nat
:
ι
→
ι
→
ο
Definition
prime_nat
prime_nat
:=
λ x0 .
and
(
and
(
x0
∈
omega
)
(
1
∈
x0
)
)
(
∀ x1 .
x1
∈
omega
⟶
divides_nat
x1
x0
⟶
or
(
x1
=
1
)
(
x1
=
x0
)
)
Known
setminusI
setminusI
:
∀ x0 x1 x2 .
x2
∈
x0
⟶
nIn
x2
x1
⟶
x2
∈
setminus
x0
x1
Known
In_no2cycle
In_no2cycle
:
∀ x0 x1 .
x0
∈
x1
⟶
x1
∈
x0
⟶
False
Known
SingE
SingE
:
∀ x0 x1 .
x1
∈
Sing
x0
⟶
x1
=
x0
Known
In_0_1
In_0_1
:
0
∈
1
Theorem
59ab3..
:
∀ x0 .
prime_nat
x0
⟶
x0
∈
setminus
omega
(
Sing
0
)
(proof)
Param
PNoLt
PNoLt
:
ι
→
(
ι
→
ο
) →
ι
→
(
ι
→
ο
) →
ο
Param
PNoEq_
PNoEq_
:
ι
→
(
ι
→
ο
) →
(
ι
→
ο
) →
ο
Definition
PNoLe
PNoLe
:=
λ x0 .
λ x1 :
ι → ο
.
λ x2 .
λ x3 :
ι → ο
.
or
(
PNoLt
x0
x1
x2
x3
)
(
and
(
x0
=
x2
)
(
PNoEq_
x0
x1
x3
)
)
Param
SNoLev
SNoLev
:
ι
→
ι
Definition
SNoLe
SNoLe
:=
λ x0 x1 .
PNoLe
(
SNoLev
x0
)
(
λ x2 .
x2
∈
x0
)
(
SNoLev
x1
)
(
λ x2 .
x2
∈
x1
)
Known
SNoLe_tra
SNoLe_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
x1
⟶
SNoLe
x1
x2
⟶
SNoLe
x0
x2
Known
nonneg_mul_SNo_Le
nonneg_mul_SNo_Le
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNoLe
0
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x1
x2
⟶
SNoLe
(
mul_SNo
x0
x1
)
(
mul_SNo
x0
x2
)
Theorem
55103..
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNoLe
0
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLe
0
x3
⟶
SNoLe
x0
x1
⟶
SNoLe
x2
x3
⟶
SNoLe
(
mul_SNo
x0
x2
)
(
mul_SNo
x1
x3
)
(proof)
Known
add_SNo_minus_SNo_linv
add_SNo_minus_SNo_linv
:
∀ x0 .
SNo
x0
⟶
add_SNo
(
minus_SNo
x0
)
x0
=
0
Theorem
bd5ca..
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
add_SNo
(
minus_SNo
(
ordsucc
x0
)
)
(
ordsucc
x1
)
=
add_SNo
(
minus_SNo
x0
)
x1
(proof)
Known
int_SNo_cases
int_SNo_cases
:
∀ x0 :
ι → ο
.
(
∀ x1 .
x1
∈
omega
⟶
x0
x1
)
⟶
(
∀ x1 .
x1
∈
omega
⟶
x0
(
minus_SNo
x1
)
)
⟶
∀ x1 .
x1
∈
int
⟶
x0
x1
Known
minus_SNo_invol
minus_SNo_invol
:
∀ x0 .
SNo
x0
⟶
minus_SNo
(
minus_SNo
x0
)
=
x0
Known
omega_SNo
omega_SNo
:
∀ x0 .
x0
∈
omega
⟶
SNo
x0
Known
divides_int_minus_SNo
divides_int_minus_SNo
:
∀ x0 x1 .
divides_int
x0
x1
⟶
divides_int
x0
(
minus_SNo
x1
)
Known
mul_SNo_minus_distrL
mul_SNo_minus_distrL
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
(
minus_SNo
x0
)
x1
=
minus_SNo
(
mul_SNo
x0
x1
)
Known
mul_SNo_minus_minus
mul_SNo_minus_minus
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
(
minus_SNo
x0
)
(
minus_SNo
x1
)
=
mul_SNo
x0
x1
Known
nat_complete_ind
nat_complete_ind
:
∀ x0 :
ι → ο
.
(
∀ x1 .
nat_p
x1
⟶
(
∀ x2 .
x2
∈
x1
⟶
x0
x2
)
⟶
x0
x1
)
⟶
∀ x1 .
nat_p
x1
⟶
x0
x1
Known
ordinal_SNoLt_In
ordinal_SNoLt_In
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
SNoLt
x0
x1
⟶
x0
∈
x1
Known
aa7e8..
nonneg_int_nat_p
:
∀ x0 .
x0
∈
int
⟶
SNoLe
0
x0
⟶
nat_p
x0
Known
int_add_SNo
int_add_SNo
:
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
add_SNo
x0
x1
∈
int
Known
int_minus_SNo
int_minus_SNo
:
∀ x0 .
x0
∈
int
⟶
minus_SNo
x0
∈
int
Known
SNoLtLe
SNoLtLe
:
∀ x0 x1 .
SNoLt
x0
x1
⟶
SNoLe
x0
x1
Known
add_SNo_minus_Lt2b
add_SNo_minus_Lt2b
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
(
add_SNo
x2
x1
)
x0
⟶
SNoLt
x2
(
add_SNo
x0
(
minus_SNo
x1
)
)
Known
add_SNo_Lt2
add_SNo_Lt2
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x1
x2
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x0
x2
)
Known
minus_SNo_Lt_contra1
minus_SNo_Lt_contra1
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLt
(
minus_SNo
x0
)
x1
⟶
SNoLt
(
minus_SNo
x1
)
x0
Known
divides_int_1
divides_int_1
:
∀ x0 .
x0
∈
int
⟶
divides_int
1
x0
Known
SNoLtLe_tra
SNoLtLe_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x1
⟶
SNoLe
x1
x2
⟶
SNoLt
x0
x2
Known
84495..
:
∀ x0 .
nat_p
x0
⟶
SNoLe
0
x0
Known
SNoLtLe_or
SNoLtLe_or
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
or
(
SNoLt
x0
x1
)
(
SNoLe
x1
x0
)
Known
pos_mul_SNo_Lt
pos_mul_SNo_Lt
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNoLt
0
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x1
x2
⟶
SNoLt
(
mul_SNo
x0
x1
)
(
mul_SNo
x0
x2
)
Known
SNoLeLt_tra
SNoLeLt_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
x1
⟶
SNoLt
x1
x2
⟶
SNoLt
x0
x2
Known
mul_SNo_nonneg_nonneg
mul_SNo_nonneg_nonneg
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
0
x0
⟶
SNoLe
0
x1
⟶
SNoLe
0
(
mul_SNo
x0
x1
)
Known
mul_SNo_nonzero_cancel
mul_SNo_nonzero_cancel_L
:
∀ x0 x1 x2 .
SNo
x0
⟶
(
x0
=
0
⟶
∀ x3 : ο .
x3
)
⟶
SNo
x1
⟶
SNo
x2
⟶
mul_SNo
x0
x1
=
mul_SNo
x0
x2
⟶
x1
=
x2
Known
mul_SNo_zeroR
mul_SNo_zeroR
:
∀ x0 .
SNo
x0
⟶
mul_SNo
x0
0
=
0
Known
nat_p_omega
nat_p_omega
:
∀ x0 .
nat_p
x0
⟶
x0
∈
omega
Known
mul_SNo_com_3_0_1
mul_SNo_com_3_0_1
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
mul_SNo
x0
(
mul_SNo
x1
x2
)
=
mul_SNo
x1
(
mul_SNo
x0
x2
)
Known
int_SNo
int_SNo
:
∀ x0 .
x0
∈
int
⟶
SNo
x0
Known
divides_int_mul_SNo_L
divides_int_mul_SNo_L
:
∀ x0 x1 x2 .
x2
∈
int
⟶
divides_int
x0
x1
⟶
divides_int
x0
(
mul_SNo
x1
x2
)
Known
ordinal_In_SNoLt
ordinal_In_SNoLt
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
SNoLt
x1
x0
Known
nat_trans
nat_trans
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
x0
⟶
x1
⊆
x0
Known
divides_int_divides_nat
divides_int_divides_nat
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
divides_int
x0
x1
⟶
divides_nat
x0
x1
Theorem
Euclid_lemma
Euclid_lemma
:
∀ x0 .
prime_nat
x0
⟶
∀ x1 .
x1
∈
int
⟶
∀ x2 .
x2
∈
int
⟶
divides_int
x0
(
mul_SNo
x1
x2
)
⟶
or
(
divides_int
x0
x1
)
(
divides_int
x0
x2
)
(proof)
Known
mul_SNo_oneR
mul_SNo_oneR
:
∀ x0 .
SNo
x0
⟶
mul_SNo
x0
1
=
x0
Known
add_SNo_minus_R2
add_SNo_minus_R2
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
(
add_SNo
x0
x1
)
(
minus_SNo
x1
)
=
x0
Known
add_SNo_Lt3
add_SNo_Lt3
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLt
x0
x2
⟶
SNoLt
x1
x3
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x2
x3
)
Known
mul_nat_mul_SNo
mul_nat_mul_SNo
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
mul_nat
x0
x1
=
mul_SNo
x0
x1
Known
add_nat_add_SNo
add_nat_add_SNo
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
add_nat
x0
x1
=
add_SNo
x0
x1
Known
add_SNo_Le2
add_SNo_Le2
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x1
x2
⟶
SNoLe
(
add_SNo
x0
x1
)
(
add_SNo
x0
x2
)
Known
minus_SNo_Le_contra
minus_SNo_Le_contra
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
x0
x1
⟶
SNoLe
(
minus_SNo
x1
)
(
minus_SNo
x0
)
Known
add_SNo_Le1
add_SNo_Le1
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
x2
⟶
SNoLe
(
add_SNo
x0
x1
)
(
add_SNo
x2
x1
)
Theorem
d3d9f..
:
∀ x0 .
prime_nat
x0
⟶
∀ x1 .
x1
∈
x0
⟶
∀ x2 .
x2
∈
x0
⟶
divides_int
x0
(
add_SNo
(
mul_SNo
x1
x1
)
(
minus_SNo
(
mul_SNo
x2
x2
)
)
)
⟶
or
(
x1
=
x2
)
(
x1
=
add_SNo
x0
(
minus_SNo
x2
)
)
(proof)
Definition
odd_nat
odd_nat
:=
λ x0 .
and
(
x0
∈
omega
)
(
∀ x1 .
x1
∈
omega
⟶
x0
=
mul_nat
2
x1
⟶
∀ x2 : ο .
x2
)
Known
dneg
dneg
:
∀ x0 : ο .
not
(
not
x0
)
⟶
x0
Definition
even_nat
even_nat
:=
λ x0 .
and
(
x0
∈
omega
)
(
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
omega
)
(
x0
=
mul_nat
2
x2
)
⟶
x1
)
⟶
x1
)
Known
odd_nat_even_nat_S
odd_nat_even_nat_S
:
∀ x0 .
odd_nat
x0
⟶
even_nat
(
ordsucc
x0
)
Known
nat_2
nat_2
:
nat_p
2
Known
d67ed..
:
∀ x0 .
SNo
x0
⟶
mul_SNo
2
x0
=
add_SNo
x0
x0
Definition
inj
inj
:=
λ x0 x1 .
λ x2 :
ι → ι
.
and
(
∀ x3 .
x3
∈
x0
⟶
x2
x3
∈
x1
)
(
∀ x3 .
x3
∈
x0
⟶
∀ x4 .
x4
∈
x0
⟶
x2
x3
=
x2
x4
⟶
x3
=
x4
)
Definition
atleastp
atleastp
:=
λ x0 x1 .
∀ x2 : ο .
(
∀ x3 :
ι → ι
.
inj
x0
x1
x3
⟶
x2
)
⟶
x2
Known
4fb58..
Pigeonhole_not_atleastp_ordsucc
:
∀ x0 .
nat_p
x0
⟶
not
(
atleastp
(
ordsucc
x0
)
x0
)
Param
setsum
setsum
:
ι
→
ι
→
ι
Known
atleastp_tra
atleastp_tra
:
∀ x0 x1 x2 .
atleastp
x0
x1
⟶
atleastp
x1
x2
⟶
atleastp
x0
x2
Param
equip
equip
:
ι
→
ι
→
ο
Known
equip_atleastp
equip_atleastp
:
∀ x0 x1 .
equip
x0
x1
⟶
atleastp
x0
x1
Known
c88e0..
:
∀ x0 x1 x2 x3 .
nat_p
x0
⟶
nat_p
x1
⟶
equip
x0
x2
⟶
equip
x1
x3
⟶
equip
(
add_nat
x0
x1
)
(
setsum
x2
x3
)
Known
equip_ref
equip_ref
:
∀ x0 .
equip
x0
x0
Param
combine_funcs
combine_funcs
:
ι
→
ι
→
(
ι
→
ι
) →
(
ι
→
ι
) →
ι
→
ι
Param
Inj0
Inj0
:
ι
→
ι
Param
Inj1
Inj1
:
ι
→
ι
Known
setsum_Inj_inv
setsum_Inj_inv
:
∀ x0 x1 x2 .
x2
∈
setsum
x0
x1
⟶
or
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
x0
)
(
x2
=
Inj0
x4
)
⟶
x3
)
⟶
x3
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
x1
)
(
x2
=
Inj1
x4
)
⟶
x3
)
⟶
x3
)
Known
combine_funcs_eq1
combine_funcs_eq1
:
∀ x0 x1 .
∀ x2 x3 :
ι → ι
.
∀ x4 .
combine_funcs
x0
x1
x2
x3
(
Inj0
x4
)
=
x2
x4
Known
combine_funcs_eq2
combine_funcs_eq2
:
∀ x0 x1 .
∀ x2 x3 :
ι → ι
.
∀ x4 .
combine_funcs
x0
x1
x2
x3
(
Inj1
x4
)
=
x3
x4
Known
add_SNo_com
add_SNo_com
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
x0
x1
=
add_SNo
x1
x0
Known
SNo_2
SNo_2
:
SNo
2
Known
ordinal_Empty
ordinal_Empty
:
ordinal
0
Known
add_SNo_Le3
add_SNo_Le3
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLe
x0
x2
⟶
SNoLe
x1
x3
⟶
SNoLe
(
add_SNo
x0
x1
)
(
add_SNo
x2
x3
)
Known
add_SNo_minus_Lt1b
add_SNo_minus_Lt1b
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
(
add_SNo
x2
x1
)
⟶
SNoLt
(
add_SNo
x0
(
minus_SNo
x1
)
)
x2
Known
SNoLt_0_1
SNoLt_0_1
:
SNoLt
0
1
Known
neq_1_0
neq_1_0
:
1
=
0
⟶
∀ x0 : ο .
x0
Known
SNo_zero_or_sqr_pos
SNo_zero_or_sqr_pos
:
∀ x0 .
SNo
x0
⟶
or
(
x0
=
0
)
(
SNoLt
0
(
mul_SNo
x0
x0
)
)
Known
SNo_add_SNo_4
SNo_add_SNo_4
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNo
(
add_SNo
x0
(
add_SNo
x1
(
add_SNo
x2
x3
)
)
)
Known
SNo_add_SNo_3
SNo_add_SNo_3
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
(
add_SNo
x0
(
add_SNo
x1
x2
)
)
Known
SNo_sqr_nonneg
SNo_sqr_nonneg
:
∀ x0 .
SNo
x0
⟶
SNoLe
0
(
mul_SNo
x0
x0
)
Known
SNoLe_antisym
SNoLe_antisym
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
x0
x1
⟶
SNoLe
x1
x0
⟶
x0
=
x1
Known
48da5..
:
SNo
4
Known
23c65..
:
∀ x0 .
SNo
x0
⟶
mul_SNo
4
x0
=
add_SNo
x0
(
add_SNo
x0
(
add_SNo
x0
x0
)
)
Known
7b468..
:
∀ x0 x1 x2 x3 x4 x5 x6 x7 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNo
x4
⟶
SNo
x5
⟶
SNo
x6
⟶
SNo
x7
⟶
SNoLe
x0
x4
⟶
SNoLe
x1
x5
⟶
SNoLe
x2
x6
⟶
SNoLe
x3
x7
⟶
SNoLe
(
add_SNo
x0
(
add_SNo
x1
(
add_SNo
x2
x3
)
)
)
(
add_SNo
x4
(
add_SNo
x5
(
add_SNo
x6
x7
)
)
)
Known
b5021..
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
(
add_SNo
x0
(
minus_SNo
x1
)
)
(
add_SNo
x0
(
minus_SNo
x1
)
)
=
add_SNo
(
mul_SNo
x0
x0
)
(
add_SNo
(
minus_SNo
(
mul_SNo
2
(
mul_SNo
x0
x1
)
)
)
(
mul_SNo
x1
x1
)
)
Known
mul_SNo_com_4_inner_mid
mul_SNo_com_4_inner_mid
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
mul_SNo
(
mul_SNo
x0
x1
)
(
mul_SNo
x2
x3
)
=
mul_SNo
(
mul_SNo
x0
x2
)
(
mul_SNo
x1
x3
)
Known
ecc46..
:
mul_SNo
2
2
=
4
Known
8b4bf..
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
(
add_SNo
x0
x1
)
(
add_SNo
x0
x1
)
=
add_SNo
(
mul_SNo
x0
x0
)
(
add_SNo
(
mul_SNo
2
(
mul_SNo
x0
x1
)
)
(
mul_SNo
x1
x1
)
)
Known
add_SNo_assoc_4
add_SNo_assoc_4
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
add_SNo
x0
(
add_SNo
x1
(
add_SNo
x2
x3
)
)
=
add_SNo
(
add_SNo
x0
(
add_SNo
x1
x2
)
)
x3
Known
add_SNo_rotate_3_1
add_SNo_rotate_3_1
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
add_SNo
x0
(
add_SNo
x1
x2
)
=
add_SNo
x2
(
add_SNo
x0
x1
)
Known
nat_3
nat_3
:
nat_p
3
Known
SNoLt_tra
SNoLt_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x1
⟶
SNoLt
x1
x2
⟶
SNoLt
x0
x2
Known
SNoLt_1_2
SNoLt_1_2
:
SNoLt
1
2
Known
divides_int_mul_SNo_R
divides_int_mul_SNo_R
:
∀ x0 x1 x2 .
x2
∈
int
⟶
divides_int
x0
x1
⟶
divides_int
x0
(
mul_SNo
x2
x1
)
Known
int_mul_SNo
int_mul_SNo
:
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
mul_SNo
x0
x1
∈
int
Known
add_SNo_minus_Lt1
add_SNo_minus_Lt1
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
(
add_SNo
x0
(
minus_SNo
x1
)
)
x2
⟶
SNoLt
x0
(
add_SNo
x2
x1
)
Known
In_irref
In_irref
:
∀ x0 .
nIn
x0
x0
Known
add_SNo_minus_Le2b
add_SNo_minus_Le2b
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
(
add_SNo
x2
x1
)
x0
⟶
SNoLe
x2
(
add_SNo
x0
(
minus_SNo
x1
)
)
Known
ordinal_Subq_SNoLe
ordinal_Subq_SNoLe
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
x0
⊆
x1
⟶
SNoLe
x0
x1
Known
ordinal_ordsucc_In_Subq
ordinal_ordsucc_In_Subq
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordsucc
x1
⊆
x0
Known
add_SNo_1_1_2
add_SNo_1_1_2
:
add_SNo
1
1
=
2
Theorem
12389..
:
∀ x0 .
prime_nat
x0
⟶
odd_nat
x0
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
setminus
x0
(
Sing
0
)
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
∀ x9 : ο .
(
∀ x10 .
and
(
x10
∈
omega
)
(
mul_SNo
x2
x0
=
add_SNo
(
mul_SNo
x4
x4
)
(
add_SNo
(
mul_SNo
x6
x6
)
(
add_SNo
(
mul_SNo
x8
x8
)
(
mul_SNo
x10
x10
)
)
)
)
⟶
x9
)
⟶
x9
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
(proof)
Known
69709..
:
(
∀ x0 .
prime_nat
x0
⟶
odd_nat
x0
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
setminus
x0
(
Sing
0
)
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
∀ x9 : ο .
(
∀ x10 .
and
(
x10
∈
omega
)
(
mul_SNo
x2
x0
=
add_SNo
(
mul_SNo
x4
x4
)
(
add_SNo
(
mul_SNo
x6
x6
)
(
add_SNo
(
mul_SNo
x8
x8
)
(
mul_SNo
x10
x10
)
)
)
)
⟶
x9
)
⟶
x9
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
)
⟶
(
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
omega
⟶
∀ x2 .
x2
∈
omega
⟶
∀ x3 .
x3
∈
omega
⟶
∀ x4 .
x4
∈
omega
⟶
mul_SNo
2
x0
=
add_SNo
(
mul_SNo
x1
x1
)
(
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
mul_SNo
x4
x4
)
)
)
⟶
∀ x5 : ο .
(
∀ x6 .
x6
∈
omega
⟶
∀ x7 .
x7
∈
omega
⟶
∀ x8 .
x8
∈
omega
⟶
∀ x9 .
x9
∈
omega
⟶
x0
=
add_SNo
(
mul_SNo
x6
x6
)
(
add_SNo
(
mul_SNo
x7
x7
)
(
add_SNo
(
mul_SNo
x8
x8
)
(
mul_SNo
x9
x9
)
)
)
⟶
x5
)
⟶
x5
)
⟶
∀ x0 .
prime_nat
x0
⟶
odd_nat
x0
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
omega
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x4
x4
)
(
add_SNo
(
mul_SNo
x6
x6
)
(
mul_SNo
x8
x8
)
)
)
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
Known
36e2b..
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
omega
⟶
∀ x2 .
x2
∈
omega
⟶
∀ x3 .
x3
∈
omega
⟶
∀ x4 .
x4
∈
omega
⟶
mul_SNo
2
x0
=
add_SNo
(
mul_SNo
x1
x1
)
(
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
mul_SNo
x4
x4
)
)
)
⟶
∀ x5 : ο .
(
∀ x6 .
x6
∈
omega
⟶
∀ x7 .
x7
∈
omega
⟶
∀ x8 .
x8
∈
omega
⟶
∀ x9 .
x9
∈
omega
⟶
x0
=
add_SNo
(
mul_SNo
x6
x6
)
(
add_SNo
(
mul_SNo
x7
x7
)
(
add_SNo
(
mul_SNo
x8
x8
)
(
mul_SNo
x9
x9
)
)
)
⟶
x5
)
⟶
x5
Theorem
f673c..
:
∀ x0 .
prime_nat
x0
⟶
odd_nat
x0
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
omega
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x4
x4
)
(
add_SNo
(
mul_SNo
x6
x6
)
(
mul_SNo
x8
x8
)
)
)
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
(proof)
Known
8ff04..
:
(
∀ x0 .
prime_nat
x0
⟶
odd_nat
x0
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
omega
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x4
x4
)
(
add_SNo
(
mul_SNo
x6
x6
)
(
mul_SNo
x8
x8
)
)
)
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
)
⟶
∀ x0 .
x0
∈
omega
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
omega
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x4
x4
)
(
add_SNo
(
mul_SNo
x6
x6
)
(
mul_SNo
x8
x8
)
)
)
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
Theorem
09f1b..
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
omega
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x4
x4
)
(
add_SNo
(
mul_SNo
x6
x6
)
(
mul_SNo
x8
x8
)
)
)
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
(proof)
Known
mul_SNo_In_omega
mul_SNo_In_omega
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
mul_SNo
x0
x1
∈
omega
Known
add_SNo_In_omega
add_SNo_In_omega
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
add_SNo
x0
x1
∈
omega
Theorem
47d21..
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
x2
∈
omega
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
omega
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
omega
)
(
∀ x7 : ο .
(
∀ x8 .
and
(
x8
∈
omega
)
(
x0
=
add_nat
(
mul_nat
x2
x2
)
(
add_nat
(
mul_nat
x4
x4
)
(
add_nat
(
mul_nat
x6
x6
)
(
mul_nat
x8
x8
)
)
)
)
⟶
x7
)
⟶
x7
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
x1
)
⟶
x1
(proof)