Theorem snoclen | index | src |

theorem snoclen (a b: nat): $ len (a |> b) = suc (len a) $;
StepHypRefExpression
1 eqtr
len (a |> b) = len a + len (b : 0) -> len a + len (b : 0) = suc (len a) -> len (a |> b) = suc (len a)
2 appendlen
len (a ++ b : 0) = len a + len (b : 0)
3 2 conv snoc
len (a |> b) = len a + len (b : 0)
4 1, 3 ax_mp
len a + len (b : 0) = suc (len a) -> len (a |> b) = suc (len a)
5 eqtr
len a + len (b : 0) = len a + 1 -> len a + 1 = suc (len a) -> len a + len (b : 0) = suc (len a)
6 addeq2
len (b : 0) = 1 -> len a + len (b : 0) = len a + 1
7 len1
len (b : 0) = 1
8 6, 7 ax_mp
len a + len (b : 0) = len a + 1
9 5, 8 ax_mp
len a + 1 = suc (len a) -> len a + len (b : 0) = suc (len a)
10 add12
len a + 1 = suc (len a)
11 9, 10 ax_mp
len a + len (b : 0) = suc (len a)
12 4, 11 ax_mp
len (a |> b) = suc (len 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)