Step
*
2
1
1
1
1
1
2
1
of Lemma
in-first-eclass
1. Info : Type
2. A : Type
3. Zs : EClass(A) List@i'
4. Z : EClass(A)@i'
5. ∀es:EO+(Info). ∀e:E.  (↑e ∈b first-eclass(Zs) 
⇐⇒ (∃X∈Zs. ↑e ∈b X))@i'
6. es : EO+(Info)@i'
7. ∀e:E. (↑e ∈b first-eclass(Zs) 
⇐⇒ (∃X∈Zs. ↑e ∈b X))
8. e : E@i
9. (↑e ∈b first-eclass(Zs)) 
⇒ (∃X∈Zs. ↑e ∈b X)
10. (↑e ∈b first-eclass(Zs)) 
⇐ (∃X∈Zs. ↑e ∈b X)
11. B : bag(A)@i
12. #(B) ≠ 1
13. accumulate (with value b and list item X):
     if (#(b) =z 1) then b else X es e fi 
    over list:
      Zs
    with starting value:
     {})
= B
∈ bag(A)@i
14. C : bag(A)@i
15. (Z es e) = C ∈ bag(A)@i
16. i : ℕ1@i
17. ↑(#([Z][i] es e) =z 1)@i
⊢ #(C) = 1 ∈ ℤ
BY
{ (Subst ⌜i ~ 0⌝ (-1)⋅ THEN Reduce (-1) THEN Auto) }
Latex:
Latex:
1.  Info  :  Type
2.  A  :  Type
3.  Zs  :  EClass(A)  List@i'
4.  Z  :  EClass(A)@i'
5.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (\muparrow{}e  \mmember{}\msubb{}  first-eclass(Zs)  \mLeftarrow{}{}\mRightarrow{}  (\mexists{}X\mmember{}Zs.  \muparrow{}e  \mmember{}\msubb{}  X))@i'
6.  es  :  EO+(Info)@i'
7.  \mforall{}e:E.  (\muparrow{}e  \mmember{}\msubb{}  first-eclass(Zs)  \mLeftarrow{}{}\mRightarrow{}  (\mexists{}X\mmember{}Zs.  \muparrow{}e  \mmember{}\msubb{}  X))
8.  e  :  E@i
9.  (\muparrow{}e  \mmember{}\msubb{}  first-eclass(Zs))  {}\mRightarrow{}  (\mexists{}X\mmember{}Zs.  \muparrow{}e  \mmember{}\msubb{}  X)
10.  (\muparrow{}e  \mmember{}\msubb{}  first-eclass(Zs))  \mLeftarrow{}{}  (\mexists{}X\mmember{}Zs.  \muparrow{}e  \mmember{}\msubb{}  X)
11.  B  :  bag(A)@i
12.  \#(B)  \mneq{}  1
13.  accumulate  (with  value  b  and  list  item  X):
          if  (\#(b)  =\msubz{}  1)  then  b  else  X  es  e  fi 
        over  list:
            Zs
        with  starting  value:
          \{\})
=  B@i
14.  C  :  bag(A)@i
15.  (Z  es  e)  =  C@i
16.  i  :  \mBbbN{}1@i
17.  \muparrow{}(\#([Z][i]  es  e)  =\msubz{}  1)@i
\mvdash{}  \#(C)  =  1
By
Latex:
(Subst  \mkleeneopen{}i  \msim{}  0\mkleeneclose{}  (-1)\mcdot{}  THEN  Reduce  (-1)  THEN  Auto)
Home
Index