Nuprl Lemma : rotate-ring-step

T:Type. L:T List. x:T.  ((||L|| > 0)  (x = last(L))  rotate-ring(T;L;[x / firstn(||L|| - 1;L)]))


Proof not projected




Definitions occuring in Statement :  rotate-ring: rotate-ring(T;L1;L2) firstn: firstn(n;as) length: ||as|| gt: i > j all: x:A. B[x] implies: P  Q cons: [car / cdr] list: type List subtract: n - m natural_number: $n universe: Type equal: s = t last: last(L)
Definitions :  CollapseTHENA: Error :CollapseTHENA,  Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  D: Error :D,  function: x:A  B[x] all: x:A. B[x] last: last(L) member: t  T equal: s = t prop: universe: Type limited-type: LimitedType isect: x:A. B[x] uall: [x:A]. B[x] list: type List less_than: a < b gt: i > j rotate-ring: rotate-ring(T;L1;L2) implies: P  Q uimplies: b supposing a not: A false: False void: Void assert: b length: ||as|| subtype_rel: A r B uiff: uiff(P;Q) and: P  Q product: x:A  B[x] natural_number: $n exists: x:A. B[x] ifthenelse: if b then t else f fi  int_seg: {i..j} int: tactic: Error :tactic,  MaAuto: Error :MaAuto,  subtract: n - m firstn: firstn(n;as) cons: [car / cdr] ge: i  j  le: A  B strong-subtype: strong-subtype(A;B) hd: hd(l) tl: tl(l) fpf: a:A fp-B[a] pair: <a, b> eclass: EClass(A[eo; e]) add: n + m minus: -n int_iseg: {i...j} subtype: S  T rationals: real: set: {x:A| B[x]}  nat: top: Top or: P  Q bool: lelt: i  j < k lt_int: i <z j select: l[i] cand: A c B nil: [] intensional-universe: IType union: left + right unit: Unit bnot: b bor: p q band: p  q bimplies: p  q es-ble: e loc e' es-bless: e <loc e' es-eq-E: e = e' eq_lnk: a = b eq_id: a = b name_eq: name_eq(x;y) deq-all-disjoint: deq-all-disjoint(eq;ass;bs) deq-disjoint: deq-disjoint(eq;as;bs) deq-member: deq-member(eq;x;L) q_le: q_le(r;s) q_less: q_less(r;s) qeq: qeq(r;s) eq_atom: eq_atom$n(x;y) eq_type: eq_type(T;T') b-exists: (i<n.P[i])_b bl-exists: (xL.P[x])_b bl-all: (xL.P[x])_b dcdr-to-bool: [d] infix_ap: x f y apply: f a grp_blt: a < b set_blt: a < b null: null(as) eq_atom: x =a y eq_int: (i = j) le_int: i z j btrue: tt bfalse: ff l_member: (x  l) guard: {T} so_apply: x[s] sqequal: s ~ t Unfold: Error :Unfold,  sq_type: SQType(T) grp_car: |g| iff: P  Q rev_implies: P  Q
Lemmas :  int_iseg_wf select_firstn rev_implies_wf iff_wf select-cons bnot_of_le_int int_subtype_base subtype_base_sq bnot_wf le_int_wf assert_of_le_int bnot_of_lt_int assert_functionality_wrt_uiff eqff_to_assert assert_of_lt_int eqtt_to_assert uiff_transitivity bool_wf subtype_rel_wf intensional-universe_wf lt_int_wf select_wf int_seg_properties length_wf_nat top_wf member_wf firstn_wf le_wf nat_wf non_neg_length length_cons length_firstn int_seg_wf ifthenelse_wf length_wf gt_wf pos_length2 assert_wf false_wf not_wf last_wf

\mforall{}T:Type.  \mforall{}L:T  List.  \mforall{}x:T.
    ((||L||  >  0)  {}\mRightarrow{}  (x  =  last(L))  {}\mRightarrow{}  rotate-ring(T;L;[x  /  firstn(||L||  -  1;L)]))


Date html generated: 2012_02_20-PM-05_54_35
Last ObjectModification: 2012_02_02-PM-02_29_11

Home Index