Step
*
of Lemma
es-interface-equality-recursion
∀[Info,A:Type]. ∀[X,Y:EClass(A)].
  X = Y ∈ EClass(A) 
  supposing ∀es:EO+(Info). ∀e:E.
              ((∀e':E. ((e' < e) 
⇒ ((X es e') = (Y es e') ∈ bag(A)))) 
⇒ ((X es e) = (Y es e) ∈ bag(A)))
BY
{ (Auto
   THEN All (Unfold `eclass`)⋅
   THEN (Ext THEN Auto)
   THEN RenameVar `es' (-1)
   THEN (InstHyp [⌈es⌉] (-2)⋅ THENA Auto)
   THEN Ext
   THEN Auto) }
1
1. Info : Type
2. A : Type
3. X : es:EO+(Info) ─→ e:E ─→ bag(A)
4. Y : es:EO+(Info) ─→ e:E ─→ bag(A)
5. ∀es:EO+(Info). ∀e:E.  ((∀e':E. ((e' < e) 
⇒ ((X es e') = (Y es e') ∈ bag(A)))) 
⇒ ((X es e) = (Y es e) ∈ bag(A)))
6. es : EO+(Info)
7. ∀e:E. ((∀e':E. ((e' < e) 
⇒ ((X es e') = (Y es e') ∈ bag(A)))) 
⇒ ((X es e) = (Y es e) ∈ bag(A)))
8. x : E
⊢ (X es x) = (Y es x) ∈ bag(A)
Latex:
\mforall{}[Info,A:Type].  \mforall{}[X,Y:EClass(A)].
    X  =  Y 
    supposing  \mforall{}es:EO+(Info).  \mforall{}e:E.
                            ((\mforall{}e':E.  ((e'  <  e)  {}\mRightarrow{}  ((X  es  e')  =  (Y  es  e'))))  {}\mRightarrow{}  ((X  es  e)  =  (Y  es  e)))
By
(Auto
  THEN  All  (Unfold  `eclass`)\mcdot{}
  THEN  (Ext  THEN  Auto)
  THEN  RenameVar  `es'  (-1)
  THEN  (InstHyp  [\mkleeneopen{}es\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
  THEN  Ext
  THEN  Auto)
Home
Index