Step * 1 1 1 1 1 of Lemma generic-non-empty


1. [T] Type
2. T
3. : ℕ ⟶ (T List) ⟶ ℙ
4. i:ℕ ⟶ s:(T List) ⟶ (∃s':T List. (s ≤ s' ∧ (R s')))
⊢ ∀i:ℕ(R ((λn.primrec(n 1;[];λi,s. if i <||fst((p s))|| then fst((p s)) else fst((p (s [X]))) fi )) i))
BY
(Reduce 0
   THEN Auto
   THEN (RWO "primrec-unroll" THENA Auto)
   THEN Reduce 0
   THEN Subst' ((i 1) 1) i ∈ ℤ 0
   THEN SplitOnConclITE
   THEN Auto
   THEN (SplitOnConclITE THENA (Auto THEN DoSubsume THEN Auto))
   THEN (((GenConclAtAddr [2; 1; 2]) THENA Auto) THEN ((GenConclAtAddr [2; 1]) THENA Auto) THEN (-2) THEN Auto)⋅}


Latex:


Latex:

1.  [T]  :  Type
2.  X  :  T
3.  R  :  \mBbbN{}  {}\mrightarrow{}  (T  List)  {}\mrightarrow{}  \mBbbP{}
4.  p  :  i:\mBbbN{}  {}\mrightarrow{}  s:(T  List)  {}\mrightarrow{}  (\mexists{}s':T  List.  (s  \mleq{}  s'  \mwedge{}  (R  i  s')))
\mvdash{}  \mforall{}i:\mBbbN{}
        (R  i 
          ((\mlambda{}n.primrec(n  +  1;[];\mlambda{}i,s.  if  i  <z  ||fst((p  i  s))||
                                                                then  fst((p  i  s))
                                                                else  fst((p  i  (s  @  [X])))
                                                                fi  )) 
            i))


By


Latex:
(Reduce  0
  THEN  Auto
  THEN  (RWO  "primrec-unroll"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  Subst'  ((i  +  1)  -  1)  =  i  0
  THEN  SplitOnConclITE
  THEN  Auto
  THEN  (SplitOnConclITE  THENA  (Auto  THEN  DoSubsume  THEN  Auto))
  THEN  (((GenConclAtAddr  [2;  1;  2])  THENA  Auto)
              THEN  ((GenConclAtAddr  [2;  1])  THENA  Auto)
              THEN  D  (-2)
              THEN  Auto)\mcdot{})




Home Index