Theorem lenleid | index | src |

theorem lenleid (l: nat): $ len l <= l $;
StepHypRefExpression
1 id
_1 = l -> _1 = l
2 1 leneqd
_1 = l -> len _1 = len l
3 2, 1 leeqd
_1 = l -> (len _1 <= _1 <-> len l <= l)
4 id
_1 = 0 -> _1 = 0
5 4 leneqd
_1 = 0 -> len _1 = len 0
6 5, 4 leeqd
_1 = 0 -> (len _1 <= _1 <-> len 0 <= 0)
7 id
_1 = a2 -> _1 = a2
8 7 leneqd
_1 = a2 -> len _1 = len a2
9 8, 7 leeqd
_1 = a2 -> (len _1 <= _1 <-> len a2 <= a2)
10 id
_1 = a1 : a2 -> _1 = a1 : a2
11 10 leneqd
_1 = a1 : a2 -> len _1 = len (a1 : a2)
12 11, 10 leeqd
_1 = a1 : a2 -> (len _1 <= _1 <-> len (a1 : a2) <= a1 : a2)
13 eqle
len 0 = 0 -> len 0 <= 0
14 len0
len 0 = 0
15 13, 14 ax_mp
len 0 <= 0
16 leeq1
len (a1 : a2) = suc (len a2) -> (len (a1 : a2) <= a1 : a2 <-> suc (len a2) <= a1 : a2)
17 lenS
len (a1 : a2) = suc (len a2)
18 16, 17 ax_mp
len (a1 : a2) <= a1 : a2 <-> suc (len a2) <= a1 : a2
19 lesuc
len a2 <= a1, a2 <-> suc (len a2) <= suc (a1, a2)
20 19 conv cons
len a2 <= a1, a2 <-> suc (len a2) <= a1 : a2
21 leprid2
a2 <= a1, a2
22 letr
len a2 <= a2 -> a2 <= a1, a2 -> len a2 <= a1, a2
23 21, 22 mpi
len a2 <= a2 -> len a2 <= a1, a2
24 20, 23 sylib
len a2 <= a2 -> suc (len a2) <= a1 : a2
25 18, 24 sylibr
len a2 <= a2 -> len (a1 : a2) <= a1 : a2
26 3, 6, 9, 12, 15, 25 listind
len l <= l

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)