Step
*
2
1
1
1
1
1
of Lemma
search_property
1. k : ℤ
2. 0 < k
3. ∀P:ℕk - 1 ⟶ 𝔹
     ((∃i:ℕk - 1. (↑(P i)) 
⇐⇒ 0 < search(k - 1;P))
     ∧ (↑(P (search(k - 1;P) - 1))) ∧ (∀j:ℕk - 1. ¬↑(P j) supposing j < search(k - 1;P) - 1) 
       supposing 0 < search(k - 1;P))
4. P : ℕk ⟶ 𝔹
5. 0 < search(k - 1;P)
6. (↑(P (search(k - 1;P) - 1))) ∧ (∀j:ℕk - 1. ¬↑(P j) supposing j < search(k - 1;P) - 1)
7. i1 : ℕk - 1
8. ↑(P i1)
9. i : ℕk
10. ↑(P i)
⊢ primrec(k;0;λi,j. if 0 <z j then j if P i then i + 1 else 0 fi ) = search(k - 1;P) ∈ ℤ
BY
{ (((RWO "primrec-unroll" 0 THENA Auto THEN Reduce 0) THEN Fold `search` 0) THEN Repeat (SplitOnConclITE THEN Auto')) }
Latex:
Latex:
1.  k  :  \mBbbZ{}
2.  0  <  k
3.  \mforall{}P:\mBbbN{}k  -  1  {}\mrightarrow{}  \mBbbB{}
          ((\mexists{}i:\mBbbN{}k  -  1.  (\muparrow{}(P  i))  \mLeftarrow{}{}\mRightarrow{}  0  <  search(k  -  1;P))
          \mwedge{}  (\muparrow{}(P  (search(k  -  1;P)  -  1)))  \mwedge{}  (\mforall{}j:\mBbbN{}k  -  1.  \mneg{}\muparrow{}(P  j)  supposing  j  <  search(k  -  1;P)  -  1) 
              supposing  0  <  search(k  -  1;P))
4.  P  :  \mBbbN{}k  {}\mrightarrow{}  \mBbbB{}
5.  0  <  search(k  -  1;P)
6.  (\muparrow{}(P  (search(k  -  1;P)  -  1)))  \mwedge{}  (\mforall{}j:\mBbbN{}k  -  1.  \mneg{}\muparrow{}(P  j)  supposing  j  <  search(k  -  1;P)  -  1)
7.  i1  :  \mBbbN{}k  -  1
8.  \muparrow{}(P  i1)
9.  i  :  \mBbbN{}k
10.  \muparrow{}(P  i)
\mvdash{}  primrec(k;0;\mlambda{}i,j.  if  0  <z  j  then  j  if  P  i  then  i  +  1  else  0  fi  )  =  search(k  -  1;P)
By
Latex:
(((RWO  "primrec-unroll"  0  THENA  Auto  THEN  Reduce  0)  THEN  Fold  `search`  0)
  THEN  Repeat  (SplitOnConclITE  THEN  Auto')
  )
Home
Index