Step
*
2
1
2
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
⊢ (∃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) es e'\000C)) 
                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\000C) es 
                                   e')) 
                       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
{ (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{}  (\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')))\}))  \mmember{}  \mBbbP{}
By
Latex:
(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