Search for blocks/addresses/...
Proofgold Proof
pf
Claim L0:
...
...
Apply SNoLev_ind2 with
λ x0 x1 .
(
λ x2 x3 .
and
(
and
(
and
(
and
(
and
(
SNo
(
add_SNo
x2
x3
)
)
(
∀ x4 .
x4
∈
SNoL
x2
⟶
SNoLt
(
add_SNo
x4
x3
)
(
add_SNo
x2
x3
)
)
)
(
∀ x4 .
x4
∈
SNoR
x2
⟶
SNoLt
(
add_SNo
x2
x3
)
(
add_SNo
x4
x3
)
)
)
(
∀ x4 .
x4
∈
SNoL
x3
⟶
SNoLt
(
add_SNo
x2
x4
)
(
add_SNo
x2
x3
)
)
)
(
∀ x4 .
x4
∈
SNoR
x3
⟶
SNoLt
(
add_SNo
x2
x3
)
(
add_SNo
x2
x4
)
)
)
(
SNoCutP
(
binunion
{
add_SNo
x4
x3
|x4 ∈
SNoL
x2
}
{
add_SNo
x2
x4
|x4 ∈
SNoL
x3
}
)
(
binunion
{
add_SNo
x4
x3
|x4 ∈
SNoR
x2
}
{
add_SNo
x2
x4
|x4 ∈
SNoR
x3
}
)
)
)
x0
x1
.
Let x0 of type
ι
be given.
Let x1 of type
ι
be given.
Assume H1:
SNo
x0
.
Assume H2:
SNo
x1
.
Assume H3:
∀ x2 .
x2
∈
SNoS_
(
SNoLev
x0
)
⟶
(
λ x3 x4 .
and
(
and
(
and
(
and
(
and
(
SNo
(
add_SNo
x3
x4
)
)
(
∀ x5 .
x5
∈
SNoL
x3
⟶
SNoLt
(
add_SNo
x5
x4
)
(
add_SNo
x3
x4
)
)
)
(
∀ x5 .
x5
∈
SNoR
x3
⟶
SNoLt
(
add_SNo
x3
x4
)
(
add_SNo
x5
x4
)
)
)
(
∀ x5 .
x5
∈
SNoL
x4
⟶
SNoLt
(
add_SNo
x3
x5
)
(
add_SNo
x3
x4
)
)
)
(
∀ x5 .
x5
∈
SNoR
x4
⟶
SNoLt
(
add_SNo
x3
x4
)
(
add_SNo
x3
x5
)
)
)
(
SNoCutP
(
binunion
{
add_SNo
x5
x4
|x5 ∈
SNoL
x3
}
{
add_SNo
x3
x5
|x5 ∈
SNoL
x4
}
)
(
binunion
{
add_SNo
x5
x4
|x5 ∈
SNoR
x3
}
{
add_SNo
x3
x5
|x5 ∈
SNoR
x4
}
)
)
)
x2
x1
.
Assume H4:
∀ x2 .
...
⟶
(
λ x3 x4 .
and
(
and
(
and
(
and
(
and
(
SNo
(
add_SNo
x3
x4
)
)
(
∀ x5 .
x5
∈
SNoL
x3
⟶
SNoLt
(
add_SNo
x5
x4
)
(
add_SNo
x3
x4
)
)
)
(
∀ x5 .
x5
∈
SNoR
x3
⟶
SNoLt
(
add_SNo
x3
x4
)
(
add_SNo
x5
x4
)
)
)
(
∀ x5 .
x5
∈
SNoL
x4
⟶
SNoLt
(
add_SNo
x3
x5
)
(
add_SNo
x3
x4
)
)
)
(
∀ x5 .
x5
∈
SNoR
x4
⟶
SNoLt
(
add_SNo
x3
x4
)
(
add_SNo
x3
x5
)
)
)
(
SNoCutP
(
binunion
{
add_SNo
x5
x4
|x5 ∈
SNoL
x3
}
{
add_SNo
x3
x5
|x5 ∈
SNoL
x4
}
)
(
binunion
{
...
|x5 ∈
...
}
...
)
)
)
...
...
.
...
■