Search for blocks/addresses/...
Proofgold Proof
pf
Let x0 of type
ι
be given.
Let x1 of type
ι
be given.
Assume H0:
SNoCutP
x0
x1
.
Let x2 of type
ο
be given.
Assume H1:
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
.
Apply SNoCutP_SNoCut with
x0
,
x1
,
x2
leaving 2 subgoals.
The subproof is completed by applying H0.
Assume H2:
and
(
and
(
and
(
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
)
.
Apply H2 with
(
∀ 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
.
Assume H3:
and
(
and
(
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
)
)
.
Apply H3 with
(
∀ 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
.
Assume H4:
and
(
SNo
(
SNoCut
x0
x1
)
)
(
SNoLev
(
SNoCut
x0
x1
)
∈
ordsucc
(
binunion
(
famunion
x0
(
λ x3 .
ordsucc
(
SNoLev
x3
)
)
)
...
)
)
.
...
■