Search for blocks/addresses/...
Proofgold Address
address
PUVXTmzmbmMwooLhhu4Az9s3GaoBKA4wKe5
total
0
mg
-
conjpub
-
current assets
aba16..
/
71878..
bday:
29757
doc published by
PrQUS..
Param
setminus
setminus
:
ι
→
ι
→
ι
Param
omega
omega
:
ι
Param
Sing
Sing
:
ι
→
ι
Param
nat_p
nat_p
:
ι
→
ο
Definition
and
and
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x1
⟶
x2
)
⟶
x2
Param
add_nat
add_nat
:
ι
→
ι
→
ι
Param
mul_nat
mul_nat
:
ι
→
ι
→
ι
Definition
False
False
:=
∀ x0 : ο .
x0
Definition
not
not
:=
λ x0 : ο .
x0
⟶
False
Definition
nIn
nIn
:=
λ x0 x1 .
not
(
x0
∈
x1
)
Known
setminusE
setminusE
:
∀ x0 x1 x2 .
x2
∈
setminus
x0
x1
⟶
and
(
x2
∈
x0
)
(
nIn
x2
x1
)
Param
ordinal
ordinal
:
ι
→
ο
Param
ordsucc
ordsucc
:
ι
→
ι
Known
nat_ind
nat_ind
:
∀ x0 :
ι → ο
.
x0
0
⟶
(
∀ x1 .
nat_p
x1
⟶
x0
x1
⟶
x0
(
ordsucc
x1
)
)
⟶
∀ x1 .
nat_p
x1
⟶
x0
x1
Known
andI
andI
:
∀ x0 x1 : ο .
x0
⟶
x1
⟶
and
x0
x1
Known
nat_p_omega
nat_p_omega
:
∀ x0 .
nat_p
x0
⟶
x0
∈
omega
Known
nat_0
nat_0
:
nat_p
0
Known
mul_nat_0L
mul_nat_0L
:
∀ x0 .
nat_p
x0
⟶
mul_nat
0
x0
=
0
Known
add_nat_0R
add_nat_0R
:
∀ x0 .
add_nat
x0
0
=
x0
Known
ordinal_trichotomy_or_impred
ordinal_trichotomy_or_impred
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
∀ x2 : ο .
(
x0
∈
x1
⟶
x2
)
⟶
(
x0
=
x1
⟶
x2
)
⟶
(
x1
∈
x0
⟶
x2
)
⟶
x2
Known
ordinal_ordsucc
ordinal_ordsucc
:
∀ x0 .
ordinal
x0
⟶
ordinal
(
ordsucc
x0
)
Known
nat_p_ordinal
nat_p_ordinal
:
∀ x0 .
nat_p
x0
⟶
ordinal
x0
Known
add_nat_SR
add_nat_SR
:
∀ x0 x1 .
nat_p
x1
⟶
add_nat
x0
(
ordsucc
x1
)
=
ordsucc
(
add_nat
x0
x1
)
Known
omega_ordsucc
omega_ordsucc
:
∀ x0 .
x0
∈
omega
⟶
ordsucc
x0
∈
omega
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
omega_nat_p
omega_nat_p
:
∀ x0 .
x0
∈
omega
⟶
nat_p
x0
Known
FalseE
FalseE
:
False
⟶
∀ x0 : ο .
x0
Known
In_irref
In_irref
:
∀ x0 .
nIn
x0
x0
Definition
Subq
Subq
:=
λ x0 x1 .
∀ x2 .
x2
∈
x0
⟶
x2
∈
x1
Known
ordinal_ordsucc_In_Subq
ordinal_ordsucc_In_Subq
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordsucc
x1
⊆
x0
Known
nat_p_trans
nat_p_trans
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
x1
∈
x0
⟶
nat_p
x1
Definition
or
or
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x2
)
⟶
(
x1
⟶
x2
)
⟶
x2
Known
ordinal_In_Or_Subq
ordinal_In_Or_Subq
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
or
(
x0
∈
x1
)
(
x1
⊆
x0
)
Known
ordinal_Empty
ordinal_Empty
:
ordinal
0
Known
Empty_Subq_eq
Empty_Subq_eq
:
∀ x0 .
x0
⊆
0
⟶
x0
=
0
Known
SingI
SingI
:
∀ x0 .
x0
∈
Sing
x0
Theorem
quotient_remainder_nat
quotient_remainder_nat
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
∀ x1 .
nat_p
x1
⟶
∀ x2 : ο .
(
∀ x3 .
and
(
x3
∈
omega
)
(
∀ x4 : ο .
(
∀ x5 .
and
(
x5
∈
x0
)
(
x1
=
add_nat
(
mul_nat
x3
x0
)
x5
)
⟶
x4
)
⟶
x4
)
⟶
x2
)
⟶
x2
(proof)
Param
SNo
SNo
:
ι
→
ο
Param
SNoLe
SNoLe
:
ι
→
ι
→
ο
Param
mul_SNo
mul_SNo
:
ι
→
ι
→
ι
Param
SNoLt
SNoLt
:
ι
→
ι
→
ο
Known
SNoLeE
SNoLeE
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
x0
x1
⟶
or
(
SNoLt
x0
x1
)
(
x0
=
x1
)
Known
SNo_0
SNo_0
:
SNo
0
Known
mul_SNo_nonpos_pos
mul_SNo_nonpos_pos
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
x0
0
⟶
SNoLt
0
x1
⟶
SNoLe
(
mul_SNo
x0
x1
)
0
Known
mul_SNo_zeroR
mul_SNo_zeroR
:
∀ x0 .
SNo
x0
⟶
mul_SNo
x0
0
=
0
Known
SNoLe_ref
SNoLe_ref
:
∀ x0 .
SNoLe
x0
x0
Theorem
mul_SNo_nonpos_nonneg
mul_SNo_nonpos_nonneg
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
x0
0
⟶
SNoLe
0
x1
⟶
SNoLe
(
mul_SNo
x0
x1
)
0
(proof)
Known
EmptyE
EmptyE
:
∀ x0 .
nIn
x0
0
Known
ordsuccI2
ordsuccI2
:
∀ x0 .
x0
∈
ordsucc
x0
Theorem
ordinal_0_In_ordsucc
ordinal_0_In_ordsucc
:
∀ x0 .
ordinal
x0
⟶
0
∈
ordsucc
x0
(proof)
Known
ordinal_In_SNoLt
ordinal_In_SNoLt
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
SNoLt
x1
x0
Theorem
ordinal_ordsucc_pos
ordinal_ordsucc_pos
:
∀ x0 .
ordinal
x0
⟶
SNoLt
0
(
ordsucc
x0
)
(proof)
Param
int
int
:
ι
Param
add_SNo
add_SNo
:
ι
→
ι
→
ι
Param
minus_SNo
minus_SNo
:
ι
→
ι
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
Subq_omega_int
Subq_omega_int
:
omega
⊆
int
Known
add_nat_add_SNo
add_nat_add_SNo
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
add_nat
x0
x1
=
add_SNo
x0
x1
Known
mul_nat_p
mul_nat_p
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
nat_p
(
mul_nat
x0
x1
)
Known
mul_nat_mul_SNo
mul_nat_mul_SNo
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
mul_nat
x0
x1
=
mul_SNo
x0
x1
Known
omega_nonneg
omega_nonneg
:
∀ x0 .
x0
∈
omega
⟶
SNoLe
0
x0
Known
int_add_SNo
int_add_SNo
:
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
add_SNo
x0
x1
∈
int
Known
int_minus_SNo_omega
int_minus_SNo_omega
:
∀ x0 .
x0
∈
omega
⟶
minus_SNo
x0
∈
int
Known
nat_1
nat_1
:
nat_p
1
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_minus_SNo
int_minus_SNo
:
∀ x0 .
x0
∈
int
⟶
minus_SNo
x0
∈
int
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
add_SNo_0L
add_SNo_0L
:
∀ x0 .
SNo
x0
⟶
add_SNo
0
x0
=
x0
Known
SNoLtLe
SNoLtLe
:
∀ x0 x1 .
SNoLt
x0
x1
⟶
SNoLe
x0
x1
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
add_SNo_0R
add_SNo_0R
:
∀ x0 .
SNo
x0
⟶
add_SNo
x0
0
=
x0
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
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
SNo_minus_SNo
SNo_minus_SNo
:
∀ x0 .
SNo
x0
⟶
SNo
(
minus_SNo
x0
)
Known
SNo_1
SNo_1
:
SNo
1
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_oneL
mul_SNo_oneL
:
∀ x0 .
SNo
x0
⟶
mul_SNo
1
x0
=
x0
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
SNo_add_SNo
SNo_add_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
add_SNo
x0
x1
)
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
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
)
Known
SNo_mul_SNo
SNo_mul_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
mul_SNo
x0
x1
)
Known
nat_p_SNo
nat_p_SNo
:
∀ x0 .
nat_p
x0
⟶
SNo
x0
Theorem
quotient_remainder_int
quotient_remainder_int
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
∀ x1 .
x1
∈
int
⟶
∀ x2 : ο .
(
∀ x3 .
and
(
x3
∈
int
)
(
∀ x4 : ο .
(
∀ x5 .
and
(
x5
∈
x0
)
(
x1
=
add_SNo
(
mul_SNo
x3
x0
)
x5
)
⟶
x4
)
⟶
x4
)
⟶
x2
)
⟶
x2
(proof)
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
divides_int_ref
divides_int_ref
:
∀ x0 .
x0
∈
int
⟶
divides_int
x0
x0
Known
divides_int_0
divides_int_0
:
∀ x0 .
x0
∈
int
⟶
divides_int
x0
0
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
divides_int_add_SNo_3
:
∀ x0 x1 x2 x3 .
divides_int
x0
x1
⟶
divides_int
x0
x2
⟶
divides_int
x0
x3
⟶
divides_int
x0
(
add_SNo
x1
(
add_SNo
x2
x3
)
)
Known
divides_int_add_SNo_4
:
∀ x0 x1 x2 x3 x4 .
divides_int
x0
x1
⟶
divides_int
x0
x2
⟶
divides_int
x0
x3
⟶
divides_int
x0
x4
⟶
divides_int
x0
(
add_SNo
x1
(
add_SNo
x2
(
add_SNo
x3
x4
)
)
)
Known
divides_int_mul_SNo
divides_int_mul_SNo
:
∀ x0 x1 x2 x3 .
divides_int
x0
x2
⟶
divides_int
x1
x3
⟶
divides_int
(
mul_SNo
x0
x1
)
(
mul_SNo
x2
x3
)
Param
divides_nat
divides_nat
:
ι
→
ι
→
ο
Known
divides_nat_divides_int
divides_nat_divides_int
:
∀ x0 x1 .
divides_nat
x0
x1
⟶
divides_int
x0
x1
Known
divides_int_divides_nat
divides_int_divides_nat
:
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
divides_int
x0
x1
⟶
divides_nat
x0
x1
Known
divides_int_minus_SNo
divides_int_minus_SNo
:
∀ x0 x1 .
divides_int
x0
x1
⟶
divides_int
x0
(
minus_SNo
x1
)
Known
divides_int_minus_SNo_conv
:
∀ x0 x1 .
SNo
x1
⟶
divides_int
x0
(
minus_SNo
x1
)
⟶
divides_int
x0
x1
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
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
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
and3I
and3I
:
∀ x0 x1 x2 : ο .
x0
⟶
x1
⟶
x2
⟶
and
(
and
x0
x1
)
x2
Known
int_SNo
int_SNo
:
∀ x0 .
x0
∈
int
⟶
SNo
x0
Theorem
divides_int_1
divides_int_1
:
∀ x0 .
x0
∈
int
⟶
divides_int
1
x0
(proof)
Known
mul_SNo_oneR
mul_SNo_oneR
:
∀ x0 .
SNo
x0
⟶
mul_SNo
x0
1
=
x0
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
)
Known
SNoLtLe_or
SNoLtLe_or
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
or
(
SNoLt
x0
x1
)
(
SNoLe
x1
x0
)
Known
SNoLt_irref
SNoLt_irref
:
∀ x0 .
not
(
SNoLt
x0
x0
)
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_com
mul_SNo_com
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
x0
x1
=
mul_SNo
x1
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
ordinal_Subq_SNoLe
ordinal_Subq_SNoLe
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
x0
⊆
x1
⟶
SNoLe
x0
x1
Known
omega_SNo
omega_SNo
:
∀ x0 .
x0
∈
omega
⟶
SNo
x0
Known
SNoLe_tra
SNoLe_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
x1
⟶
SNoLe
x1
x2
⟶
SNoLe
x0
x2
Known
minus_SNo_0
minus_SNo_0
:
minus_SNo
0
=
0
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
)
Theorem
divides_int_pos_Le
divides_int_pos_Le
:
∀ x0 x1 .
divides_int
x0
x1
⟶
SNoLt
0
x1
⟶
SNoLe
x0
x1
(proof)
Definition
gcd_reln
gcd_reln
:=
λ x0 x1 x2 .
and
(
and
(
divides_int
x2
x0
)
(
divides_int
x2
x1
)
)
(
∀ x3 .
divides_int
x3
x0
⟶
divides_int
x3
x1
⟶
SNoLe
x3
x2
)
Known
SNoLe_antisym
SNoLe_antisym
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
x0
x1
⟶
SNoLe
x1
x0
⟶
x0
=
x1
Theorem
gcd_reln_uniq
gcd_reln_uniq
:
∀ x0 x1 x2 x3 .
gcd_reln
x0
x1
x2
⟶
gcd_reln
x0
x1
x3
⟶
x2
=
x3
(proof)
Definition
int_lin_comb
int_lin_comb
:=
λ x0 x1 x2 .
and
(
and
(
and
(
x0
∈
int
)
(
x1
∈
int
)
)
(
x2
∈
int
)
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
int
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
int
)
(
add_SNo
(
mul_SNo
x4
x0
)
(
mul_SNo
x6
x1
)
=
x2
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
Known
and4I
and4I
:
∀ x0 x1 x2 x3 : ο .
x0
⟶
x1
⟶
x2
⟶
x3
⟶
and
(
and
(
and
x0
x1
)
x2
)
x3
Theorem
int_lin_comb_I
int_lin_comb_I
:
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
∀ x2 .
x2
∈
int
⟶
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
int
)
(
∀ x5 : ο .
(
∀ x6 .
and
(
x6
∈
int
)
(
add_SNo
(
mul_SNo
x4
x0
)
(
mul_SNo
x6
x1
)
=
x2
)
⟶
x5
)
⟶
x5
)
⟶
x3
)
⟶
x3
)
⟶
int_lin_comb
x0
x1
x2
(proof)
Theorem
int_lin_comb_E
int_lin_comb_E
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
∀ x3 : ο .
(
x0
∈
int
⟶
x1
∈
int
⟶
x2
∈
int
⟶
∀ x4 .
x4
∈
int
⟶
∀ x5 .
x5
∈
int
⟶
add_SNo
(
mul_SNo
x4
x0
)
(
mul_SNo
x5
x1
)
=
x2
⟶
x3
)
⟶
x3
(proof)
Theorem
int_lin_comb_E1
int_lin_comb_E1
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
x0
∈
int
(proof)
Theorem
int_lin_comb_E2
int_lin_comb_E2
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
x1
∈
int
(proof)
Theorem
int_lin_comb_E3
int_lin_comb_E3
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
x2
∈
int
(proof)
Theorem
int_lin_comb_E4
int_lin_comb_E4
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
∀ x3 : ο .
(
∀ x4 .
x4
∈
int
⟶
∀ x5 .
x5
∈
int
⟶
add_SNo
(
mul_SNo
x4
x0
)
(
mul_SNo
x5
x1
)
=
x2
⟶
x3
)
⟶
x3
(proof)
Known
least_ordinal_ex
least_ordinal_ex
:
∀ x0 :
ι → ο
.
(
∀ x1 : ο .
(
∀ x2 .
and
(
ordinal
x2
)
(
x0
x2
)
⟶
x1
)
⟶
x1
)
⟶
∀ x1 : ο .
(
∀ x2 .
and
(
and
(
ordinal
x2
)
(
x0
x2
)
)
(
∀ x3 .
x3
∈
x2
⟶
not
(
x0
x3
)
)
⟶
x1
)
⟶
x1
Known
int_3_cases
int_3_cases
:
∀ x0 .
x0
∈
int
⟶
∀ x1 : ο .
(
∀ x2 .
x2
∈
omega
⟶
x0
=
minus_SNo
(
ordsucc
x2
)
⟶
x1
)
⟶
(
x0
=
0
⟶
x1
)
⟶
(
∀ x2 .
x2
∈
omega
⟶
x0
=
ordsucc
x2
⟶
x1
)
⟶
x1
Known
mul_SNo_zeroL
mul_SNo_zeroL
:
∀ x0 .
SNo
x0
⟶
mul_SNo
0
x0
=
0
Known
minus_SNo_invol
minus_SNo_invol
:
∀ x0 .
SNo
x0
⟶
minus_SNo
(
minus_SNo
x0
)
=
x0
Known
nat_ordsucc
nat_ordsucc
:
∀ x0 .
nat_p
x0
⟶
nat_p
(
ordsucc
x0
)
Known
ordinal_SNo
ordinal_SNo
:
∀ x0 .
ordinal
x0
⟶
SNo
x0
Theorem
least_pos_int_lin_comb_ex
least_pos_int_lin_comb_ex
:
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
not
(
and
(
x0
=
0
)
(
x1
=
0
)
)
⟶
∀ x2 : ο .
(
∀ x3 .
and
(
and
(
int_lin_comb
x0
x1
x3
)
(
SNoLt
0
x3
)
)
(
∀ x4 .
int_lin_comb
x0
x1
x4
⟶
SNoLt
0
x4
⟶
SNoLe
x3
x4
)
⟶
x2
)
⟶
x2
(proof)
Known
add_SNo_com
add_SNo_com
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
x0
x1
=
add_SNo
x1
x0
Theorem
int_lin_comb_sym
int_lin_comb_sym
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
int_lin_comb
x1
x0
x2
(proof)
Known
setminusI
setminusI
:
∀ x0 x1 x2 .
x2
∈
x0
⟶
nIn
x2
x1
⟶
x2
∈
setminus
x0
x1
Known
SingE
SingE
:
∀ x0 x1 .
x1
∈
Sing
x0
⟶
x1
=
x0
Known
int_mul_SNo
int_mul_SNo
:
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
mul_SNo
x0
x1
∈
int
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
mul_SNo_assoc
mul_SNo_assoc
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
mul_SNo
x0
(
mul_SNo
x1
x2
)
=
mul_SNo
(
mul_SNo
x0
x1
)
x2
Theorem
least_pos_int_lin_comb_divides_int
least_pos_int_lin_comb_divides_int
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
SNoLt
0
x2
⟶
(
∀ x3 .
int_lin_comb
x0
x1
x3
⟶
SNoLt
0
x3
⟶
SNoLe
x2
x3
)
⟶
divides_int
x2
x0
(proof)
Theorem
least_pos_int_lin_comb_gcd
least_pos_int_lin_comb_gcd
:
∀ x0 x1 x2 .
int_lin_comb
x0
x1
x2
⟶
SNoLt
0
x2
⟶
(
∀ x3 .
int_lin_comb
x0
x1
x3
⟶
SNoLt
0
x3
⟶
SNoLe
x2
x3
)
⟶
gcd_reln
x0
x1
x2
(proof)
Definition
iff
iff
:=
λ x0 x1 : ο .
and
(
x0
⟶
x1
)
(
x1
⟶
x0
)
Known
iffI
iffI
:
∀ x0 x1 : ο .
(
x0
⟶
x1
)
⟶
(
x1
⟶
x0
)
⟶
iff
x0
x1
Theorem
BezoutThm
BezoutThm
:
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
not
(
and
(
x0
=
0
)
(
x1
=
0
)
)
⟶
∀ x2 .
iff
(
gcd_reln
x0
x1
x2
)
(
and
(
and
(
int_lin_comb
x0
x1
x2
)
(
SNoLt
0
x2
)
)
(
∀ x3 .
int_lin_comb
x0
x1
x3
⟶
SNoLt
0
x3
⟶
SNoLe
x2
x3
)
)
(proof)
Known
SNoLt_tra
SNoLt_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x1
⟶
SNoLt
x1
x2
⟶
SNoLt
x0
x2
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
2bbf0..
mul_nat_0_or_Subq
:
∀ x0 .
nat_p
x0
⟶
∀ x1 .
nat_p
x1
⟶
or
(
x1
=
0
)
(
x0
⊆
mul_nat
x0
x1
)
Theorem
gcd_id
gcd_id
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
gcd_reln
x0
x0
x0
(proof)
Theorem
gcd_0
gcd_0
:
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
gcd_reln
0
x0
x0
(proof)
Theorem
gcd_sym
gcd_sym
:
∀ x0 x1 x2 .
gcd_reln
x0
x1
x2
⟶
gcd_reln
x1
x0
x2
(proof)
Theorem
gcd_minus
gcd_minus
:
∀ x0 x1 x2 .
gcd_reln
x0
x1
x2
⟶
gcd_reln
x0
(
minus_SNo
x1
)
x2
(proof)
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
Theorem
euclidean_algorithm_prop_1
euclidean_algorithm_prop_1
:
∀ x0 x1 x2 .
x1
∈
int
⟶
gcd_reln
x0
(
add_SNo
x1
(
minus_SNo
x0
)
)
x2
⟶
gcd_reln
x0
x1
x2
(proof)
Known
and7I
and7I
:
∀ x0 x1 x2 x3 x4 x5 x6 : ο .
x0
⟶
x1
⟶
x2
⟶
x3
⟶
x4
⟶
x5
⟶
x6
⟶
and
(
and
(
and
(
and
(
and
(
and
x0
x1
)
x2
)
x3
)
x4
)
x5
)
x6
Theorem
euclidean_algorithm
euclidean_algorithm
:
and
(
and
(
and
(
and
(
and
(
and
(
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
gcd_reln
x0
x0
x0
)
(
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
gcd_reln
0
x0
x0
)
)
(
∀ x0 .
x0
∈
setminus
omega
(
Sing
0
)
⟶
gcd_reln
x0
0
x0
)
)
(
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
SNoLt
x0
x1
⟶
∀ x2 .
gcd_reln
x0
(
add_SNo
x1
(
minus_SNo
x0
)
)
x2
⟶
gcd_reln
x0
x1
x2
)
)
(
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
omega
⟶
SNoLt
x1
x0
⟶
∀ x2 .
gcd_reln
x1
x0
x2
⟶
gcd_reln
x0
x1
x2
)
)
(
∀ x0 .
x0
∈
omega
⟶
∀ x1 .
x1
∈
int
⟶
SNoLt
x1
0
⟶
∀ x2 .
gcd_reln
x0
(
minus_SNo
x1
)
x2
⟶
gcd_reln
x0
x1
x2
)
)
(
∀ x0 .
x0
∈
int
⟶
∀ x1 .
x1
∈
int
⟶
SNoLt
x0
0
⟶
∀ x2 .
gcd_reln
(
minus_SNo
x0
)
x1
x2
⟶
gcd_reln
x0
x1
x2
)
(proof)
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
xm
xm
:
∀ x0 : ο .
or
x0
(
not
x0
)
Known
orIL
orIL
:
∀ x0 x1 : ο .
x0
⟶
or
x0
x1
Known
orIR
orIR
:
∀ x0 x1 : ο .
x1
⟶
or
x0
x1
Known
In_no2cycle
In_no2cycle
:
∀ x0 x1 .
x0
∈
x1
⟶
x1
∈
x0
⟶
False
Known
In_0_1
In_0_1
:
0
∈
1
Known
SNoLt_0_1
SNoLt_0_1
:
SNoLt
0
1
Known
mul_SNo_rotate_3_1
mul_SNo_rotate_3_1
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
mul_SNo
x0
(
mul_SNo
x1
x2
)
=
mul_SNo
x2
(
mul_SNo
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)
Definition
coprime_int
:=
λ x0 x1 .
gcd_reln
x0
x1
1
previous assets