Step
*
3
of Lemma
cycle-decomp
1. n : ℕ
2. f : {f:ℕn ⟶ ℕn| Inj(ℕn;ℕn;f)} 
3. orbits : ℕn List List
4. ∀orbit:ℕn List
     ((orbit ∈ orbits)
     
⇒ (0 < ||orbit||
        ∧ no_repeats(ℕn;orbit)
        ∧ (∀i:ℕ||orbit||. ((f orbit[i]) = if (i =z ||orbit|| - 1) then orbit[0] else orbit[i + 1] fi  ∈ ℕn))
        ∧ (∀x∈orbit.∀n@0:ℕ. (f^n@0 x ∈ orbit))))
5. ∀a:ℕn. (∃orbit∈orbits. (a ∈ orbit))
6. (∀o1,o2∈orbits.  l_disjoint(ℕn;o1;o2))
7. no_repeats(ℕn List;orbits)
8. ∀c1:ℕn List. ((c1 ∈ orbits) 
⇒ (∀c2∈orbits.(c1 = c2 ∈ (ℕn List)) ∨ l_disjoint(ℕn;c1;c2)))
9. ∀c:ℕn List. ((c ∈ orbits) 
⇒ (0 < ||c|| ∧ no_repeats(ℕn;c)))
⊢ f = reduce(λc,g. (cycle(c) o g);λx.x;orbits) ∈ (ℕn ⟶ ℕn)
BY
{ Assert ⌜∀a:ℕn. (∃orbit∈orbits. (a ∈ orbit) ∧ ((f a) = (cycle(orbit) a) ∈ ℕn))⌝⋅ }
1
.....assertion..... 
1. n : ℕ
2. f : {f:ℕn ⟶ ℕn| Inj(ℕn;ℕn;f)} 
3. orbits : ℕn List List
4. ∀orbit:ℕn List
     ((orbit ∈ orbits)
     
⇒ (0 < ||orbit||
        ∧ no_repeats(ℕn;orbit)
        ∧ (∀i:ℕ||orbit||. ((f orbit[i]) = if (i =z ||orbit|| - 1) then orbit[0] else orbit[i + 1] fi  ∈ ℕn))
        ∧ (∀x∈orbit.∀n@0:ℕ. (f^n@0 x ∈ orbit))))
5. ∀a:ℕn. (∃orbit∈orbits. (a ∈ orbit))
6. (∀o1,o2∈orbits.  l_disjoint(ℕn;o1;o2))
7. no_repeats(ℕn List;orbits)
8. ∀c1:ℕn List. ((c1 ∈ orbits) 
⇒ (∀c2∈orbits.(c1 = c2 ∈ (ℕn List)) ∨ l_disjoint(ℕn;c1;c2)))
9. ∀c:ℕn List. ((c ∈ orbits) 
⇒ (0 < ||c|| ∧ no_repeats(ℕn;c)))
⊢ ∀a:ℕn. (∃orbit∈orbits. (a ∈ orbit) ∧ ((f a) = (cycle(orbit) a) ∈ ℕn))
2
1. n : ℕ
2. f : {f:ℕn ⟶ ℕn| Inj(ℕn;ℕn;f)} 
3. orbits : ℕn List List
4. ∀orbit:ℕn List
     ((orbit ∈ orbits)
     
⇒ (0 < ||orbit||
        ∧ no_repeats(ℕn;orbit)
        ∧ (∀i:ℕ||orbit||. ((f orbit[i]) = if (i =z ||orbit|| - 1) then orbit[0] else orbit[i + 1] fi  ∈ ℕn))
        ∧ (∀x∈orbit.∀n@0:ℕ. (f^n@0 x ∈ orbit))))
5. ∀a:ℕn. (∃orbit∈orbits. (a ∈ orbit))
6. (∀o1,o2∈orbits.  l_disjoint(ℕn;o1;o2))
7. no_repeats(ℕn List;orbits)
8. ∀c1:ℕn List. ((c1 ∈ orbits) 
⇒ (∀c2∈orbits.(c1 = c2 ∈ (ℕn List)) ∨ l_disjoint(ℕn;c1;c2)))
9. ∀c:ℕn List. ((c ∈ orbits) 
⇒ (0 < ||c|| ∧ no_repeats(ℕn;c)))
10. ∀a:ℕn. (∃orbit∈orbits. (a ∈ orbit) ∧ ((f a) = (cycle(orbit) a) ∈ ℕn))
⊢ f = reduce(λc,g. (cycle(c) o g);λx.x;orbits) ∈ (ℕn ⟶ ℕn)
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  f  :  \{f:\mBbbN{}n  {}\mrightarrow{}  \mBbbN{}n|  Inj(\mBbbN{}n;\mBbbN{}n;f)\} 
3.  orbits  :  \mBbbN{}n  List  List
4.  \mforall{}orbit:\mBbbN{}n  List
          ((orbit  \mmember{}  orbits)
          {}\mRightarrow{}  (0  <  ||orbit||
                \mwedge{}  no\_repeats(\mBbbN{}n;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@0:\mBbbN{}.  (f\^{}n@0  x  \mmember{}  orbit))))
5.  \mforall{}a:\mBbbN{}n.  (\mexists{}orbit\mmember{}orbits.  (a  \mmember{}  orbit))
6.  (\mforall{}o1,o2\mmember{}orbits.    l\_disjoint(\mBbbN{}n;o1;o2))
7.  no\_repeats(\mBbbN{}n  List;orbits)
8.  \mforall{}c1:\mBbbN{}n  List.  ((c1  \mmember{}  orbits)  {}\mRightarrow{}  (\mforall{}c2\mmember{}orbits.(c1  =  c2)  \mvee{}  l\_disjoint(\mBbbN{}n;c1;c2)))
9.  \mforall{}c:\mBbbN{}n  List.  ((c  \mmember{}  orbits)  {}\mRightarrow{}  (0  <  ||c||  \mwedge{}  no\_repeats(\mBbbN{}n;c)))
\mvdash{}  f  =  reduce(\mlambda{}c,g.  (cycle(c)  o  g);\mlambda{}x.x;orbits)
By
Latex:
Assert  \mkleeneopen{}\mforall{}a:\mBbbN{}n.  (\mexists{}orbit\mmember{}orbits.  (a  \mmember{}  orbit)  \mwedge{}  ((f  a)  =  (cycle(orbit)  a)))\mkleeneclose{}\mcdot{}
Home
Index