Search for blocks/addresses/...
Proofgold Proof
pf
Assume H0:
∀ x0 .
prime_nat
x0
⟶
odd_nat
x0
⟶
∃ x1 .
and
(
x1
∈
omega
)
(
∃ x2 .
and
(
x2
∈
omega
)
(
∃ x3 .
and
(
x3
∈
omega
)
(
∃ x4 .
and
(
x4
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x1
x1
)
(
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
mul_SNo
x4
x4
)
)
)
)
)
)
)
.
Claim L1:
∀ x0 .
nat_p
x0
⟶
∃ x1 .
and
(
x1
∈
omega
)
(
∃ x2 .
and
(
x2
∈
omega
)
(
∃ x3 .
and
(
x3
∈
omega
)
(
∃ x4 .
and
(
x4
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x1
x1
)
(
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
mul_SNo
x4
x4
)
)
)
)
)
)
)
Apply nat_complete_ind with
λ x0 .
∃ x1 .
and
(
x1
∈
omega
)
(
∃ x2 .
and
(
x2
∈
omega
)
(
∃ x3 .
and
(
x3
∈
omega
)
(
∃ x4 .
and
(
x4
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x1
x1
)
(
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
mul_SNo
x4
x4
)
)
)
)
)
)
)
.
Apply unknownprop_39cbd5c51ff5562ca51af25a1bd9cbc7231628adb31b4c53be0872935d25e1ee with
λ x0 .
(
∀ x1 .
x1
∈
x0
⟶
∃ x2 .
and
(
x2
∈
omega
)
(
∃ x3 .
and
(
x3
∈
omega
)
(
∃ x4 .
and
(
x4
∈
omega
)
(
∃ x5 .
and
(
x5
∈
omega
)
(
x1
=
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
add_SNo
(
mul_SNo
x4
x4
)
(
mul_SNo
x5
x5
)
)
)
)
)
)
)
)
⟶
∃ x1 .
and
(
x1
∈
omega
)
(
∃ x2 .
and
(
x2
∈
omega
)
(
∃ x3 .
and
(
x3
∈
omega
)
(
∃ x4 .
and
(
x4
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x1
x1
)
(
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
mul_SNo
x4
x4
)
)
)
)
)
)
)
leaving 4 subgoals.
Assume H1:
∀ x0 .
x0
∈
0
⟶
∃ x1 .
and
(
x1
∈
omega
)
(
∃ x2 .
and
(
x2
∈
omega
)
(
∃ x3 .
and
(
x3
∈
omega
)
(
∃ x4 .
and
(
x4
∈
omega
)
(
x0
=
add_SNo
(
mul_SNo
x1
x1
)
(
add_SNo
(
mul_SNo
x2
x2
)
(
add_SNo
(
mul_SNo
x3
x3
)
(
mul_SNo
x4
x4
)
)
)
)
)
)
)
.
Let x0 of type
ο
be given.
Assume H2:
∀ x1 .
and
(
x1
∈
omega
)
(
∃ x2 .
and
(
x2
∈
omega
)
(
∃ x3 .
and
(
x3
∈
omega
)
(
∃ x4 .
and
(
x4
∈
omega
)
...
)
)
)
⟶
x0
.
...
...
...
...
Let x0 of type
ι
be given.
Assume H2:
x0
∈
omega
.
Apply L1 with
x0
.
Apply omega_nat_p with
x0
.
The subproof is completed by applying H2.
■