Step
*
1
1
1
2
of Lemma
fset-find_wf
1. T : Type
2. eq : EqDecider(T)
3. P : T ⟶ 𝔹
4. s : Base
5. s1 : Base
6. s = s1 ∈ pertype(λx,y. ((x ∈ T List) ∧ (y ∈ T List) ∧ set-equal(T;x;y)))
7. s ∈ T List
8. s1 ∈ T 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. s = 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))
15. hd(filter(P;s)) = hd(filter(P;s1)) ∈ {x:T| (x ∈ s) ∧ (↑(P x))} 
⊢ {x:T| (x ∈ s) ∧ (↑(P x))}  ⊆r {x:T| x ∈ s ∧ (↑(P x))} 
BY
{ (Unfold `fset-member` 0 THEN RW assert_pushdownC 0 THEN Auto) }
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))
12.  s  =  s1
13.  \mexists{}x:T.  ((x  \mmember{}  s1)  \mwedge{}  (\muparrow{}(P  x)))
14.  \mforall{}x,y:T.    ((x  \mmember{}  s1)  {}\mRightarrow{}  (y  \mmember{}  s1)  {}\mRightarrow{}  (\muparrow{}(P  x))  {}\mRightarrow{}  (\muparrow{}(P  y))  {}\mRightarrow{}  (x  =  y))
15.  hd(filter(P;s))  =  hd(filter(P;s1))
\mvdash{}  \{x:T|  (x  \mmember{}  s)  \mwedge{}  (\muparrow{}(P  x))\}    \msubseteq{}r  \{x:T|  x  \mmember{}  s  \mwedge{}  (\muparrow{}(P  x))\} 
By
Latex:
(Unfold  `fset-member`  0  THEN  RW  assert\_pushdownC  0  THEN  Auto)
Home
Index