Theorem lenS | index | src |

pub theorem lenS (a b: nat): $ len (a : b) = suc (len b) $;
StepHypRefExpression
1 eqtr
len (a : b) = (\\ x, \\ z, \ y, suc y) @ (a, b, lrec 0 (\\ x, \\ z, \ y, suc y) b) ->
  (\\ x, \\ z, \ y, suc y) @ (a, b, lrec 0 (\\ x, \\ z, \ y, suc y) b) = suc (len b) ->
  len (a : b) = suc (len b)
2 lrecS
lrec 0 (\\ x, \\ z, \ y, suc y) (a : b) = (\\ x, \\ z, \ y, suc y) @ (a, b, lrec 0 (\\ x, \\ z, \ y, suc y) b)
3 2 conv len
len (a : b) = (\\ x, \\ z, \ y, suc y) @ (a, b, lrec 0 (\\ x, \\ z, \ y, suc y) b)
4 1, 3 ax_mp
(\\ x, \\ z, \ y, suc y) @ (a, b, lrec 0 (\\ x, \\ z, \ y, suc y) b) = suc (len b) -> len (a : b) = suc (len b)
5 anr
x = a /\ z = b /\ y = len b -> y = len b
6 5 suceqd
x = a /\ z = b /\ y = len b -> suc y = suc (len b)
7 6 applamed
x = a /\ z = b -> (\ y, suc y) @ len b = suc (len b)
8 7 appslamed
x = a -> (\\ z, \ y, suc y) @ (b, len b) = suc (len b)
9 8 appslame
(\\ x, \\ z, \ y, suc y) @ (a, b, len b) = suc (len b)
10 9 conv len
(\\ x, \\ z, \ y, suc y) @ (a, b, lrec 0 (\\ x, \\ z, \ y, suc y) b) = suc (len b)
11 4, 10 ax_mp
len (a : b) = suc (len b)

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)