Step * 1 1 of Lemma fset-find_wf


1. Type
2. eq EqDecider(T)
3. T ⟶ 𝔹
4. Base
5. s1 Base
6. s1 ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
7. s ∈ List
8. s1 ∈ List
9. set-equal(T;s;s1)
10. ∃x:T. (x ∈ s ∧ (↑(P x)))
11. ∀x,y:T.  (x ∈  y ∈  (↑(P x))  (↑(P y))  (x y ∈ T))
⊢ hd(filter(P;s)) hd(filter(P;s1)) ∈ {x:T| x ∈ s ∧ (↑(P x))} 
BY
(((Assert s1 ∈ fset(T) BY (EqTypeCD THEN Auto)) THEN DupHyp (-3))
   THEN (RWO "-2" (-1) THENA Auto)
   THEN DupHyp (-3)
   THEN (RWO "-3" (-1) THENA Auto)
   THEN ∀h:hyp. (Unfold `fset-member` THEN (RW assert_pushdownC THENA Auto)) }

1
1. Type
2. eq EqDecider(T)
3. T ⟶ 𝔹
4. Base
5. s1 Base
6. s1 ∈ pertype(λx,y. ((x ∈ List) ∧ (y ∈ List) ∧ set-equal(T;x;y)))
7. s ∈ List
8. s1 ∈ List
9. set-equal(T;s;s1)
10. ∃x:T. ((x ∈ s) ∧ (↑(P x)))
11. ∀x,y:T.  ((x ∈ s)  (y ∈ s)  (↑(P x))  (↑(P y))  (x y ∈ T))
12. s1 ∈ fset(T)
13. ∃x:T. ((x ∈ s1) ∧ (↑(P x)))
14. ∀x,y:T.  ((x ∈ s1)  (y ∈ s1)  (↑(P x))  (↑(P y))  (x y ∈ T))
⊢ hd(filter(P;s)) hd(filter(P;s1)) ∈ {x:T| x ∈ s ∧ (↑(P x))} 


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  P  :  T  {}\mrightarrow{}  \mBbbB{}
4.  s  :  Base
5.  s1  :  Base
6.  s  =  s1
7.  s  \mmember{}  T  List
8.  s1  \mmember{}  T  List
9.  set-equal(T;s;s1)
10.  \mexists{}x:T.  (x  \mmember{}  s  \mwedge{}  (\muparrow{}(P  x)))
11.  \mforall{}x,y:T.    (x  \mmember{}  s  {}\mRightarrow{}  y  \mmember{}  s  {}\mRightarrow{}  (\muparrow{}(P  x))  {}\mRightarrow{}  (\muparrow{}(P  y))  {}\mRightarrow{}  (x  =  y))
\mvdash{}  hd(filter(P;s))  =  hd(filter(P;s1))


By


Latex:
(((Assert  s  =  s1  BY  (EqTypeCD  THEN  Auto))  THEN  DupHyp  (-3))
  THEN  (RWO  "-2"  (-1)  THENA  Auto)
  THEN  DupHyp  (-3)
  THEN  (RWO  "-3"  (-1)  THENA  Auto)
  THEN  \mforall{}h:hyp.  (Unfold  `fset-member`  h  THEN  (RW  assert\_pushdownC  h  THENA  Auto))  )




Home Index