Step * 1 1 of Lemma fpf-join-assoc

.....subterm..... T:t
1:n
1. Type
2. A ─→ Type
3. eq EqDecider(A)
4. List
5. f1 a:{a:A| (a ∈ d)}  ─→ B[a]
6. d1 List
7. g1 a:{a:A| (a ∈ d1)}  ─→ B[a]
8. d2 List
9. h1 a:{a:A| (a ∈ d2)}  ─→ B[a]
⊢ t.((¬bt ∈b d)) ∧b bt ∈b d1)))) a.(¬ba ∈b filter(λa.(¬ba ∈b d));d1)))) ∈ ({x:A| (x ∈ d2)}  ─→ 𝔹)
BY
(EqCD
   THEN (Auto THEN -1)
   THEN ((BLemma `iff_imp_equal_bool` THENM RW assert_pushdownC 0) THENA Auto)
   THEN (RWO "member_append" THENA Auto)
   THEN (RWO "member_filter" THENA Auto)
   THEN Reduce 0
   THEN RW assert_pushdownC 0⋅
   THEN Auto
   THEN AutoBoolCase ⌈t ∈b d)⌉⋅
   THEN ProveProp
   THEN Auto) }


Latex:


.....subterm.....  T:t
1:n
1.  A  :  Type
2.  B  :  A  {}\mrightarrow{}  Type
3.  eq  :  EqDecider(A)
4.  d  :  A  List
5.  f1  :  a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B[a]
6.  d1  :  A  List
7.  g1  :  a:\{a:A|  (a  \mmember{}  d1)\}    {}\mrightarrow{}  B[a]
8.  d2  :  A  List
9.  h1  :  a:\{a:A|  (a  \mmember{}  d2)\}    {}\mrightarrow{}  B[a]
\mvdash{}  (\mlambda{}t.((\mneg{}\msubb{}t  \mmember{}\msubb{}  d))  \mwedge{}\msubb{}  (\mneg{}\msubb{}t  \mmember{}\msubb{}  d1))))  =  (\mlambda{}a.(\mneg{}\msubb{}a  \mmember{}\msubb{}  d  @  filter(\mlambda{}a.(\mneg{}\msubb{}a  \mmember{}\msubb{}  d));d1))))


By

(EqCD
  THEN  (Auto  THEN  D  -1)
  THEN  ((BLemma  `iff\_imp\_equal\_bool`  THENM  RW  assert\_pushdownC  0)  THENA  Auto)
  THEN  (RWO  "member\_append"  0  THENA  Auto)
  THEN  (RWO  "member\_filter"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  RW  assert\_pushdownC  0\mcdot{}
  THEN  Auto
  THEN  AutoBoolCase  \mkleeneopen{}t  \mmember{}\msubb{}  d)\mkleeneclose{}\mcdot{}
  THEN  ProveProp
  THEN  Auto)




Home Index