Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Let x1 of type ιι be given.
Let x2 of type ι be given.
Assume H0: nat_p x2.
Apply nat_ind with λ x3 . and (ap (SNo_sqrtaux x0 x1 x2) 0ap (SNo_sqrtaux x0 x1 (add_nat x2 x3)) 0) (ap (SNo_sqrtaux x0 x1 x2) 1ap (SNo_sqrtaux x0 x1 (add_nat x2 x3)) 1) leaving 2 subgoals.
Apply add_nat_0R with x2, λ x3 x4 . and (ap (SNo_sqrtaux x0 x1 x2) 0ap (SNo_sqrtaux x0 x1 x4) 0) (ap (SNo_sqrtaux x0 x1 x2) 1ap (SNo_sqrtaux x0 x1 x4) 1).
Apply andI with ap (SNo_sqrtaux x0 x1 x2) 0ap (SNo_sqrtaux x0 x1 x2) 0, ap (SNo_sqrtaux x0 x1 x2) 1ap (SNo_sqrtaux x0 x1 x2) 1 leaving 2 subgoals.
The subproof is completed by applying Subq_ref with ap (SNo_sqrtaux x0 x1 x2) 0.
The subproof is completed by applying Subq_ref with ap (SNo_sqrtaux x0 x1 x2) 1.
Let x3 of type ι be given.
Assume H1: nat_p x3.
Assume H2: and (ap (SNo_sqrtaux x0 x1 x2) 0ap (SNo_sqrtaux x0 x1 (add_nat x2 x3)) 0) (ap (SNo_sqrtaux x0 x1 x2) 1ap (SNo_sqrtaux x0 x1 (add_nat x2 x3)) 1).
Apply H2 with and (ap (SNo_sqrtaux x0 x1 x2) 0ap (SNo_sqrtaux x0 x1 (add_nat x2 (ordsucc x3))) 0) (ap (SNo_sqrtaux x0 x1 x2) 1ap (SNo_sqrtaux x0 x1 (add_nat x2 (ordsucc x3))) 1).
Assume H3: ap (SNo_sqrtaux x0 x1 x2) 0ap (SNo_sqrtaux x0 x1 (add_nat x2 x3)) 0.
Assume H4: ap (SNo_sqrtaux x0 x1 x2) 1ap (SNo_sqrtaux x0 x1 (add_nat x2 x3)) 1.
Apply add_nat_SR with x2, x3, λ x4 x5 . and (ap (SNo_sqrtaux x0 x1 x2) 0ap (SNo_sqrtaux x0 x1 x5) 0) (ap (SNo_sqrtaux x0 x1 x2) 1ap (SNo_sqrtaux x0 x1 x5) 1) leaving 2 subgoals.
The subproof is completed by applying H1.
Apply SNo_sqrtaux_S with x0, x1, add_nat x2 x3, λ x4 x5 . and (ap (SNo_sqrtaux x0 x1 x2) 0ap x5 0) (ap (SNo_sqrtaux x0 x1 x2) 1ap x5 1) leaving 2 subgoals.
Apply add_nat_p with x2, x3 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
...