Step * of Lemma uniform_nat_measure_ind

[T:Type]. ∀[measure:T ⟶ ℕ]. ∀[P:T ⟶ ℙ].
  ((∀[i:T]. ((∀[j:{j:T| measure[j] < measure[i]} ]. P[j])  P[i]))  (∀[i:T]. P[i]))
BY
(RepeatFor ((D THENA Auto))
   THEN UseWitness ⌜λF.fix(F)⌝
   THEN (MemCD THENA Auto)
   THEN Assert ⌜∀m:ℕ. ∀i:T.  ((measure[i] ≤ m)  (fix(F) ∈ P[i]))⌝⋅
   THEN Try ((Unfold `uall` THEN MemTypeCD THEN Auto THEN InstHyp [⌜measure[i]⌝;⌜i⌝(-2)⋅ THEN Auto))) }

1
.....assertion..... 
1. Type
2. measure T ⟶ ℕ
3. T ⟶ ℙ
4. : ∀[i:T]. ((∀[j:{j:T| measure[j] < measure[i]} ]. P[j])  P[i])
⊢ ∀m:ℕ. ∀i:T.  ((measure[i] ≤ m)  (fix(F) ∈ P[i]))


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[measure:T  {}\mrightarrow{}  \mBbbN{}].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}[i:T].  ((\mforall{}[j:\{j:T|  measure[j]  <  measure[i]\}  ].  P[j])  {}\mRightarrow{}  P[i]))  {}\mRightarrow{}  (\mforall{}[i:T].  P[i]))


By


Latex:
(RepeatFor  3  ((D  0  THENA  Auto))
  THEN  UseWitness  \mkleeneopen{}\mlambda{}F.fix(F)\mkleeneclose{}
  THEN  (MemCD  THENA  Auto)
  THEN  Assert  \mkleeneopen{}\mforall{}m:\mBbbN{}.  \mforall{}i:T.    ((measure[i]  \mleq{}  m)  {}\mRightarrow{}  (fix(F)  \mmember{}  P[i]))\mkleeneclose{}\mcdot{}
  THEN  Try  ((Unfold  `uall`  0
                        THEN  MemTypeCD
                        THEN  Auto
                        THEN  InstHyp  [\mkleeneopen{}measure[i]\mkleeneclose{};\mkleeneopen{}i\mkleeneclose{}]  (-2)\mcdot{}
                        THEN  Auto)))




Home Index