Search for blocks/addresses/...
Proofgold Asset
asset id
d6466d8a03368dd70a520e5491dedf09e60301e9a53047759e86c31285177cea
asset hash
b4bef2a3c509b67d4a4aad349f1cf79267736d2149a4ce587e63efb79803f9b7
bday / block
4962
tx
7edd8..
preasset
doc published by
Pr6Pc..
Definition
Subq
Subq
:=
λ x0 x1 .
∀ x2 .
x2
∈
x0
⟶
x2
∈
x1
Param
Sep
Sep
:
ι
→
(
ι
→
ο
) →
ι
Param
SNoS_
SNoS_
:
ι
→
ι
Param
SNoLev
SNoLev
:
ι
→
ι
Param
SNoLt
SNoLt
:
ι
→
ι
→
ο
Definition
SNoL
SNoL
:=
λ x0 .
{x1 ∈
SNoS_
(
SNoLev
x0
)
|
SNoLt
x1
x0
}
Known
Sep_Subq
Sep_Subq
:
∀ x0 .
∀ x1 :
ι → ο
.
Sep
x0
x1
⊆
x0
Known
SNoL_SNoS_
SNoL_SNoS_
:
∀ x0 .
SNoL
x0
⊆
SNoS_
(
SNoLev
x0
)
Definition
SNoR
SNoR
:=
λ x0 .
Sep
(
SNoS_
(
SNoLev
x0
)
)
(
SNoLt
x0
)
Known
SNoR_SNoS_
SNoR_SNoS_
:
∀ x0 .
SNoR
x0
⊆
SNoS_
(
SNoLev
x0
)
Param
SNo
SNo
:
ι
→
ο
Definition
and
and
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x1
⟶
x2
)
⟶
x2
Param
add_SNo
add_SNo
:
ι
→
ι
→
ι
Definition
SNoCutP
SNoCutP
:=
λ x0 x1 .
and
(
and
(
∀ x2 .
x2
∈
x0
⟶
SNo
x2
)
(
∀ x2 .
x2
∈
x1
⟶
SNo
x2
)
)
(
∀ x2 .
x2
∈
x0
⟶
∀ x3 .
x3
∈
x1
⟶
SNoLt
x2
x3
)
Param
binunion
binunion
:
ι
→
ι
→
ι
Known
SNoLev_ind2
SNoLev_ind2
:
∀ x0 :
ι →
ι → ο
.
(
∀ x1 x2 .
SNo
x1
⟶
SNo
x2
⟶
(
∀ x3 .
x3
∈
SNoS_
(
SNoLev
x1
)
⟶
x0
x3
x2
)
⟶
(
∀ x3 .
x3
∈
SNoS_
(
SNoLev
x2
)
⟶
x0
x1
x3
)
⟶
(
∀ x3 .
x3
∈
SNoS_
(
SNoLev
x1
)
⟶
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x2
)
⟶
x0
x3
x4
)
⟶
x0
x1
x2
)
⟶
∀ x1 x2 .
SNo
x1
⟶
SNo
x2
⟶
x0
x1
x2
Definition
TransSet
TransSet
:=
λ x0 .
∀ x1 .
x1
∈
x0
⟶
x1
⊆
x0
Definition
ordinal
ordinal
:=
λ x0 .
and
(
TransSet
x0
)
(
∀ x1 .
x1
∈
x0
⟶
TransSet
x1
)
Param
SNoCut
SNoCut
:
ι
→
ι
→
ι
Known
andI
andI
:
∀ x0 x1 : ο .
x0
⟶
x1
⟶
and
x0
x1
Known
add_SNo_eq
add_SNo_eq
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
SNo
x1
⟶
add_SNo
x0
x1
=
SNoCut
(
binunion
{
add_SNo
x3
x1
|x3 ∈
SNoL
x0
}
(
prim5
(
SNoL
x1
)
(
add_SNo
x0
)
)
)
(
binunion
{
add_SNo
x3
x1
|x3 ∈
SNoR
x0
}
(
prim5
(
SNoR
x1
)
(
add_SNo
x0
)
)
)
Known
and5I
and5I
:
∀ x0 x1 x2 x3 x4 : ο .
x0
⟶
x1
⟶
x2
⟶
x3
⟶
x4
⟶
and
(
and
(
and
(
and
x0
x1
)
x2
)
x3
)
x4
Known
SNoL_E
SNoL_E
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
x1
∈
SNoL
x0
⟶
∀ x2 : ο .
(
SNo
x1
⟶
SNoLev
x1
∈
SNoLev
x0
⟶
SNoLt
x1
x0
⟶
x2
)
⟶
x2
Known
SNoCutP_SNoCut_L
SNoCutP_SNoCut_L
:
∀ x0 x1 .
SNoCutP
x0
x1
⟶
∀ x2 .
x2
∈
x0
⟶
SNoLt
x2
(
SNoCut
x0
x1
)
Known
binunionI1
binunionI1
:
∀ x0 x1 x2 .
x2
∈
x0
⟶
x2
∈
binunion
x0
x1
Known
ReplI
ReplI
:
∀ x0 .
∀ x1 :
ι → ι
.
∀ x2 .
x2
∈
x0
⟶
x1
x2
∈
prim5
x0
x1
Known
SNoR_E
SNoR_E
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
x1
∈
SNoR
x0
⟶
∀ x2 : ο .
(
SNo
x1
⟶
SNoLev
x1
∈
SNoLev
x0
⟶
SNoLt
x0
x1
⟶
x2
)
⟶
x2
Known
SNoCutP_SNoCut_R
SNoCutP_SNoCut_R
:
∀ x0 x1 .
SNoCutP
x0
x1
⟶
∀ x2 .
x2
∈
x1
⟶
SNoLt
(
SNoCut
x0
x1
)
x2
Known
binunionI2
binunionI2
:
∀ x0 x1 x2 .
x2
∈
x1
⟶
x2
∈
binunion
x0
x1
Known
SNoCutP_SNo_SNoCut
SNoCutP_SNo_SNoCut
:
∀ x0 x1 .
SNoCutP
x0
x1
⟶
SNo
(
SNoCut
x0
x1
)
Known
and3I
and3I
:
∀ x0 x1 x2 : ο .
x0
⟶
x1
⟶
x2
⟶
and
(
and
x0
x1
)
x2
Definition
or
or
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x2
)
⟶
(
x1
⟶
x2
)
⟶
x2
Known
binunionE
binunionE
:
∀ x0 x1 x2 .
x2
∈
binunion
x0
x1
⟶
or
(
x2
∈
x0
)
(
x2
∈
x1
)
Known
ReplE_impred
ReplE_impred
:
∀ x0 .
∀ x1 :
ι → ι
.
∀ x2 .
x2
∈
prim5
x0
x1
⟶
∀ x3 : ο .
(
∀ x4 .
x4
∈
x0
⟶
x2
=
x1
x4
⟶
x3
)
⟶
x3
Param
binintersect
binintersect
:
ι
→
ι
→
ι
Param
SNoEq_
SNoEq_
:
ι
→
ι
→
ι
→
ο
Definition
False
False
:=
∀ x0 : ο .
x0
Definition
not
not
:=
λ x0 : ο .
x0
⟶
False
Definition
nIn
nIn
:=
λ x0 x1 .
not
(
x0
∈
x1
)
Known
SNoLtE
SNoLtE
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLt
x0
x1
⟶
∀ x2 : ο .
(
∀ x3 .
SNo
x3
⟶
SNoLev
x3
∈
binintersect
(
SNoLev
x0
)
(
SNoLev
x1
)
⟶
SNoEq_
(
SNoLev
x3
)
x3
x0
⟶
SNoEq_
(
SNoLev
x3
)
x3
x1
⟶
SNoLt
x0
x3
⟶
SNoLt
x3
x1
⟶
nIn
(
SNoLev
x3
)
x0
⟶
SNoLev
x3
∈
x1
⟶
x2
)
⟶
(
SNoLev
x0
∈
SNoLev
x1
⟶
SNoEq_
(
SNoLev
x0
)
x0
x1
⟶
SNoLev
x0
∈
x1
⟶
x2
)
⟶
(
SNoLev
x1
∈
SNoLev
x0
⟶
SNoEq_
(
SNoLev
x1
)
x0
x1
⟶
nIn
(
SNoLev
x1
)
x0
⟶
x2
)
⟶
x2
Known
binintersectE
binintersectE
:
∀ x0 x1 x2 .
x2
∈
binintersect
x0
x1
⟶
and
(
x2
∈
x0
)
(
x2
∈
x1
)
Known
SNoLt_tra
SNoLt_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x1
⟶
SNoLt
x1
x2
⟶
SNoLt
x0
x2
Known
SNoR_I
SNoR_I
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
SNo
x1
⟶
SNoLev
x1
∈
SNoLev
x0
⟶
SNoLt
x0
x1
⟶
x1
∈
SNoR
x0
Known
SNoL_I
SNoL_I
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
SNo
x1
⟶
SNoLev
x1
∈
SNoLev
x0
⟶
SNoLt
x1
x0
⟶
x1
∈
SNoL
x0
Known
SNoS_I2
SNoS_I2
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLev
x0
∈
SNoLev
x1
⟶
x0
∈
SNoS_
(
SNoLev
x1
)
Known
ordinal_TransSet
ordinal_TransSet
:
∀ x0 .
ordinal
x0
⟶
TransSet
x0
Known
SNoLev_ordinal
SNoLev_ordinal
:
∀ x0 .
SNo
x0
⟶
ordinal
(
SNoLev
x0
)
Theorem
add_SNo_prop1
add_SNo_prop1
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
and
(
and
(
and
(
and
(
and
(
SNo
(
add_SNo
x0
x1
)
)
(
∀ x2 .
x2
∈
SNoL
x0
⟶
SNoLt
(
add_SNo
x2
x1
)
(
add_SNo
x0
x1
)
)
)
(
∀ x2 .
x2
∈
SNoR
x0
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x2
x1
)
)
)
(
∀ x2 .
x2
∈
SNoL
x1
⟶
SNoLt
(
add_SNo
x0
x2
)
(
add_SNo
x0
x1
)
)
)
(
∀ x2 .
x2
∈
SNoR
x1
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x0
x2
)
)
)
(
SNoCutP
(
binunion
{
add_SNo
x2
x1
|x2 ∈
SNoL
x0
}
(
prim5
(
SNoL
x1
)
(
add_SNo
x0
)
)
)
(
binunion
{
add_SNo
x2
x1
|x2 ∈
SNoR
x0
}
(
prim5
(
SNoR
x1
)
(
add_SNo
x0
)
)
)
)
(proof)
Theorem
SNo_add_SNo
SNo_add_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
add_SNo
x0
x1
)
(proof)
Theorem
add_SNo_Lt1
add_SNo_Lt1
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x2
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x2
x1
)
(proof)
Param
SNoLe
SNoLe
:
ι
→
ι
→
ο
Known
SNoLeE
SNoLeE
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLe
x0
x1
⟶
or
(
SNoLt
x0
x1
)
(
x0
=
x1
)
Known
SNoLtLe
SNoLtLe
:
∀ x0 x1 .
SNoLt
x0
x1
⟶
SNoLe
x0
x1
Known
SNoLe_ref
SNoLe_ref
:
∀ x0 .
SNoLe
x0
x0
Theorem
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
)
(proof)
Theorem
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
)
(proof)
Theorem
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
)
(proof)
Known
SNoLtLe_tra
SNoLtLe_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x1
⟶
SNoLe
x1
x2
⟶
SNoLt
x0
x2
Theorem
add_SNo_Lt3a
add_SNo_Lt3a
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLt
x0
x2
⟶
SNoLe
x1
x3
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x2
x3
)
(proof)
Known
SNoLeLt_tra
SNoLeLt_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
x1
⟶
SNoLt
x1
x2
⟶
SNoLt
x0
x2
Theorem
add_SNo_Lt3b
add_SNo_Lt3b
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLe
x0
x2
⟶
SNoLt
x1
x3
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x2
x3
)
(proof)
Theorem
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
)
(proof)
Known
SNoLe_tra
SNoLe_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
x1
⟶
SNoLe
x1
x2
⟶
SNoLe
x0
x2
Theorem
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
)
(proof)
Theorem
add_SNo_SNoCutP
add_SNo_SNoCutP
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoCutP
(
binunion
{
add_SNo
x2
x1
|x2 ∈
SNoL
x0
}
(
prim5
(
SNoL
x1
)
(
add_SNo
x0
)
)
)
(
binunion
{
add_SNo
x2
x1
|x2 ∈
SNoR
x0
}
(
prim5
(
SNoR
x1
)
(
add_SNo
x0
)
)
)
(proof)
Theorem
add_SNo_SNoCutP_gen
add_SNo_SNoCutP_gen
:
∀ x0 x1 x2 x3 .
SNoCutP
x0
x1
⟶
SNoCutP
x2
x3
⟶
SNoCutP
(
binunion
{
add_SNo
x4
(
SNoCut
x2
x3
)
|x4 ∈
x0
}
(
prim5
x2
(
add_SNo
(
SNoCut
x0
x1
)
)
)
)
(
binunion
{
add_SNo
x4
(
SNoCut
x2
x3
)
|x4 ∈
x1
}
(
prim5
x3
(
add_SNo
(
SNoCut
x0
x1
)
)
)
)
(proof)
Known
binunion_com
binunion_com
:
∀ x0 x1 .
binunion
x0
x1
=
binunion
x1
x0
Known
ReplEq_ext
ReplEq_ext
:
∀ x0 .
∀ x1 x2 :
ι → ι
.
(
∀ x3 .
x3
∈
x0
⟶
x1
x3
=
x2
x3
)
⟶
prim5
x0
x1
=
prim5
x0
x2
Theorem
add_SNo_com
add_SNo_com
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
x0
x1
=
add_SNo
x1
x0
(proof)
Known
SNoLev_ind
SNoLev_ind
:
∀ x0 :
ι → ο
.
(
∀ x1 .
SNo
x1
⟶
(
∀ x2 .
x2
∈
SNoS_
(
SNoLev
x1
)
⟶
x0
x2
)
⟶
x0
x1
)
⟶
∀ x1 .
SNo
x1
⟶
x0
x1
Known
SNo_0
SNo_0
:
SNo
0
Known
SNo_eta
SNo_eta
:
∀ x0 .
SNo
x0
⟶
x0
=
SNoCut
(
SNoL
x0
)
(
SNoR
x0
)
Known
SNoR_0
SNoR_0
:
SNoR
0
=
0
Known
Repl_Empty
Repl_Empty
:
∀ x0 :
ι → ι
.
prim5
0
x0
=
0
Known
binunion_idl
binunion_idl
:
∀ x0 .
binunion
0
x0
=
x0
Known
set_ext
set_ext
:
∀ x0 x1 .
x0
⊆
x1
⟶
x1
⊆
x0
⟶
x0
=
x1
Known
SNoL_0
SNoL_0
:
SNoL
0
=
0
Theorem
add_SNo_0L
add_SNo_0L
:
∀ x0 .
SNo
x0
⟶
add_SNo
0
x0
=
x0
(proof)
Theorem
add_SNo_0R
add_SNo_0R
:
∀ x0 .
SNo
x0
⟶
add_SNo
x0
0
=
x0
(proof)
Param
minus_SNo
minus_SNo
:
ι
→
ι
Known
SNo_eq
SNo_eq
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLev
x0
=
SNoLev
x1
⟶
SNoEq_
(
SNoLev
x0
)
x0
x1
⟶
x0
=
x1
Known
ordinal_SNoLev
ordinal_SNoLev
:
∀ x0 .
ordinal
x0
⟶
SNoLev
x0
=
x0
Known
ordinal_Empty
ordinal_Empty
:
ordinal
0
Known
Subq_Empty
Subq_Empty
:
∀ x0 .
0
⊆
x0
Known
SNoCutP_SNoCut_fst
SNoCutP_SNoCut_fst
:
∀ x0 x1 .
SNoCutP
x0
x1
⟶
∀ x2 .
SNo
x2
⟶
(
∀ x3 .
x3
∈
x0
⟶
SNoLt
x3
x2
)
⟶
(
∀ x3 .
x3
∈
x1
⟶
SNoLt
x2
x3
)
⟶
and
(
SNoLev
(
SNoCut
x0
x1
)
⊆
SNoLev
x2
)
(
SNoEq_
(
SNoLev
(
SNoCut
x0
x1
)
)
(
SNoCut
x0
x1
)
x2
)
Known
minus_SNo_invol
minus_SNo_invol
:
∀ x0 .
SNo
x0
⟶
minus_SNo
(
minus_SNo
x0
)
=
x0
Known
minus_SNo_Lt_contra
minus_SNo_Lt_contra
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNoLt
x0
x1
⟶
SNoLt
(
minus_SNo
x1
)
(
minus_SNo
x0
)
Known
minus_SNo_Lev
minus_SNo_Lev
:
∀ x0 .
SNo
x0
⟶
SNoLev
(
minus_SNo
x0
)
=
SNoLev
x0
Known
SNo_minus_SNo
SNo_minus_SNo
:
∀ x0 .
SNo
x0
⟶
SNo
(
minus_SNo
x0
)
Theorem
add_SNo_minus_SNo_linv
add_SNo_minus_SNo_linv
:
∀ x0 .
SNo
x0
⟶
add_SNo
(
minus_SNo
x0
)
x0
=
0
(proof)
Theorem
add_SNo_minus_SNo_rinv
add_SNo_minus_SNo_rinv
:
∀ x0 .
SNo
x0
⟶
add_SNo
x0
(
minus_SNo
x0
)
=
0
(proof)
Param
SNo_
SNo_
:
ι
→
ι
→
ο
Known
SNoS_E2
SNoS_E2
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
SNoS_
x0
⟶
∀ x2 : ο .
(
SNoLev
x1
∈
x0
⟶
ordinal
(
SNoLev
x1
)
⟶
SNo
x1
⟶
SNo_
(
SNoLev
x1
)
x1
⟶
x2
)
⟶
x2
Known
ordinal_SNo
ordinal_SNo
:
∀ x0 .
ordinal
x0
⟶
SNo
x0
Known
FalseE
FalseE
:
False
⟶
∀ x0 : ο .
x0
Known
EmptyE
EmptyE
:
∀ x0 .
nIn
x0
0
Theorem
add_SNo_ordinal_SNoCutP
add_SNo_ordinal_SNoCutP
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
ordinal
x1
⟶
SNoCutP
(
binunion
{
add_SNo
x2
x1
|x2 ∈
SNoS_
x0
}
(
prim5
(
SNoS_
x1
)
(
add_SNo
x0
)
)
)
0
(proof)
Known
ordinal_SNoL
ordinal_SNoL
:
∀ x0 .
ordinal
x0
⟶
SNoL
x0
=
SNoS_
x0
Known
ordinal_SNoR
ordinal_SNoR
:
∀ x0 .
ordinal
x0
⟶
SNoR
x0
=
0
Theorem
add_SNo_ordinal_eq
add_SNo_ordinal_eq
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
ordinal
x1
⟶
add_SNo
x0
x1
=
SNoCut
(
binunion
{
add_SNo
x3
x1
|x3 ∈
SNoS_
x0
}
(
prim5
(
SNoS_
x1
)
(
add_SNo
x0
)
)
)
0
(proof)
Known
SNo_max_ordinal
SNo_max_ordinal
:
∀ x0 .
SNo
x0
⟶
(
∀ x1 .
x1
∈
SNoS_
(
SNoLev
x0
)
⟶
SNoLt
x1
x0
)
⟶
ordinal
x0
Known
SNoLt_trichotomy_or
SNoLt_trichotomy_or
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
or
(
or
(
SNoLt
x0
x1
)
(
x0
=
x1
)
)
(
SNoLt
x1
x0
)
Known
In_irref
In_irref
:
∀ x0 .
nIn
x0
x0
Param
ordsucc
ordsucc
:
ι
→
ι
Param
famunion
famunion
:
ι
→
(
ι
→
ι
) →
ι
Known
SNoCutP_SNoCut
SNoCutP_SNoCut
:
∀ x0 x1 .
SNoCutP
x0
x1
⟶
and
(
and
(
and
(
and
(
SNo
(
SNoCut
x0
x1
)
)
(
SNoLev
(
SNoCut
x0
x1
)
∈
ordsucc
(
binunion
(
famunion
x0
(
λ x2 .
ordsucc
(
SNoLev
x2
)
)
)
(
famunion
x1
(
λ x2 .
ordsucc
(
SNoLev
x2
)
)
)
)
)
)
(
∀ x2 .
x2
∈
x0
⟶
SNoLt
x2
(
SNoCut
x0
x1
)
)
)
(
∀ x2 .
x2
∈
x1
⟶
SNoLt
(
SNoCut
x0
x1
)
x2
)
)
(
∀ x2 .
SNo
x2
⟶
(
∀ x3 .
x3
∈
x0
⟶
SNoLt
x3
x2
)
⟶
(
∀ x3 .
x3
∈
x1
⟶
SNoLt
x2
x3
)
⟶
and
(
SNoLev
(
SNoCut
x0
x1
)
⊆
SNoLev
x2
)
(
SNoEq_
(
SNoLev
(
SNoCut
x0
x1
)
)
(
SNoCut
x0
x1
)
x2
)
)
Theorem
add_SNo_ordinal_ordinal
add_SNo_ordinal_ordinal
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
ordinal
x1
⟶
ordinal
(
add_SNo
x0
x1
)
(proof)
Known
ordinal_ind
ordinal_ind
:
∀ x0 :
ι → ο
.
(
∀ x1 .
ordinal
x1
⟶
(
∀ x2 .
x2
∈
x1
⟶
x0
x2
)
⟶
x0
x1
)
⟶
∀ x1 .
ordinal
x1
⟶
x0
x1
Known
ordinal_ordsucc_In_eq
ordinal_ordsucc_In_eq
:
∀ x0 x1 .
ordinal
x0
⟶
x1
∈
x0
⟶
or
(
ordsucc
x1
∈
x0
)
(
x0
=
ordsucc
x1
)
Known
ordinal_SNoLev_max_2
ordinal_SNoLev_max_2
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
SNo
x1
⟶
SNoLev
x1
∈
ordsucc
x0
⟶
SNoLe
x1
x0
Known
ordsuccI2
ordsuccI2
:
∀ x0 .
x0
∈
ordsucc
x0
Known
ordinal_Subq_SNoLe
ordinal_Subq_SNoLe
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
x0
⊆
x1
⟶
SNoLe
x0
x1
Known
ordsuccE
ordsuccE
:
∀ x0 x1 .
x1
∈
ordsucc
x0
⟶
or
(
x1
∈
x0
)
(
x1
=
x0
)
Known
Subq_ref
Subq_ref
:
∀ x0 .
x0
⊆
x0
Known
ordinal_In_SNoLt
ordinal_In_SNoLt
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
SNoLt
x1
x0
Known
ordinal_ordsucc_In
ordinal_ordsucc_In
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordsucc
x1
∈
ordsucc
x0
Known
ordinal_SNoLt_In
ordinal_SNoLt_In
:
∀ x0 x1 .
ordinal
x0
⟶
ordinal
x1
⟶
SNoLt
x0
x1
⟶
x0
∈
x1
Known
ordinal_ordsucc
ordinal_ordsucc
:
∀ x0 .
ordinal
x0
⟶
ordinal
(
ordsucc
x0
)
Known
SNoS_I
SNoS_I
:
∀ x0 .
ordinal
x0
⟶
∀ x1 x2 .
x2
∈
x0
⟶
SNo_
x2
x1
⟶
x1
∈
SNoS_
x0
Known
ordinal_SNo_
ordinal_SNo_
:
∀ x0 .
ordinal
x0
⟶
SNo_
x0
x0
Theorem
add_SNo_ordinal_SL
add_SNo_ordinal_SL
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
ordinal
x1
⟶
add_SNo
(
ordsucc
x0
)
x1
=
ordsucc
(
add_SNo
x0
x1
)
(proof)
Theorem
add_SNo_ordinal_SR
add_SNo_ordinal_SR
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
ordinal
x1
⟶
add_SNo
x0
(
ordsucc
x1
)
=
ordsucc
(
add_SNo
x0
x1
)
(proof)
Known
ordinal_Hered
ordinal_Hered
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
x1
∈
x0
⟶
ordinal
x1
Theorem
add_SNo_ordinal_InL
add_SNo_ordinal_InL
:
∀ x0 .
ordinal
x0
⟶
∀ x1 .
ordinal
x1
⟶
∀ x2 .
x2
∈
x0
⟶
add_SNo
x2
x1
∈
add_SNo
x0
x1
(proof)
Known
dneg
dneg
:
∀ x0 : ο .
not
(
not
x0
)
⟶
x0
Known
SNoLt_irref
SNoLt_irref
:
∀ x0 .
not
(
SNoLt
x0
x0
)
Known
SNoCut_Le
SNoCut_Le
:
∀ x0 x1 x2 x3 .
SNoCutP
x0
x1
⟶
SNoCutP
x2
x3
⟶
(
∀ x4 .
x4
∈
x0
⟶
SNoLt
x4
(
SNoCut
x2
x3
)
)
⟶
(
∀ x4 .
x4
∈
x3
⟶
SNoLt
(
SNoCut
x0
x1
)
x4
)
⟶
SNoLe
(
SNoCut
x0
x1
)
(
SNoCut
x2
x3
)
Known
SNoCutP_SNoL_SNoR
SNoCutP_SNoL_SNoR
:
∀ x0 .
SNo
x0
⟶
SNoCutP
(
SNoL
x0
)
(
SNoR
x0
)
Known
SNoLtLe_or
SNoLtLe_or
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
or
(
SNoLt
x0
x1
)
(
SNoLe
x1
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
Theorem
add_SNo_SNoL_interpolate
add_SNo_SNoL_interpolate
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
∀ x2 .
x2
∈
SNoL
(
add_SNo
x0
x1
)
⟶
or
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
SNoL
x0
)
(
SNoLe
x2
(
add_SNo
x4
x1
)
)
⟶
x3
)
⟶
x3
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
SNoL
x1
)
(
SNoLe
x2
(
add_SNo
x0
x4
)
)
⟶
x3
)
⟶
x3
)
(proof)
Theorem
add_SNo_SNoR_interpolate
add_SNo_SNoR_interpolate
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
∀ x2 .
x2
∈
SNoR
(
add_SNo
x0
x1
)
⟶
or
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
SNoR
x0
)
(
SNoLe
(
add_SNo
x4
x1
)
x2
)
⟶
x3
)
⟶
x3
)
(
∀ x3 : ο .
(
∀ x4 .
and
(
x4
∈
SNoR
x1
)
(
SNoLe
(
add_SNo
x0
x4
)
x2
)
⟶
x3
)
⟶
x3
)
(proof)
Known
SNoLev_ind3
SNoLev_ind3
:
∀ x0 :
ι →
ι →
ι → ο
.
(
∀ x1 x2 x3 .
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
(
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x1
)
⟶
x0
x4
x2
x3
)
⟶
(
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x2
)
⟶
x0
x1
x4
x3
)
⟶
(
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x3
)
⟶
x0
x1
x2
x4
)
⟶
(
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x1
)
⟶
∀ x5 .
x5
∈
SNoS_
(
SNoLev
x2
)
⟶
x0
x4
x5
x3
)
⟶
(
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x1
)
⟶
∀ x5 .
x5
∈
SNoS_
(
SNoLev
x3
)
⟶
x0
x4
x2
x5
)
⟶
(
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x2
)
⟶
∀ x5 .
x5
∈
SNoS_
(
SNoLev
x3
)
⟶
x0
x1
x4
x5
)
⟶
(
∀ x4 .
x4
∈
SNoS_
(
SNoLev
x1
)
⟶
∀ x5 .
x5
∈
SNoS_
(
SNoLev
x2
)
⟶
∀ x6 .
x6
∈
SNoS_
(
SNoLev
x3
)
⟶
x0
x4
x5
x6
)
⟶
x0
x1
x2
x3
)
⟶
∀ x1 x2 x3 .
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
x0
x1
x2
x3
Known
SNoCut_ext
SNoCut_ext
:
∀ x0 x1 x2 x3 .
SNoCutP
x0
x1
⟶
SNoCutP
x2
x3
⟶
(
∀ x4 .
x4
∈
x0
⟶
SNoLt
x4
(
SNoCut
x2
x3
)
)
⟶
(
∀ x4 .
x4
∈
x1
⟶
SNoLt
(
SNoCut
x2
x3
)
x4
)
⟶
(
∀ x4 .
x4
∈
x2
⟶
SNoLt
x4
(
SNoCut
x0
x1
)
)
⟶
(
∀ x4 .
x4
∈
x3
⟶
SNoLt
(
SNoCut
x0
x1
)
x4
)
⟶
SNoCut
x0
x1
=
SNoCut
x2
x3
Theorem
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
(proof)
Theorem
add_SNo_cancel_L
add_SNo_cancel_L
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
add_SNo
x0
x1
=
add_SNo
x0
x2
⟶
x1
=
x2
(proof)
Theorem
minus_SNo_0
minus_SNo_0
:
minus_SNo
0
=
0
(proof)
Theorem
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
)
(proof)
Param
If_i
If_i
:
ο
→
ι
→
ι
→
ι
Param
mul_SNo
mul_SNo
:
ι
→
ι
→
ι
Definition
div_SNo
div_SNo
:=
λ x0 x1 .
If_i
(
x1
=
0
)
0
(
prim0
(
λ x2 .
and
(
SNo
x2
)
(
mul_SNo
x2
x1
=
x0
)
)
)
Param
SNo_pair
SNo_pair
:
ι
→
ι
→
ι
Param
CSNo_Re
CSNo_Re
:
ι
→
ι
Param
CSNo_Im
CSNo_Im
:
ι
→
ι
Definition
minus_CSNo
minus_CSNo
:=
λ x0 .
SNo_pair
(
minus_SNo
(
CSNo_Re
x0
)
)
(
minus_SNo
(
CSNo_Im
x0
)
)
Param
CSNo
CSNo
:
ι
→
ο
Known
CSNo_I
CSNo_I
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
CSNo
(
SNo_pair
x0
x1
)
Known
CSNo_ReR
CSNo_ReR
:
∀ x0 .
CSNo
x0
⟶
SNo
(
CSNo_Re
x0
)
Known
CSNo_ImR
CSNo_ImR
:
∀ x0 .
CSNo
x0
⟶
SNo
(
CSNo_Im
x0
)
Theorem
CSNo_minus_CSNo
CSNo_minus_CSNo
:
∀ x0 .
CSNo
x0
⟶
CSNo
(
minus_CSNo
x0
)
(proof)
Known
SNo_pair_0
SNo_pair_0
:
∀ x0 .
SNo_pair
x0
0
=
x0
Known
CSNo_Re2
CSNo_Re2
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
CSNo_Re
(
SNo_pair
x0
x1
)
=
x0
Theorem
SNo_Re
SNo_Re
:
∀ x0 .
SNo
x0
⟶
CSNo_Re
x0
=
x0
(proof)
Known
CSNo_Im2
CSNo_Im2
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
CSNo_Im
(
SNo_pair
x0
x1
)
=
x1
Theorem
SNo_Im
SNo_Im
:
∀ x0 .
SNo
x0
⟶
CSNo_Im
x0
=
0
(proof)
Theorem
Re_0
Re_0
:
CSNo_Re
0
=
0
(proof)
Theorem
Im_0
Im_0
:
CSNo_Im
0
=
0
(proof)
Known
SNo_1
SNo_1
:
SNo
1
Theorem
Re_1
Re_1
:
CSNo_Re
1
=
1
(proof)
Theorem
Im_1
Im_1
:
CSNo_Im
1
=
0
(proof)
Definition
Complex_i
Complex_i
:=
SNo_pair
0
1
Theorem
Re_i
Re_i
:
CSNo_Re
Complex_i
=
0
(proof)
Theorem
Im_i
Im_i
:
CSNo_Im
Complex_i
=
1
(proof)
Definition
add_CSNo
add_CSNo
:=
λ x0 x1 .
SNo_pair
(
add_SNo
(
CSNo_Re
x0
)
(
CSNo_Re
x1
)
)
(
add_SNo
(
CSNo_Im
x0
)
(
CSNo_Im
x1
)
)
Theorem
add_SNo_add_CSNo
add_SNo_add_CSNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
x0
x1
=
add_CSNo
x0
x1
(proof)
Theorem
CSNo_add_CSNo
CSNo_add_CSNo
:
∀ x0 x1 .
CSNo
x0
⟶
CSNo
x1
⟶
CSNo
(
add_CSNo
x0
x1
)
(proof)
Known
CSNo_ReIm
CSNo_ReIm
:
∀ x0 .
CSNo
x0
⟶
x0
=
SNo_pair
(
CSNo_Re
x0
)
(
CSNo_Im
x0
)
Theorem
add_CSNo_0L
add_CSNo_0L
:
∀ x0 .
CSNo
x0
⟶
add_CSNo
0
x0
=
x0
(proof)
Theorem
add_CSNo_0R
add_CSNo_0R
:
∀ x0 .
CSNo
x0
⟶
add_CSNo
x0
0
=
x0
(proof)
Theorem
add_CSNo_minus_CSNo_linv
add_CSNo_minus_CSNo_linv
:
∀ x0 .
CSNo
x0
⟶
add_CSNo
(
minus_CSNo
x0
)
x0
=
0
(proof)
Theorem
add_CSNo_minus_CSNo_rinv
add_CSNo_minus_CSNo_rinv
:
∀ x0 .
CSNo
x0
⟶
add_CSNo
x0
(
minus_CSNo
x0
)
=
0
(proof)
Theorem
minus_SNo_minus_CSNo
minus_SNo_minus_CSNo
:
∀ x0 .
SNo
x0
⟶
minus_SNo
x0
=
minus_CSNo
x0
(proof)
Param
mul_CSNo
mul_CSNo
:
ι
→
ι
→
ι
Definition
div_CSNo
div_CSNo
:=
λ x0 x1 .
If_i
(
x1
=
0
)
0
(
prim0
(
λ x2 .
and
(
CSNo
x2
)
(
mul_CSNo
x2
x1
=
x0
)
)
)