Search for blocks/addresses/...
Proofgold Proof
pf
Let x0 of type
ι
be given.
Assume H0:
SNo
x0
.
Assume H1:
SNoLe
0
x0
.
Assume H2:
∀ x1 .
nat_p
x1
⟶
and
(
∀ x2 .
x2
∈
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
0
)
x1
⟶
and
(
and
(
SNo
x2
)
(
SNoLe
0
x2
)
)
(
SNoLt
(
mul_SNo
x2
x2
)
x0
)
)
(
∀ x2 .
x2
∈
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
1
)
x1
⟶
and
(
and
(
SNo
x2
)
(
SNoLe
0
x2
)
)
(
SNoLt
x0
(
mul_SNo
x2
x2
)
)
)
.
Apply and3I with
∀ x1 .
x1
∈
famunion
omega
(
λ x2 .
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
0
)
x2
)
⟶
SNo
x1
,
∀ x1 .
x1
∈
famunion
omega
(
λ x2 .
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
1
)
x2
)
⟶
SNo
x1
,
∀ x1 .
x1
∈
famunion
omega
(
λ x2 .
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
0
)
x2
)
⟶
∀ x2 .
x2
∈
famunion
omega
(
λ x3 .
(
λ x4 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x4
)
1
)
x3
)
⟶
SNoLt
x1
x2
leaving 3 subgoals.
Let x1 of type
ι
be given.
Assume H3:
x1
∈
famunion
omega
(
λ x2 .
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
0
)
x2
)
.
Apply famunionE_impred with
omega
,
λ x2 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x2
)
0
,
x1
,
SNo
x1
leaving 2 subgoals.
The subproof is completed by applying H3.
Let x2 of type
ι
be given.
Assume H4:
x2
∈
omega
.
Assume H5:
x1
∈
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
0
)
x2
.
Apply H2 with
x2
,
SNo
x1
leaving 2 subgoals.
Apply omega_nat_p with
x2
.
The subproof is completed by applying H4.
Assume H6:
∀ x3 .
x3
∈
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x2
)
0
⟶
and
(
and
(
SNo
x3
)
(
SNoLe
0
x3
)
)
(
SNoLt
(
mul_SNo
x3
x3
)
x0
)
.
Assume H7:
∀ x3 .
x3
∈
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x2
)
1
⟶
and
(
and
(
SNo
x3
)
(
SNoLe
0
x3
)
)
(
SNoLt
x0
(
mul_SNo
x3
x3
)
)
.
Apply H6 with
x1
,
SNo
x1
leaving 2 subgoals.
The subproof is completed by applying H5.
Assume H8:
and
(
SNo
x1
)
(
SNoLe
0
x1
)
.
Assume H9:
SNoLt
(
mul_SNo
x1
x1
)
x0
.
Apply H8 with
SNo
x1
.
Assume H10:
SNo
x1
.
Assume H11:
SNoLe
0
x1
.
The subproof is completed by applying H10.
Let x1 of type
ι
be given.
Assume H3:
x1
∈
famunion
omega
(
λ x2 .
(
λ x3 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x3
)
1
)
x2
)
.
Apply famunionE_impred with
omega
,
λ x2 .
ap
(
SNo_sqrtaux
x0
sqrt_SNo_nonneg
x2
)
1
,
x1
,
SNo
...
leaving 2 subgoals.
...
...
...
■