Step * 1 of Lemma code-coded-seq1


1. : ℤ
2. k ≠ 0
3. 0 < k
4. ∀[x:ℕ]. (code-seq1(k;λn.coded-seq1(k 1;x;n)) x ∈ ℤ)
5. : ℕ
6. v1 : ℕ
7. v2 : ℕ
8. coded-pair(x) = <v1, v2> ∈ (ℕ × ℕ)
⊢ code-seq1(k 1;λn.if (n =z k) then v2 else coded-seq1(k 1;v1;n) fi x ∈ ℤ
BY
xxx(Unfold `code-seq1` 0
      THEN (RWO "primrec-unroll" THENA Auto)
      THEN Fold `code-seq1` 0
      THEN AutoSplit
      THEN (Subst' (k 1) THENA Auto))xxx }

1
1. : ℤ
2. ¬1 < 1
3. k ≠ 0
4. 0 < k
5. ∀[x:ℕ]. (code-seq1(k;λn.coded-seq1(k 1;x;n)) x ∈ ℤ)
6. : ℕ
7. v1 : ℕ
8. v2 : ℕ
9. coded-pair(x) = <v1, v2> ∈ (ℕ × ℕ)
⊢ code-pair(code-seq1(k;λn.if (n =z k) then v2 else coded-seq1(k 1;v1;n) fi );v2) x ∈ ℤ


Latex:


Latex:

1.  k  :  \mBbbZ{}
2.  k  \mneq{}  0
3.  0  <  k
4.  \mforall{}[x:\mBbbN{}].  (code-seq1(k;\mlambda{}n.coded-seq1(k  -  1;x;n))  =  x)
5.  x  :  \mBbbN{}
6.  v1  :  \mBbbN{}
7.  v2  :  \mBbbN{}
8.  coded-pair(x)  =  <v1,  v2>
\mvdash{}  code-seq1(k  +  1;\mlambda{}n.if  (n  =\msubz{}  k)  then  v2  else  coded-seq1(k  -  1;v1;n)  fi  )  =  x


By


Latex:
xxx(Unfold  `code-seq1`  0
        THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
        THEN  Fold  `code-seq1`  0
        THEN  AutoSplit
        THEN  (Subst'  (k  +  1)  -  1  \msim{}  k  0  THENA  Auto))xxx




Home Index