Search for blocks/addresses/...

Proofgold Proof

pf
Apply nat_inv_impred with λ x0 . ∀ x1 . nat_p x10x01x1x0mul_nat x0 x1 leaving 2 subgoals.
Let x0 of type ι be given.
Assume H0: nat_p x0.
Assume H1: 00.
Apply FalseE with 1x00mul_nat 0 x0.
Apply EmptyE with 0.
The subproof is completed by applying H1.
Let x0 of type ι be given.
Assume H0: nat_p x0.
Apply nat_inv_impred with λ x1 . 0ordsucc x01x1ordsucc x0mul_nat (ordsucc x0) x1 leaving 2 subgoals.
Assume H1: 0ordsucc x0.
Assume H2: 10.
Apply FalseE with ordsucc x0mul_nat (ordsucc x0) 0.
Apply In_no2cycle with 0, 1 leaving 2 subgoals.
The subproof is completed by applying In_0_1.
The subproof is completed by applying H2.
Apply nat_inv_impred with λ x1 . 0ordsucc x01ordsucc x1ordsucc x0mul_nat (ordsucc x0) (ordsucc x1) leaving 2 subgoals.
Assume H1: 0ordsucc x0.
Assume H2: 11.
Apply FalseE with ordsucc x0mul_nat (ordsucc x0) 1.
Apply In_irref with 1.
The subproof is completed by applying H2.
Let x1 of type ι be given.
Assume H1: nat_p x1.
Assume H2: 0ordsucc x0.
Assume H3: 1ordsucc (ordsucc x1).
Apply mul_nat_SR with ordsucc x0, ordsucc x1, λ x2 x3 . ordsucc x0x3 leaving 2 subgoals.
Apply nat_ordsucc with x1.
The subproof is completed by applying H1.
Apply add_nat_0R with ordsucc x0, λ x2 x3 . x2add_nat (ordsucc x0) (mul_nat (ordsucc x0) (ordsucc x1)).
Apply unknownprop_0572fd07b7b27d4a8020f07cf9f53538e7a9507efdd502126aa0026898fbc5e2 with ordsucc x0, mul_nat (ordsucc x0) (ordsucc x1), 0 leaving 3 subgoals.
Apply nat_ordsucc with x0.
The subproof is completed by applying H0.
Apply mul_nat_p with ordsucc x0, ordsucc x1 leaving 2 subgoals.
Apply nat_ordsucc with x0.
The subproof is completed by applying H0.
Apply nat_ordsucc with x1.
The subproof is completed by applying H1.
Apply mul_nat_SL with x0, ordsucc x1, λ x2 x3 . 0x3 leaving 3 subgoals.
The subproof is completed by applying H0.
Apply nat_ordsucc with x1.
The subproof is completed by applying H1.
Apply add_nat_SR with mul_nat x0 (ordsucc x1), x1, λ x2 x3 . 0x3 leaving 2 subgoals.
The subproof is completed by applying H1.
Apply nat_0_in_ordsucc with add_nat (mul_nat x0 (ordsucc x1)) x1.
Apply add_nat_p with mul_nat x0 (ordsucc x1), x1 leaving 2 subgoals.
Apply mul_nat_p with x0, ordsucc x1 leaving 2 subgoals.
The subproof is completed by applying H0.
Apply nat_ordsucc with x1.
The subproof is completed by applying H1.
The subproof is completed by applying H1.