Step
*
1
2
of Lemma
es-interface-history-pred
1. Info : Type
2. es : EO+(Info)
3. A : Type
4. X : EClass(A List)
5. e : E
6. ¬↑first(e)
⊢ (concat(mapfilter(λe.X(e);λe.e ∈b X;before(e))) @ concat(mapfilter(λe.X(e);λe.e ∈b X;[e])))
= if e ∈b X
  then concat(mapfilter(λe.X(e);λe.e ∈b X;before(e))) @ X(e)
  else concat(mapfilter(λe.X(e);λe.e ∈b X;before(e)))
  fi 
∈ (A List)
BY
{ ((RW (AddrC [2; 2] (UnfoldC `mapfilter`)) 0) THEN Reduce 0 THEN (SplitOnConclITE THENA Auto) THEN Reduce 0) }
1
1. Info : Type
2. es : EO+(Info)
3. A : Type
4. X : EClass(A List)
5. e : E
6. ¬↑first(e)
7. ↑e ∈b X
⊢ (concat(mapfilter(λe.X(e);λe.e ∈b X;before(e))) @ concat([X(e)]))
= (concat(mapfilter(λe.X(e);λe.e ∈b X;before(e))) @ X(e))
∈ (A List)
2
1. Info : Type
2. es : EO+(Info)
3. A : Type
4. X : EClass(A List)
5. e : E
6. ¬↑first(e)
7. ¬↑e ∈b X
⊢ (concat(mapfilter(λe.X(e);λe.e ∈b X;before(e))) @ []) = concat(mapfilter(λe.X(e);λe.e ∈b X;before(e))) ∈ (A List)
Latex:
Latex:
1.  Info  :  Type
2.  es  :  EO+(Info)
3.  A  :  Type
4.  X  :  EClass(A  List)
5.  e  :  E
6.  \mneg{}\muparrow{}first(e)
\mvdash{}  (concat(mapfilter(\mlambda{}e.X(e);\mlambda{}e.e  \mmember{}\msubb{}  X;before(e)))  @  concat(mapfilter(\mlambda{}e.X(e);\mlambda{}e.e  \mmember{}\msubb{}  X;[e])))
=  if  e  \mmember{}\msubb{}  X
    then  concat(mapfilter(\mlambda{}e.X(e);\mlambda{}e.e  \mmember{}\msubb{}  X;before(e)))  @  X(e)
    else  concat(mapfilter(\mlambda{}e.X(e);\mlambda{}e.e  \mmember{}\msubb{}  X;before(e)))
    fi 
By
Latex:
((RW  (AddrC  [2;  2]  (UnfoldC  `mapfilter`))  0)
  THEN  Reduce  0
  THEN  (SplitOnConclITE  THENA  Auto)
  THEN  Reduce  0)
Home
Index