Search for blocks/addresses/...
Proofgold Proof
pf
Apply SNoLev_ind with
λ x0 .
(
λ x1 .
∀ x2 .
SNo
x2
⟶
∀ x3 : ο .
(
SNo
(
mul_SNo
x1
x2
)
⟶
(
∀ x4 .
x4
∈
SNoL
x1
⟶
∀ x5 .
x5
∈
SNoL
x2
⟶
SNoLt
(
add_SNo
(
mul_SNo
x4
x2
)
(
mul_SNo
x1
x5
)
)
(
add_SNo
(
mul_SNo
x1
x2
)
(
mul_SNo
x4
x5
)
)
)
⟶
(
∀ x4 .
x4
∈
SNoR
x1
⟶
∀ x5 .
x5
∈
SNoR
x2
⟶
SNoLt
(
add_SNo
(
mul_SNo
x4
x2
)
(
mul_SNo
x1
x5
)
)
(
add_SNo
(
mul_SNo
x1
x2
)
(
mul_SNo
x4
x5
)
)
)
⟶
(
∀ x4 .
x4
∈
SNoL
x1
⟶
∀ x5 .
x5
∈
SNoR
x2
⟶
SNoLt
(
add_SNo
(
mul_SNo
x1
x2
)
(
mul_SNo
x4
x5
)
)
(
add_SNo
(
mul_SNo
x4
x2
)
(
mul_SNo
x1
x5
)
)
)
⟶
(
∀ x4 .
x4
∈
SNoR
x1
⟶
∀ x5 .
x5
∈
SNoL
x2
⟶
SNoLt
(
add_SNo
(
mul_SNo
x1
x2
)
(
mul_SNo
x4
x5
)
)
(
add_SNo
(
mul_SNo
x4
x2
)
(
mul_SNo
x1
x5
)
)
)
⟶
x3
)
⟶
x3
)
x0
.
Let x0 of type
ι
be given.
Assume H0:
SNo
x0
.
Assume H1:
∀ x1 .
x1
∈
SNoS_
(
SNoLev
x0
)
⟶
(
λ x2 .
∀ x3 .
SNo
x3
⟶
∀ x4 : ο .
(
SNo
(
mul_SNo
x2
x3
)
⟶
(
∀ x5 .
x5
∈
SNoL
x2
⟶
∀ x6 .
x6
∈
SNoL
x3
⟶
SNoLt
(
add_SNo
(
mul_SNo
x5
x3
)
(
mul_SNo
x2
x6
)
)
(
add_SNo
(
mul_SNo
x2
x3
)
(
mul_SNo
x5
x6
)
)
)
⟶
(
∀ x5 .
x5
∈
SNoR
x2
⟶
∀ x6 .
x6
∈
SNoR
x3
⟶
SNoLt
(
add_SNo
(
mul_SNo
x5
x3
)
(
mul_SNo
x2
x6
)
)
(
add_SNo
(
mul_SNo
x2
x3
)
(
mul_SNo
x5
x6
)
)
)
⟶
(
∀ x5 .
x5
∈
SNoL
x2
⟶
∀ x6 .
x6
∈
SNoR
x3
⟶
SNoLt
(
add_SNo
(
mul_SNo
x2
x3
)
(
mul_SNo
x5
x6
)
)
(
add_SNo
(
mul_SNo
x5
x3
)
(
mul_SNo
x2
x6
)
)
)
⟶
(
∀ x5 .
x5
∈
SNoR
x2
⟶
∀ x6 .
x6
∈
SNoL
x3
⟶
SNoLt
(
add_SNo
(
mul_SNo
x2
x3
)
(
mul_SNo
x5
x6
)
)
(
add_SNo
(
mul_SNo
x5
x3
)
(
mul_SNo
x2
x6
)
)
)
⟶
x4
)
⟶
x4
)
x1
.
Apply SNoLev_ind with
λ x1 .
(
λ x2 .
∀ x3 : ο .
(
...
⟶
...
⟶
...
⟶
...
⟶
(
∀ x4 .
...
⟶
∀ x5 .
x5
∈
SNoL
x2
⟶
SNoLt
(
add_SNo
(
mul_SNo
x0
x2
)
(
mul_SNo
x4
x5
)
)
(
add_SNo
(
mul_SNo
x4
x2
)
(
mul_SNo
x0
x5
)
)
)
⟶
x3
)
⟶
x3
)
...
.
...
■