Search for blocks/addresses/...
Proofgold Asset
asset id
637d1aeddf82a96f3ad896850a7df04b9a2d0b129e2bbf066cf47a9f8fc55f2a
asset hash
52c2e4db627314710b70b895059f001f7d57513f69bc6b72e17f6c91c9c6785d
bday / block
5076
tx
f01a5..
preasset
doc published by
Pr6Pc..
Param
SNo
SNo
:
ι
→
ο
Param
add_SNo
add_SNo
:
ι
→
ι
→
ι
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_add_SNo
SNo_add_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
add_SNo
x0
x1
)
Theorem
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
)
)
)
(proof)
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
add_SNo_com_3_0_1
add_SNo_com_3_0_1
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
add_SNo
x0
(
add_SNo
x1
x2
)
=
add_SNo
x1
(
add_SNo
x0
x2
)
Theorem
add_SNo_rotate_4_1
add_SNo_rotate_4_1
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
add_SNo
x0
(
add_SNo
x1
(
add_SNo
x2
x3
)
)
=
add_SNo
x3
(
add_SNo
x0
(
add_SNo
x1
x2
)
)
(proof)
Param
SNoLe
SNoLe
:
ι
→
ι
→
ο
Definition
or
or
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x2
)
⟶
(
x1
⟶
x2
)
⟶
x2
Param
SNoLt
SNoLt
:
ι
→
ι
→
ο
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
add_SNo_Lt1_cancel
add_SNo_Lt1_cancel
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x2
x1
)
⟶
SNoLt
x0
x2
Known
add_SNo_cancel_R
add_SNo_cancel_R
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
add_SNo
x0
x1
=
add_SNo
x2
x1
⟶
x0
=
x2
Known
SNoLe_ref
SNoLe_ref
:
∀ x0 .
SNoLe
x0
x0
Theorem
add_SNo_Le1_cancel
add_SNo_Le1_cancel
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
(
add_SNo
x0
x1
)
(
add_SNo
x2
x1
)
⟶
SNoLe
x0
x2
(proof)
Known
add_SNo_Lt2_cancel
add_SNo_Lt2_cancel
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x0
x2
)
⟶
SNoLt
x1
x2
Known
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
Theorem
8ebd3..
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
(
add_SNo
x0
x1
)
(
add_SNo
x0
x2
)
⟶
SNoLe
x1
x2
(proof)
Param
mul_SNo
mul_SNo
:
ι
→
ι
→
ι
Param
SNoS_
SNoS_
:
ι
→
ι
Param
SNoLev
SNoLev
:
ι
→
ι
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
Param
SNoCutP
SNoCutP
:
ι
→
ι
→
ο
Param
SNoL
SNoL
:
ι
→
ι
Param
minus_SNo
minus_SNo
:
ι
→
ι
Param
SNoR
SNoR
:
ι
→
ι
Param
SNoCut
SNoCut
:
ι
→
ι
→
ι
Known
mul_SNo_eq_3
mul_SNo_eq_3
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
∀ x2 : ο .
(
∀ x3 x4 .
SNoCutP
x3
x4
⟶
(
∀ x5 .
x5
∈
x3
⟶
∀ x6 : ο .
(
∀ x7 .
x7
∈
SNoL
x0
⟶
∀ x8 .
x8
∈
SNoL
x1
⟶
x5
=
add_SNo
(
mul_SNo
x7
x1
)
(
add_SNo
(
mul_SNo
x0
x8
)
(
minus_SNo
(
mul_SNo
x7
x8
)
)
)
⟶
x6
)
⟶
(
∀ x7 .
x7
∈
SNoR
x0
⟶
∀ x8 .
x8
∈
SNoR
x1
⟶
x5
=
add_SNo
(
mul_SNo
x7
x1
)
(
add_SNo
(
mul_SNo
x0
x8
)
(
minus_SNo
(
mul_SNo
x7
x8
)
)
)
⟶
x6
)
⟶
x6
)
⟶
(
∀ x5 .
x5
∈
SNoL
x0
⟶
∀ x6 .
x6
∈
SNoL
x1
⟶
add_SNo
(
mul_SNo
x5
x1
)
(
add_SNo
(
mul_SNo
x0
x6
)
(
minus_SNo
(
mul_SNo
x5
x6
)
)
)
∈
x3
)
⟶
(
∀ x5 .
x5
∈
SNoR
x0
⟶
∀ x6 .
x6
∈
SNoR
x1
⟶
add_SNo
(
mul_SNo
x5
x1
)
(
add_SNo
(
mul_SNo
x0
x6
)
(
minus_SNo
(
mul_SNo
x5
x6
)
)
)
∈
x3
)
⟶
(
∀ x5 .
x5
∈
x4
⟶
∀ x6 : ο .
(
∀ x7 .
x7
∈
SNoL
x0
⟶
∀ x8 .
x8
∈
SNoR
x1
⟶
x5
=
add_SNo
(
mul_SNo
x7
x1
)
(
add_SNo
(
mul_SNo
x0
x8
)
(
minus_SNo
(
mul_SNo
x7
x8
)
)
)
⟶
x6
)
⟶
(
∀ x7 .
x7
∈
SNoR
x0
⟶
∀ x8 .
x8
∈
SNoL
x1
⟶
x5
=
add_SNo
(
mul_SNo
x7
x1
)
(
add_SNo
(
mul_SNo
x0
x8
)
(
minus_SNo
(
mul_SNo
x7
x8
)
)
)
⟶
x6
)
⟶
x6
)
⟶
(
∀ x5 .
x5
∈
SNoL
x0
⟶
∀ x6 .
x6
∈
SNoR
x1
⟶
add_SNo
(
mul_SNo
x5
x1
)
(
add_SNo
(
mul_SNo
x0
x6
)
(
minus_SNo
(
mul_SNo
x5
x6
)
)
)
∈
x4
)
⟶
(
∀ x5 .
x5
∈
SNoR
x0
⟶
∀ x6 .
x6
∈
SNoL
x1
⟶
add_SNo
(
mul_SNo
x5
x1
)
(
add_SNo
(
mul_SNo
x0
x6
)
(
minus_SNo
(
mul_SNo
x5
x6
)
)
)
∈
x4
)
⟶
mul_SNo
x0
x1
=
SNoCut
x3
x4
⟶
x2
)
⟶
x2
Param
binunion
binunion
:
ι
→
ι
→
ι
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
Known
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
)
)
)
Known
SNo_mul_SNo
SNo_mul_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
mul_SNo
x0
x1
)
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
add_SNo_minus_Lt1b3
add_SNo_minus_Lt1b3
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLt
(
add_SNo
x0
x1
)
(
add_SNo
x3
x2
)
⟶
SNoLt
(
add_SNo
x0
(
add_SNo
x1
(
minus_SNo
x2
)
)
)
x3
Known
SNoL_SNoS
SNoL_SNoS
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
x1
∈
SNoL
x0
⟶
x1
∈
SNoS_
(
SNoLev
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
Definition
and
and
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x1
⟶
x2
)
⟶
x2
Known
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
)
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
SNoLeLt_tra
SNoLeLt_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
x1
⟶
SNoLt
x1
x2
⟶
SNoLt
x0
x2
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
add_SNo_com
add_SNo_com
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
add_SNo
x0
x1
=
add_SNo
x1
x0
Known
mul_SNo_Le
mul_SNo_Le
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLe
x2
x0
⟶
SNoLe
x3
x1
⟶
SNoLe
(
add_SNo
(
mul_SNo
x2
x1
)
(
mul_SNo
x0
x3
)
)
(
add_SNo
(
mul_SNo
x0
x1
)
(
mul_SNo
x2
x3
)
)
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_Lt
mul_SNo_Lt
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLt
x2
x0
⟶
SNoLt
x3
x1
⟶
SNoLt
(
add_SNo
(
mul_SNo
x2
x1
)
(
mul_SNo
x0
x3
)
)
(
add_SNo
(
mul_SNo
x0
x1
)
(
mul_SNo
x2
x3
)
)
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
SNoR_SNoS
SNoR_SNoS
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
x1
∈
SNoR
x0
⟶
x1
∈
SNoS_
(
SNoLev
x0
)
Known
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
)
Known
add_SNo_minus_Lt2b3
add_SNo_minus_Lt2b3
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLt
(
add_SNo
x3
x2
)
(
add_SNo
x0
x1
)
⟶
SNoLt
x3
(
add_SNo
x0
(
add_SNo
x1
(
minus_SNo
x2
)
)
)
Known
SNoLtLe_tra
SNoLtLe_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x1
⟶
SNoLe
x1
x2
⟶
SNoLt
x0
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
Known
mul_SNo_SNoL_interpolate_impred
mul_SNo_SNoL_interpolate_impred
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
∀ x2 .
x2
∈
SNoL
(
mul_SNo
x0
x1
)
⟶
∀ x3 : ο .
(
∀ x4 .
x4
∈
SNoL
x0
⟶
∀ x5 .
x5
∈
SNoL
x1
⟶
SNoLe
(
add_SNo
x2
(
mul_SNo
x4
x5
)
)
(
add_SNo
(
mul_SNo
x4
x1
)
(
mul_SNo
x0
x5
)
)
⟶
x3
)
⟶
(
∀ x4 .
x4
∈
SNoR
x0
⟶
∀ x5 .
x5
∈
SNoR
x1
⟶
SNoLe
(
add_SNo
x2
(
mul_SNo
x4
x5
)
)
(
add_SNo
(
mul_SNo
x4
x1
)
(
mul_SNo
x0
x5
)
)
⟶
x3
)
⟶
x3
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
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
)
Known
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
)
Known
mul_SNo_SNoR_interpolate_impred
mul_SNo_SNoR_interpolate_impred
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
∀ x2 .
x2
∈
SNoR
(
mul_SNo
x0
x1
)
⟶
∀ x3 : ο .
(
∀ x4 .
x4
∈
SNoL
x0
⟶
∀ x5 .
x5
∈
SNoR
x1
⟶
SNoLe
(
add_SNo
(
mul_SNo
x4
x1
)
(
mul_SNo
x0
x5
)
)
(
add_SNo
x2
(
mul_SNo
x4
x5
)
)
⟶
x3
)
⟶
(
∀ x4 .
x4
∈
SNoR
x0
⟶
∀ x5 .
x5
∈
SNoL
x1
⟶
SNoLe
(
add_SNo
(
mul_SNo
x4
x1
)
(
mul_SNo
x0
x5
)
)
(
add_SNo
x2
(
mul_SNo
x4
x5
)
)
⟶
x3
)
⟶
x3
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
)
)
)
Theorem
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
)
(proof)
Known
mul_SNo_com
mul_SNo_com
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
mul_SNo
x0
x1
=
mul_SNo
x1
x0
Theorem
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
)
(proof)