Step * 1 2 2 2 3 1 of Lemma fpf-split


1. [A] Type
2. eq EqDecider(A)@i
3. [B] A ─→ Type
4. List@i
5. f1 a:{a:A| (a ∈ d)}  ─→ B[a]@i
6. [P] A ─→ ℙ
7. dec : ∀a:A. Dec(P[a])@i
8. <d, f1> ∈ a:A fp-> B[a]
9. <filter(λa.[dec a]b;d), f1> ∈ a:A fp-> B[a]
10. <filter(λa.(¬b[dec a]b);d), f1> ∈ a:A fp-> B[a]
11. <d, f1> ⊆ <filter(λa.[dec a]b;d), f1> ⊕ <filter(λa.(¬b[dec a]b);d), f1>
12. <filter(λa.[dec a]b;d), f1> ⊕ <filter(λa.(¬b[dec a]b);d), f1> ⊆ <d, f1>
13. A@i
14. ↑a ∈b filter(λa.[dec a]b;d))
⊢ P[a]
BY
(((RWO "assert-deq-member" (-1)) THENA Auto)
   THEN ((RWO "member_filter" (-1)) THENA Auto)
   THEN (Reduce (-1))
   THEN (RW assert_pushdownC (-1))
   THEN Auto) }


Latex:



1.  [A]  :  Type
2.  eq  :  EqDecider(A)@i
3.  [B]  :  A  {}\mrightarrow{}  Type
4.  d  :  A  List@i
5.  f1  :  a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B[a]@i
6.  [P]  :  A  {}\mrightarrow{}  \mBbbP{}
7.  dec  :  \mforall{}a:A.  Dec(P[a])@i
8.  <d,  f1>  \mmember{}  a:A  fp->  B[a]
9.  <filter(\mlambda{}a.[dec  a]\msubb{};d),  f1>  \mmember{}  a:A  fp->  B[a]
10.  <filter(\mlambda{}a.(\mneg{}\msubb{}[dec  a]\msubb{});d),  f1>  \mmember{}  a:A  fp->  B[a]
11.  <d,  f1>  \msubseteq{}  <filter(\mlambda{}a.[dec  a]\msubb{};d),  f1>  \moplus{}  <filter(\mlambda{}a.(\mneg{}\msubb{}[dec  a]\msubb{});d),  f1>
12.  <filter(\mlambda{}a.[dec  a]\msubb{};d),  f1>  \moplus{}  <filter(\mlambda{}a.(\mneg{}\msubb{}[dec  a]\msubb{});d),  f1>  \msubseteq{}  <d,  f1>
13.  a  :  A@i
14.  \muparrow{}a  \mmember{}\msubb{}  filter(\mlambda{}a.[dec  a]\msubb{};d))
\mvdash{}  P[a]


By

(((RWO  "assert-deq-member"  (-1))  THENA  Auto)
  THEN  ((RWO  "member\_filter"  (-1))  THENA  Auto)
  THEN  (Reduce  (-1))
  THEN  (RW  assert\_pushdownC  (-1))
  THEN  Auto)




Home Index