Nuprl Lemma : orbit-decomp

[T:Type]
  ((∀x,y:T.  Dec(x y ∈ T))
   finite-type(T)
   (∀f:T ⟶ T
        ∃orbits:T List List
         ((∀orbit∈orbits.0 < ||orbit||
                 ∧ no_repeats(T;orbit)
                 ∧ (∀i:ℕ||orbit||. ((f orbit[i]) if (i =z ||orbit|| 1) then orbit[0] else orbit[i 1] fi  ∈ T))
                 ∧ (∀x∈orbit.∀n:ℕ(f^n x ∈ orbit)))
         ∧ (∀a:T. (∃orbit∈orbits. (a ∈ orbit)))
         ∧ (∀o1,o2∈orbits.  l_disjoint(T;o1;o2))) 
        supposing Inj(T;T;f)))


Proof




Definitions occuring in Statement :  finite-type: finite-type(T) pairwise: (∀x,y∈L.  P[x; y]) l_disjoint: l_disjoint(T;l1;l2) l_exists: (∃x∈L. P[x]) l_all: (∀x∈L.P[x]) no_repeats: no_repeats(T;l) l_member: (x ∈ l) select: L[n] length: ||as|| list: List fun_exp: f^n inject: Inj(A;B;f) int_seg: {i..j-} nat: ifthenelse: if then else fi  eq_int: (i =z j) less_than: a < b decidable: Dec(P) uimplies: supposing a uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] implies:  Q and: P ∧ Q apply: a function: x:A ⟶ B[x] subtract: m add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q all: x:A. B[x] uimplies: supposing a member: t ∈ T inject: Inj(A;B;f) exists: x:A. B[x] and: P ∧ Q so_lambda: λ2x.t[x] prop: int_seg: {i..j-} guard: {T} iff: ⇐⇒ Q rev_implies:  Q lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) false: False top: Top less_than: a < b squash: T subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) so_apply: x[s] l_disjoint: l_disjoint(T;l1;l2) pairwise: (∀x,y∈L.  P[x; y]) ge: i ≥  nat: true: True subtract: m uiff: uiff(P;Q) cons: [a b] compose: g bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  bfalse: ff assert: b l_all: (∀x∈L.P[x]) sq_type: SQType(T) cand: c∧ B l_member: (x ∈ l) no_repeats: no_repeats(T;l) last: last(L) nequal: a ≠ b ∈  bnot: ¬bb listp: List+ rev_uimplies: rev_uimplies(P;Q) so_apply: x[s1;s2] so_lambda: λ2y.t[x; y] l_contains: A ⊆ B l_exists: (∃x∈L. P[x])
Lemmas referenced :  orbit-cover l_all_iff list_wf l_member_wf less_than_wf length_wf no_repeats_wf all_wf int_seg_wf equal_wf select_wf int_seg_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf decidable__lt intformless_wf int_formula_prop_less_lemma fun_exp_wf int_seg_subtype_nat istype-false iff_wf exists_wf nat_wf istype-nat l_all_wf l_contains_wf inject_wf finite-type_wf decidable_wf istype-universe l_disjoint_wf le_wf select_member decidable__l_member subtract-1-ge-0 ge_wf nat_properties le-add-cancel add-zero add-associates add_functionality_wrt_le add-commutes minus-one-mul-top zero-add minus-one-mul minus-add condition-implies-le not-lt-2 length_wf_nat length_of_cons_lemma product_subtype_list nil_member length_of_nil_lemma list-cases fun_exp0_lemma int_term_value_subtract_lemma itermSubtract_wf subtract_wf not_wf bnot_wf int_formula_prop_eq_lemma intformeq_wf assert_wf int_subtype_base bool_wf equal-wf-base eq_int_wf fun_exp_unroll uiff_transitivity eqtt_to_assert assert_of_eq_int iff_transitivity iff_weakening_uiff eqff_to_assert assert_of_bnot iff_weakening_equal subtype_rel_self true_wf squash_wf fun_exp_add1 int_term_value_add_lemma itermAdd_wf btrue_neq_bfalse member-implies-null-eq-bfalse null_wf assert_elim last_wf null_cons_lemma null_nil_lemma last_member subtype_base_sq decidable__equal_int add-swap subtract-add-cancel equal-wf-T-base set_subtype_base lelt_wf istype-assert add-member-int_seg2 istype-le istype-less_than fun_exp_apply_add1 neg_assert_of_eq_int assert-bnot bool_subtype_base bool_cases_sqequal assert_of_null listp_properties length_of_not_nil fun_exp_add_sq pairwise_wf2 l_exists_wf fun_exp_add_apply l_disjoint-representatives pairwise-implies
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  Error :lambdaFormation_alt,  cut introduction sqequalRule sqequalHypSubstitution Error :lambdaEquality_alt,  dependent_functionElimination thin hypothesisEquality axiomEquality hypothesis Error :functionIsTypeImplies,  Error :inhabitedIsType,  rename extract_by_obid isectElimination independent_functionElimination productElimination Error :universeIsType,  setElimination productEquality closedConclusion natural_numberEquality because_Cache independent_isectElimination unionElimination approximateComputation Error :dependent_pairFormation_alt,  int_eqEquality Error :isect_memberEquality_alt,  voidElimination independent_pairFormation imageElimination applyEquality Error :setIsType,  functionEquality Error :functionIsType,  instantiate universeEquality Error :inrFormation_alt,  Error :unionIsType,  Error :inlFormation_alt,  Error :productIsType,  Error :dependent_set_memberEquality_alt,  cumulativity intWeakElimination functionExtensionality minusEquality addEquality hypothesis_subsumption promote_hyp Error :equalityIsType1,  equalitySymmetry equalityTransitivity Error :equalityIsType4,  intEquality baseClosed baseApply equalityElimination imageMemberEquality hyp_replacement applyLambdaEquality Error :equalityIstype,  sqequalBase

Latex:
\mforall{}[T:Type]
    ((\mforall{}x,y:T.    Dec(x  =  y))
    {}\mRightarrow{}  finite-type(T)
    {}\mRightarrow{}  (\mforall{}f:T  {}\mrightarrow{}  T
                \mexists{}orbits:T  List  List
                  ((\mforall{}orbit\mmember{}orbits.0  <  ||orbit||
                                  \mwedge{}  no\_repeats(T;orbit)
                                  \mwedge{}  (\mforall{}i:\mBbbN{}||orbit||
                                            ((f  orbit[i])  =  if  (i  =\msubz{}  ||orbit||  -  1)  then  orbit[0]  else  orbit[i  +  1]  fi  ))
                                  \mwedge{}  (\mforall{}x\mmember{}orbit.\mforall{}n:\mBbbN{}.  (f\^{}n  x  \mmember{}  orbit)))
                  \mwedge{}  (\mforall{}a:T.  (\mexists{}orbit\mmember{}orbits.  (a  \mmember{}  orbit)))
                  \mwedge{}  (\mforall{}o1,o2\mmember{}orbits.    l\_disjoint(T;o1;o2))) 
                supposing  Inj(T;T;f)))



Date html generated: 2019_06_20-PM-01_39_37
Last ObjectModification: 2018_11_22-PM-10_09_09

Theory : list_1


Home Index