Step * of Lemma Cn-comb_wf

[T:Type]. ∀[n,m:ℕ]. ∀[A:ℕm ⟶ Type].
  Cn-comb(n) ∈ funtype(m;A;T) ⟶ funtype(m;λk.if k <then (k 1)
                                              if (k =z n) then 0
                                              else k
                                              fi ;T) 
  supposing n < m
BY
(Unfold `Cn-comb` 0
   THEN (BasicUniformUnivCD Auto THEN Unhide THEN RepeatFor (MoveToConcl (-1)) THEN NatInd (-1))
   THEN (UnivCD THENA Auto)
   THEN (RWO "primrec-unroll" THENA Auto)
   THEN OldAutoSplit) }

1
1. Type
2. : ℤ
3. : ℕ
4. : ℕm ⟶ Type
5. 0 < m
6. 0 < 1
⊢ λf.f ∈ funtype(m;A;T) ⟶ funtype(m;λk.if k <then (k 1)
                                        if (k =z 0) then 0
                                        else k
                                        fi ;T)

2
1. Type
2. : ℤ
3. 0 < n
4. ∀m:ℕ. ∀A:ℕm ⟶ Type.
     (n 1 < m
      (primrec(n 1;λf.f;λi,F,f,x. (F (C-comb() x))) ∈ funtype(m;A;T) ⟶ funtype(m;λk.if k <then (k 1)
                                                                                   if (k =z 1) then 0
                                                                                   else k
                                                                                   fi ;T)))
5. : ℕ
6. : ℕm ⟶ Type
7. n < m
8. 1 ≤ n
⊢ λf,x. (primrec(n 1;λf.f;λi,F,f,x. (F (C-comb() x))) (C-comb() x)) ∈ funtype(m;A;T) ⟶ funtype(m;λk.if k <the\000Cn (k 1)
                                                                                               if (k =z n) then 0
                                                                                               else k
                                                                                               fi ;T)


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[n,m:\mBbbN{}].  \mforall{}[A:\mBbbN{}m  {}\mrightarrow{}  Type].
    Cn-comb(n)  \mmember{}  funtype(m;A;T)  {}\mrightarrow{}  funtype(m;\mlambda{}k.if  k  <z  n  then  A  (k  +  1)
                                                                                            if  (k  =\msubz{}  n)  then  A  0
                                                                                            else  A  k
                                                                                            fi  ;T) 
    supposing  n  <  m


By


Latex:
(Unfold  `Cn-comb`  0
  THEN  (BasicUniformUnivCD  Auto  THEN  Unhide  THEN  RepeatFor  3  (MoveToConcl  (-1))  THEN  NatInd  (-1))
  THEN  (UnivCD  THENA  Auto)
  THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
  THEN  OldAutoSplit)




Home Index