Apply nat_inv_impred with
λ x0 . (x0 = 0 ⟶ ∀ x1 : ο . x1) ⟶ ∀ x1 . nat_p x1 ⟶ ∃ x2 . and (nat_p x2) (divides_nat x0 (add_nat x1 x2)) leaving 2 subgoals.
Assume H0: 0 = 0 ⟶ ∀ x0 : ο . x0.
Apply FalseE with
∀ x0 . nat_p x0 ⟶ ∃ x1 . and (nat_p x1) (divides_nat 0 (add_nat x0 x1)).
Apply H0.
Let x0 of type ι → ι → ο be given.
Assume H1: x0 0 0.
The subproof is completed by applying H1.
Let x0 of type ι be given.
Assume H1:
ordsucc x0 = 0 ⟶ ∀ x1 : ο . x1.
Apply nat_ind with
λ x1 . ∃ x2 . and (nat_p x2) (divides_nat (ordsucc x0) (add_nat x1 x2)) leaving 2 subgoals.
Let x1 of type ο be given.
Apply H3 with
0.
Apply andI with
nat_p 0,
divides_nat (ordsucc x0) (add_nat 0 0) leaving 2 subgoals.
The subproof is completed by applying nat_0.
Apply add_nat_0R with
0,
λ x2 x3 . divides_nat (ordsucc x0) x3.
Apply unknownprop_94b9b73b1207350973a964cfd79fac000c8d717e12b3149994867d613d318c69 with
ordsucc x0.
The subproof is completed by applying L2.
Let x1 of type ι be given.
Apply H4 with
∃ x2 . and (nat_p x2) (divides_nat (ordsucc x0) (add_nat (ordsucc x1) x2)).
Let x2 of type ι be given.
Apply H5 with
∃ x3 . and (nat_p x3) (divides_nat (ordsucc x0) (add_nat (ordsucc x1) x3)).
Apply nat_inv_impred with
λ x3 . divides_nat (ordsucc x0) (add_nat x1 x3) ⟶ ∃ x4 . and (nat_p x4) (divides_nat (ordsucc x0) (add_nat (ordsucc x1) x4)),
x2 leaving 2 subgoals.
Apply add_nat_0R with
x1,
λ x3 x4 . divides_nat (ordsucc x0) x4 ⟶ ∃ x5 . and (nat_p x5) (divides_nat (ordsucc x0) (add_nat (ordsucc x1) x5)).
Let x3 of type ο be given.
Apply H7 with
x0.
Apply andI with
nat_p x0,
divides_nat (ordsucc x0) (add_nat (ordsucc x1) x0) leaving 2 subgoals.
The subproof is completed by applying H0.
Apply add_nat_SL with
x1,
x0,
λ x4 x5 . divides_nat (ordsucc x0) x5 leaving 3 subgoals.
The subproof is completed by applying H3.
The subproof is completed by applying H0.
Apply add_nat_SR with
x1,
x0,
λ x4 x5 . divides_nat (ordsucc x0) x4 leaving 2 subgoals.
The subproof is completed by applying H0.
Apply add_nat_add_SNo with
x1,
ordsucc x0,
λ x4 x5 . divides_nat (ordsucc x0) x5 leaving 3 subgoals.
Apply nat_p_omega with
x1.
The subproof is completed by applying H3.
Apply nat_p_omega with
ordsucc x0.
The subproof is completed by applying L2.
Apply unknownprop_4f580385494c3bb0b65abf1bcb00277688faff94da8eb184b6015c42d53d3c52 with
ordsucc x0,
x1,
ordsucc x0 leaving 3 subgoals.
The subproof is completed by applying L2.
The subproof is completed by applying H6.
Apply unknownprop_98e7544997c6005aa9c4dc938c620a6df3d89601058380b842e41b24814e6d5b with
ordsucc x0.
The subproof is completed by applying L2.
Let x3 of type ι be given.
Let x4 of type ο be given.
Assume H8:
∀ x5 . and (nat_p x5) ... ⟶ x4.