Search for blocks/addresses/...
Proofgold Asset
asset id
57ce2a293309f9599e834576b9c787ce51ada32c0ad4738c73f33718a7789355
asset hash
9117a717c117cdbe27b2d7841eb5c7307d2d7a8264dbd854066a3e458a089c3e
bday / block
27738
tx
1941c..
preasset
doc published by
PrQUS..
Param
SNo
SNo
:
ι
→
ο
Param
SNoLe
SNoLe
:
ι
→
ι
→
ο
Param
add_SNo
add_SNo
:
ι
→
ι
→
ι
Param
minus_SNo
minus_SNo
:
ι
→
ι
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_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
SNo_add_SNo
SNo_add_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
add_SNo
x0
x1
)
Known
SNo_minus_SNo
SNo_minus_SNo
:
∀ x0 .
SNo
x0
⟶
SNo
(
minus_SNo
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_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_SNo_linv
add_SNo_minus_SNo_linv
:
∀ x0 .
SNo
x0
⟶
add_SNo
(
minus_SNo
x0
)
x0
=
0
Known
add_SNo_0R
add_SNo_0R
:
∀ x0 .
SNo
x0
⟶
add_SNo
x0
0
=
x0
Theorem
add_SNo_minus_Le1b
add_SNo_minus_Le1b
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLe
x0
(
add_SNo
x2
x1
)
⟶
SNoLe
(
add_SNo
x0
(
minus_SNo
x1
)
)
x2
(proof)
Theorem
add_SNo_minus_Le1b3
add_SNo_minus_Le1b3
:
∀ x0 x1 x2 x3 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNoLe
(
add_SNo
x0
x1
)
(
add_SNo
x3
x2
)
⟶
SNoLe
(
add_SNo
x0
(
add_SNo
x1
(
minus_SNo
x2
)
)
)
x3
(proof)
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
add_SNo_com_3b_1_2
add_SNo_com_3b_1_2
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
add_SNo
(
add_SNo
x0
x1
)
x2
=
add_SNo
(
add_SNo
x0
x2
)
x1
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
)
)
Theorem
add_SNo_minus_Le12b3
add_SNo_minus_Le12b3
:
∀ x0 x1 x2 x3 x4 x5 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNo
x4
⟶
SNo
x5
⟶
SNoLe
(
add_SNo
x0
(
add_SNo
x1
x5
)
)
(
add_SNo
x3
(
add_SNo
x4
x2
)
)
⟶
SNoLe
(
add_SNo
x0
(
add_SNo
x1
(
minus_SNo
x2
)
)
)
(
add_SNo
x3
(
add_SNo
x4
(
minus_SNo
x5
)
)
)
(proof)
Param
SNoLt
SNoLt
:
ι
→
ι
→
ο
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
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
)
)
Theorem
add_SNo_minus_Lt12b3
add_SNo_minus_Lt12b3
:
∀ x0 x1 x2 x3 x4 x5 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNo
x3
⟶
SNo
x4
⟶
SNo
x5
⟶
SNoLt
(
add_SNo
x0
(
add_SNo
x1
x5
)
)
(
add_SNo
x3
(
add_SNo
x4
x2
)
)
⟶
SNoLt
(
add_SNo
x0
(
add_SNo
x1
(
minus_SNo
x2
)
)
)
(
add_SNo
x3
(
add_SNo
x4
(
minus_SNo
x5
)
)
)
(proof)
Definition
and
and
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x1
⟶
x2
)
⟶
x2
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
SNoCut
SNoCut
:
ι
→
ι
→
ι
Param
binunion
binunion
:
ι
→
ι
→
ι
Param
lam
Sigma
:
ι
→
(
ι
→
ι
) →
ι
Definition
setprod
setprod
:=
λ x0 x1 .
lam
x0
(
λ x2 .
x1
)
Param
mul_SNo
mul_SNo
:
ι
→
ι
→
ι
Param
ap
ap
:
ι
→
ι
→
ι
Param
ordsucc
ordsucc
:
ι
→
ι
Param
SNoLev
SNoLev
:
ι
→
ι
Param
famunion
famunion
:
ι
→
(
ι
→
ι
) →
ι
Definition
Subq
Subq
:=
λ x0 x1 .
∀ x2 .
x2
∈
x0
⟶
x2
∈
x1
Param
SNoEq_
SNoEq_
:
ι
→
ι
→
ι
→
ο
Known
SNoCutP_SNoCut_impred
SNoCutP_SNoCut_impred
:
∀ x0 x1 .
SNoCutP
x0
x1
⟶
∀ x2 : ο .
(
SNo
(
SNoCut
x0
x1
)
⟶
SNoLev
(
SNoCut
x0
x1
)
∈
ordsucc
(
binunion
(
famunion
x0
(
λ x3 .
ordsucc
(
SNoLev
x3
)
)
)
(
famunion
x1
(
λ x3 .
ordsucc
(
SNoLev
x3
)
)
)
)
⟶
(
∀ x3 .
x3
∈
x0
⟶
SNoLt
x3
(
SNoCut
x0
x1
)
)
⟶
(
∀ x3 .
x3
∈
x1
⟶
SNoLt
(
SNoCut
x0
x1
)
x3
)
⟶
(
∀ x3 .
SNo
x3
⟶
(
∀ x4 .
x4
∈
x0
⟶
SNoLt
x4
x3
)
⟶
(
∀ x4 .
x4
∈
x1
⟶
SNoLt
x3
x4
)
⟶
and
(
SNoLev
(
SNoCut
x0
x1
)
⊆
SNoLev
x3
)
(
SNoEq_
(
SNoLev
(
SNoCut
x0
x1
)
)
(
SNoCut
x0
x1
)
x3
)
)
⟶
x2
)
⟶
x2
Known
and3I
and3I
:
∀ x0 x1 x2 : ο .
x0
⟶
x1
⟶
x2
⟶
and
(
and
x0
x1
)
x2
Param
SNoL
SNoL
:
ι
→
ι
Param
SNoR
SNoR
:
ι
→
ι
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
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
SNoL_E
SNoL_E
:
∀ x0 .
SNo
x0
⟶
∀ x1 .
x1
∈
SNoL
x0
⟶
∀ x2 : ο .
(
SNo
x1
⟶
SNoLev
x1
∈
SNoLev
x0
⟶
SNoLt
x1
x0
⟶
x2
)
⟶
x2
Definition
False
False
:=
∀ x0 : ο .
x0
Definition
not
not
:=
λ x0 : ο .
x0
⟶
False
Known
dneg
dneg
:
∀ x0 : ο .
not
(
not
x0
)
⟶
x0
Definition
or
or
:=
λ x0 x1 : ο .
∀ x2 : ο .
(
x0
⟶
x2
)
⟶
(
x1
⟶
x2
)
⟶
x2
Known
SNoLtLe_or
SNoLtLe_or
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
or
(
SNoLt
x0
x1
)
(
SNoLe
x1
x0
)
Known
FalseE
FalseE
:
False
⟶
∀ x0 : ο .
x0
Known
andI
andI
:
∀ x0 x1 : ο .
x0
⟶
x1
⟶
and
x0
x1
Known
SNoLt_tra
SNoLt_tra
:
∀ x0 x1 x2 .
SNo
x0
⟶
SNo
x1
⟶
SNo
x2
⟶
SNoLt
x0
x1
⟶
SNoLt
x1
x2
⟶
SNoLt
x0
x2
Definition
nIn
nIn
:=
λ x0 x1 .
not
(
x0
∈
x1
)
Known
In_irref
In_irref
:
∀ x0 .
nIn
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
SNo_mul_SNo
SNo_mul_SNo
:
∀ x0 x1 .
SNo
x0
⟶
SNo
x1
⟶
SNo
(
mul_SNo
x0
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
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
SNoLtLe
SNoLtLe
:
∀ x0 x1 .
SNoLt
x0
x1
⟶
SNoLe
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
)
Known
binunionI1
binunionI1
:
∀ x0 x1 x2 .
x2
∈
x0
⟶
x2
∈
binunion
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
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
binunionI2
binunionI2
:
∀ x0 x1 x2 .
x2
∈
x1
⟶
x2
∈
binunion
x0
x1
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 .
∀ x3 : ο .
(
x2
∈
x0
⟶
x3
)
⟶
(
x2
∈
x1
⟶
x3
)
⟶
x2
∈
binunion
x0
x1
⟶
x3
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
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
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
)
Param
If_i
If_i
:
ο
→
ι
→
ι
→
ι
Known
tuple_2_0_eq
tuple_2_0_eq
:
∀ x0 x1 .
ap
(
lam
2
(
λ x3 .
If_i
(
x3
=
0
)
x0
x1
)
)
0
=
x0
Known
tuple_2_1_eq
tuple_2_1_eq
:
∀ x0 x1 .
ap
(
lam
2
(
λ x3 .
If_i
(
x3
=
0
)
x0
x1
)
)
1
=
x1
Known
ReplI
ReplI
:
∀ x0 .
∀ x1 :
ι → ι
.
∀ x2 .
x2
∈
x0
⟶
x1
x2
∈
prim5
x0
x1
Known
tuple_2_setprod
tuple_2_setprod
:
∀ x0 x1 x2 .
x2
∈
x0
⟶
∀ x3 .
x3
∈
x1
⟶
lam
2
(
λ x4 .
If_i
(
x4
=
0
)
x2
x3
)
∈
setprod
x0
x1
Known
ReplE_impred
ReplE_impred
:
∀ x0 .
∀ x1 :
ι → ι
.
∀ x2 .
x2
∈
prim5
x0
x1
⟶
∀ x3 : ο .
(
∀ x4 .
x4
∈
x0
⟶
x2
=
x1
x4
⟶
x3
)
⟶
x3
Known
ap1_Sigma
ap1_Sigma
:
∀ x0 .
∀ x1 :
ι → ι
.
∀ x2 .
x2
∈
lam
x0
x1
⟶
ap
x2
1
∈
x1
(
ap
x2
0
)
Known
ap0_Sigma
ap0_Sigma
:
∀ x0 .
∀ x1 :
ι → ι
.
∀ x2 .
x2
∈
lam
x0
x1
⟶
ap
x2
0
∈
x0
Theorem
mul_SNoCutP_lem
mul_SNoCutP_lem
:
∀ x0 x1 x2 x3 x4 x5 .
SNoCutP
x0
x1
⟶
SNoCutP
x2
x3
⟶
x4
=
SNoCut
x0
x1
⟶
x5
=
SNoCut
x2
x3
⟶
and
(
and
(
SNoCutP
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x0
x2
}
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x1
x3
}
)
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x0
x3
}
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x1
x2
}
)
)
(
mul_SNo
x4
x5
=
SNoCut
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x0
x2
}
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x1
x3
}
)
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x0
x3
}
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x1
x2
}
)
)
)
(
∀ x6 : ο .
(
∀ x7 x8 x9 x10 .
(
∀ x11 .
x11
∈
x7
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x0
⟶
∀ x14 .
x14
∈
x2
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x13
x4
⟶
SNoLt
x14
x5
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x0
⟶
∀ x12 .
x12
∈
x2
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x7
)
⟶
(
∀ x11 .
x11
∈
x8
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x1
⟶
∀ x14 .
x14
∈
x3
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x4
x13
⟶
SNoLt
x5
x14
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x1
⟶
∀ x12 .
x12
∈
x3
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x8
)
⟶
(
∀ x11 .
x11
∈
x9
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x0
⟶
∀ x14 .
x14
∈
x3
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x13
x4
⟶
SNoLt
x5
x14
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x0
⟶
∀ x12 .
x12
∈
x3
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x9
)
⟶
(
∀ x11 .
x11
∈
x10
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x1
⟶
∀ x14 .
x14
∈
x2
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x4
x13
⟶
SNoLt
x14
x5
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x1
⟶
∀ x12 .
x12
∈
x2
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x10
)
⟶
SNoCutP
(
binunion
x7
x8
)
(
binunion
x9
x10
)
⟶
mul_SNo
x4
x5
=
SNoCut
(
binunion
x7
x8
)
(
binunion
x9
x10
)
⟶
x6
)
⟶
x6
)
(proof)
Theorem
mul_SNoCutP_gen
mul_SNoCutP_gen
:
∀ x0 x1 x2 x3 x4 x5 .
SNoCutP
x0
x1
⟶
SNoCutP
x2
x3
⟶
x4
=
SNoCut
x0
x1
⟶
x5
=
SNoCut
x2
x3
⟶
SNoCutP
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x0
x2
}
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x1
x3
}
)
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x0
x3
}
{
add_SNo
(
mul_SNo
(
ap
x6
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x6
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x6
0
)
(
ap
x6
1
)
)
)
)
|x6 ∈
setprod
x1
x2
}
)
(proof)
Theorem
mul_SNoCut_eq
mul_SNoCut_eq
:
∀ x0 x1 x2 x3 x4 x5 .
SNoCutP
x0
x1
⟶
SNoCutP
x2
x3
⟶
x4
=
SNoCut
x0
x1
⟶
x5
=
SNoCut
x2
x3
⟶
mul_SNo
x4
x5
=
SNoCut
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x0
x2
}
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x1
x3
}
)
(
binunion
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x0
x3
}
{
add_SNo
(
mul_SNo
(
ap
x7
0
)
x5
)
(
add_SNo
(
mul_SNo
x4
(
ap
x7
1
)
)
(
minus_SNo
(
mul_SNo
(
ap
x7
0
)
(
ap
x7
1
)
)
)
)
|x7 ∈
setprod
x1
x2
}
)
(proof)
Theorem
mul_SNoCut_abs
mul_SNoCut_abs
:
∀ x0 x1 x2 x3 x4 x5 .
SNoCutP
x0
x1
⟶
SNoCutP
x2
x3
⟶
x4
=
SNoCut
x0
x1
⟶
x5
=
SNoCut
x2
x3
⟶
∀ x6 : ο .
(
∀ x7 x8 x9 x10 .
(
∀ x11 .
x11
∈
x7
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x0
⟶
∀ x14 .
x14
∈
x2
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x13
x4
⟶
SNoLt
x14
x5
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x0
⟶
∀ x12 .
x12
∈
x2
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x7
)
⟶
(
∀ x11 .
x11
∈
x8
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x1
⟶
∀ x14 .
x14
∈
x3
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x4
x13
⟶
SNoLt
x5
x14
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x1
⟶
∀ x12 .
x12
∈
x3
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x8
)
⟶
(
∀ x11 .
x11
∈
x9
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x0
⟶
∀ x14 .
x14
∈
x3
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x13
x4
⟶
SNoLt
x5
x14
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x0
⟶
∀ x12 .
x12
∈
x3
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x9
)
⟶
(
∀ x11 .
x11
∈
x10
⟶
∀ x12 : ο .
(
∀ x13 .
x13
∈
x1
⟶
∀ x14 .
x14
∈
x2
⟶
SNo
x13
⟶
SNo
x14
⟶
SNoLt
x4
x13
⟶
SNoLt
x14
x5
⟶
x11
=
add_SNo
(
mul_SNo
x13
x5
)
(
add_SNo
(
mul_SNo
x4
x14
)
(
minus_SNo
(
mul_SNo
x13
x14
)
)
)
⟶
x12
)
⟶
x12
)
⟶
(
∀ x11 .
x11
∈
x1
⟶
∀ x12 .
x12
∈
x2
⟶
add_SNo
(
mul_SNo
x11
x5
)
(
add_SNo
(
mul_SNo
x4
x12
)
(
minus_SNo
(
mul_SNo
x11
x12
)
)
)
∈
x10
)
⟶
SNoCutP
(
binunion
x7
x8
)
(
binunion
x9
x10
)
⟶
mul_SNo
x4
x5
=
SNoCut
(
binunion
x7
x8
)
(
binunion
x9
x10
)
⟶
x6
)
⟶
x6
(proof)