Step * 1 2 of Lemma es-interface-history-pred


1. Info Type
2. es EO+(Info)
3. Type
4. EClass(A List)
5. 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 THEN (SplitOnConclITE THENA Auto) THEN Reduce 0) }

1
1. Info Type
2. es EO+(Info)
3. Type
4. EClass(A List)
5. 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. Type
4. EClass(A List)
5. 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