Step
*
1
1
1
1
of Lemma
complete_nat_measure_ind
1. T : Type
2. measure : T ⟶ ℕ
3. P : T ⟶ ℙ
4. g : ∀i:T. ((∀j:{j:T| measure[j] < measure[i]} . P[j]) 
⇒ P[i])
⊢ ∀m:ℕ. ∀x:T.  ((measure[x] ≤ m) 
⇒ (g x letrec f(x)=g x f in f  ∈ P[x]))
BY
{ ((D 0 THENA Auto)
   THEN UseWitness ⌜λx,%. Ax⌝⋅
   THEN WeakNatInd (-1)
   THEN Auto
   THEN Unfold `genrec` 0
   THEN (RW (AddrC [2] (SweepUpC UnrollRecursionC)) 0 THEN Reduce 0 THEN Fold `genrec` 0 THEN (MemCD THENA Auto))⋅) }
1
.....subterm..... T:t
1:n
1. T : Type
2. measure : T ⟶ ℕ
3. P : T ⟶ ℙ
4. g : ∀i:T. ((∀j:{j:T| measure[j] < measure[i]} . P[j]) 
⇒ P[i])
5. m : ℤ
6. x : T
7. measure[x] ≤ 0
8. x1 : {j:T| measure[j] < measure[x]} 
⊢ g x1 letrec f(x)=g x f in f  ∈ P[x1]
2
.....subterm..... T:t
1:n
1. T : Type
2. measure : T ⟶ ℕ
3. P : T ⟶ ℙ
4. g : ∀i:T. ((∀j:{j:T| measure[j] < measure[i]} . P[j]) 
⇒ P[i])
5. m : ℤ
6. 0 < m
7. λx,%. Ax ∈ ∀x:T. ((measure[x] ≤ (m - 1)) 
⇒ (g x letrec f(x)=g x f in f  ∈ P[x]))
8. x : T
9. measure[x] ≤ m
10. x1 : {j:T| measure[j] < measure[x]} 
⊢ g x1 letrec f(x)=g x f in f  ∈ P[x1]
Latex:
Latex:
1.  T  :  Type
2.  measure  :  T  {}\mrightarrow{}  \mBbbN{}
3.  P  :  T  {}\mrightarrow{}  \mBbbP{}
4.  g  :  \mforall{}i:T.  ((\mforall{}j:\{j:T|  measure[j]  <  measure[i]\}  .  P[j])  {}\mRightarrow{}  P[i])
\mvdash{}  \mforall{}m:\mBbbN{}.  \mforall{}x:T.    ((measure[x]  \mleq{}  m)  {}\mRightarrow{}  (g  x  letrec  f(x)=g  x  f  in  f    \mmember{}  P[x]))
By
Latex:
((D  0  THENA  Auto)
  THEN  UseWitness  \mkleeneopen{}\mlambda{}x,\%.  Ax\mkleeneclose{}\mcdot{}
  THEN  WeakNatInd  (-1)
  THEN  Auto
  THEN  Unfold  `genrec`  0
  THEN  (RW  (AddrC  [2]  (SweepUpC  UnrollRecursionC))  0
              THEN  Reduce  0
              THEN  Fold  `genrec`  0
              THEN  (MemCD  THENA  Auto))\mcdot{})
Home
Index