Theorem nthZ | index | src |

pub theorem nthZ (a l: nat): $ nth 0 (a : l) = suc a $;
StepHypRefExpression
1 eqtr
nth 0 (a : l) = suc (listfn (a : l) @ 0) -> suc (listfn (a : l) @ 0) = suc a -> nth 0 (a : l) = suc a
2 ifpos
0 < len (a : l) -> if (0 < len (a : l)) (suc (listfn (a : l) @ 0)) 0 = suc (listfn (a : l) @ 0)
3 2 conv nth
0 < len (a : l) -> nth 0 (a : l) = suc (listfn (a : l) @ 0)
4 lteq2
len (a : l) = suc (len l) -> (0 < len (a : l) <-> 0 < suc (len l))
5 lenS
len (a : l) = suc (len l)
6 4, 5 ax_mp
0 < len (a : l) <-> 0 < suc (len l)
7 lt01S
0 < suc (len l)
8 6, 7 mpbir
0 < len (a : l)
9 3, 8 ax_mp
nth 0 (a : l) = suc (listfn (a : l) @ 0)
10 1, 9 ax_mp
suc (listfn (a : l) @ 0) = suc a -> nth 0 (a : l) = suc a
11 suceq
listfn (a : l) @ 0 = a -> suc (listfn (a : l) @ 0) = suc a
12 listfnS0
listfn (a : l) @ 0 = a
13 11, 12 ax_mp
suc (listfn (a : l) @ 0) = suc a
14 10, 13 ax_mp
nth 0 (a : l) = suc a

Axiom use

axs_prop_calc (ax_1, ax_2, ax_3, ax_mp, itru), axs_pred_calc (ax_gen, ax_4, ax_5, ax_6, ax_7, ax_10, ax_11, ax_12), axs_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)