Theorem revinj | index | src |

theorem revinj (l l2: nat): $ rev l = rev l2 <-> l = l2 $;
StepHypRefExpression
1 eqeq
rev (rev l) = l -> rev (rev l2) = l2 -> (rev (rev l) = rev (rev l2) <-> l = l2)
2 revrev
rev (rev l) = l
3 1, 2 ax_mp
rev (rev l2) = l2 -> (rev (rev l) = rev (rev l2) <-> l = l2)
4 revrev
rev (rev l2) = l2
5 3, 4 ax_mp
rev (rev l) = rev (rev l2) <-> l = l2
6 reveq
rev l = rev l2 -> rev (rev l) = rev (rev l2)
7 5, 6 sylib
rev l = rev l2 -> l = l2
8 reveq
l = l2 -> rev l = rev l2
9 7, 8 ibii
rev l = rev l2 <-> l = l2

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)