Step
*
2
1
1
of Lemma
State-comb-fun-eq
.....wf..... 
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. ¬((X es e) = {} ∈ bag(A))
10. ¬↑first(e)
11. ∀l:Id. (1 ≤ #(init l))
12. ∀l:Id. single-valued-bag(init l;B)
13. single-valued-classrel(es;X;A)
14. ↑e ∈b X
⊢ last(λe'.0 <z #(rec-comb(λn.[X][n];λi,w,s. if bag-null(w 0) then s else lifting-2(f) (w 0) s fi init) es e')) e ∈ (∃e\000C':{E
  ((e' <loc e)
  ∧ (↑((λe'.0 <z #(rec-comb(λn.[X][n];λi,w,s. if bag-null(w 0) then s else lifting-2(f) (w 0) s fi init) es e')) e'))
  ∧ (∀e'':E
       ((e' <loc e'')
       
⇒ (e'' <loc e)
       
⇒ (¬↑((λe'.0 <z #(rec-comb(λn.[X][n];λi,w,s. if bag-null(w 0) then s else lifting-2(f) (w 0) s fi init) es e'))\000C 
              e'')))))})
  ∨ (¬(∃e':{E| ((e' <loc e)
               ∧ (↑((λe'.0 <z #(rec-comb(λn.[X][n];λi,w,s. if bag-null(w 0) then s else lifting-2(f) (w 0) s fi init) e\000Cs 
                                e')) 
                    e')))}))
BY
{ ((DoSubsume THENA MaAuto)
   THEN Using [`C',⌈B⌉] (BLemma `bag-size_wf`)⋅
   THEN Auto
   THEN (Assert ⌈rec-comb(λn.[X][n];λi,w,s. if bag-null(w 0) then s else lifting-2(f) (w 0) s fi init) ∈ EClass(B)⌉⋅
   THENM (Unfold `eclass` (-1) THEN Auto)
   )
   THEN Using [`A',⌈λx.A⌉;`n',⌈1⌉] (BLemma `rec-comb_wf`)⋅
   THEN MaAuto) }
Latex:
Latex:
.....wf..... 
1.  Info  :  Type
2.  B  :  Type
3.  A  :  Type
4.  f  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B
5.  init  :  Id  {}\mrightarrow{}  bag(B)
6.  X  :  EClass(A)
7.  es  :  EO+(Info)
8.  e  :  E
9.  \mneg{}((X  es  e)  =  \{\})
10.  \mneg{}\muparrow{}first(e)
11.  \mforall{}l:Id.  (1  \mleq{}  \#(init  l))
12.  \mforall{}l:Id.  single-valued-bag(init  l;B)
13.  single-valued-classrel(es;X;A)
14.  \muparrow{}e  \mmember{}\msubb{}  X
\mvdash{}  last(\mlambda{}e'.0  <z  \#(rec-comb(\mlambda{}n.[X][n];\mlambda{}i,w,s.  if  bag-null(w  0)  then  s  else  lifting-2(f)  (w  0)  s  fi  ;i\000Cnit) 
                                    es 
                                    e')) 
    e  \mmember{}  (\mexists{}e':\{E|  ((e'  <loc  e)
                              \mwedge{}  (\muparrow{}((\mlambda{}e'.0  <z  \#(rec-comb(\mlambda{}n.[X][n];\mlambda{}i,w,s.  if  bag-null(w  0)
                                                                                                                    then  s
                                                                                                                    else  lifting-2(f)  (w  0)  s
                                                                                                                    fi  ;init) 
                                                                es 
                                                                e')) 
                                        e'))
                              \mwedge{}  (\mforall{}e'':E
                                        ((e'  <loc  e'')
                                        {}\mRightarrow{}  (e''  <loc  e)
                                        {}\mRightarrow{}  (\mneg{}\muparrow{}((\mlambda{}e'.0  <z  \#(rec-comb(\mlambda{}n.[X][n];\mlambda{}i,w,s.  if  bag-null(w  0)
                                                                                                                                  then  s
                                                                                                                                  else  lifting-2(f)  (w  0)  s
                                                                                                                                  fi  ;init) 
                                                                              es 
                                                                              e')) 
                                                      e'')))))\})
    \mvee{}  (\mneg{}(\mexists{}e':\{E|  ((e'  <loc  e)
                              \mwedge{}  (\muparrow{}((\mlambda{}e'.0  <z  \#(rec-comb(\mlambda{}n.[X][n];\mlambda{}i,w,s.  if  bag-null(w  0)
                                                                                                                    then  s
                                                                                                                    else  lifting-2(f)  (w  0)  s
                                                                                                                    fi  ;init) 
                                                                es 
                                                                e')) 
                                        e')))\}))
By
Latex:
((DoSubsume  THENA  MaAuto)
  THEN  Using  [`C',\mkleeneopen{}B\mkleeneclose{}]  (BLemma  `bag-size\_wf`)\mcdot{}
  THEN  Auto
  THEN  (Assert  \mkleeneopen{}rec-comb(\mlambda{}n.[X][n];\mlambda{}i,w,s.  if  bag-null(w  0)  then  s  else  lifting-2(f)  (w  0)  s  fi  ;init\000C)
                              \mmember{}  EClass(B)\mkleeneclose{}\mcdot{}
  THENM  (Unfold  `eclass`  (-1)  THEN  Auto)
  )
  THEN  Using  [`A',\mkleeneopen{}\mlambda{}x.A\mkleeneclose{};`n',\mkleeneopen{}1\mkleeneclose{}]  (BLemma  `rec-comb\_wf`)\mcdot{}
  THEN  MaAuto)
Home
Index