Nuprl Lemma : iterate-rotate

[n,k:ℕ].  (rot(n)^k x.(x rem n)) ∈ (ℕn ⟶ ℕn))


Proof




Definitions occuring in Statement :  rotate: rot(n) fun_exp: f^n int_seg: {i..j-} nat: uall: [x:A]. B[x] lambda: λx.A[x] function: x:A ⟶ B[x] remainder: rem m add: m natural_number: $n equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T nat: all: x:A. B[x] le: A ≤ B nat_plus: + prop: top: Top not: ¬A implies:  Q false: False exists: x:A. B[x] satisfiable_int_formula: satisfiable_int_formula(fmla) uimplies: supposing a or: P ∨ Q decidable: Dec(P) and: P ∧ Q lelt: i ≤ j < k ge: i ≥  guard: {T} int_seg: {i..j-} fun_exp: f^n lt_int: i <j subtract: m ifthenelse: if then else fi  btrue: tt less_than: a < b squash: T subtype_rel: A ⊆B less_than': less_than'(a;b) true: True iff: ⇐⇒ Q rev_implies:  Q bool: 𝔹 unit: Unit it: uiff: uiff(P;Q) bfalse: ff sq_type: SQType(T) bnot: ¬bb assert: b so_apply: x[s] so_lambda: λ2x.t[x] compose: g rotate: rot(n) nequal: a ≠ b ∈ 
Lemmas referenced :  istype-nat int_seg_wf nat_wf lelt_wf less_than_wf less_than_transitivity2 le_wf int_formula_prop_wf int_term_value_var_lemma int_term_value_add_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_not_lemma int_formula_prop_and_lemma itermVar_wf itermAdd_wf itermConstant_wf intformle_wf intformnot_wf intformand_wf satisfiable-full-omega-tt decidable__le int_seg_properties nat_properties rem_bounds_1 full-omega-unsat intformless_wf istype-int istype-void int_formula_prop_less_lemma ge_wf istype-less_than primrec-unroll decidable__lt add-zero equal_wf rem_base_case int_seg_subtype_nat istype-false iff_weakening_equal trivial-equal istype-le subtract-1-ge-0 lt_int_wf eqtt_to_assert assert_of_lt_int eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf int_subtype_base set_subtype_base rotate_wf compose_wf equal-wf-T-base subtract_wf int_term_value_subtract_lemma int_formula_prop_eq_lemma itermSubtract_wf intformeq_wf decidable__equal_int rem_add1
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut sqequalRule sqequalHypSubstitution Error :isect_memberEquality_alt,  isectElimination thin hypothesisEquality axiomEquality hypothesis Error :isectIsTypeImplies,  Error :inhabitedIsType,  extract_by_obid rename setElimination natural_numberEquality lambdaFormation because_Cache computeAll independent_pairFormation voidEquality voidElimination isect_memberEquality intEquality int_eqEquality lambdaEquality dependent_pairFormation independent_isectElimination unionElimination dependent_functionElimination productElimination addEquality dependent_set_memberEquality intWeakElimination Error :lambdaFormation_alt,  approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  Error :universeIsType,  Error :functionIsTypeImplies,  Error :functionExtensionality_alt,  imageElimination Error :dependent_set_memberEquality_alt,  applyEquality imageMemberEquality baseClosed equalityTransitivity equalitySymmetry Error :productIsType,  equalityElimination Error :equalityIstype,  promote_hyp instantiate cumulativity closedConclusion baseApply functionEquality applyLambdaEquality hyp_replacement remainderEquality

Latex:
\mforall{}[n,k:\mBbbN{}].    (rot(n)\^{}k  =  (\mlambda{}x.(x  +  k  rem  n)))



Date html generated: 2019_06_20-PM-01_37_04
Last ObjectModification: 2019_03_06-AM-10_53_57

Theory : list_1


Home Index