Step
*
1
of Lemma
fset-find_wf
1. T : Type
2. eq : EqDecider(T)
3. P : T ⟶ 𝔹
4. s : fset(T)
5. ∃x:T. (x ∈ s ∧ (↑(P x)))
6. ∀x,y:T.  (x ∈ s 
⇒ y ∈ s 
⇒ (↑(P x)) 
⇒ (↑(P y)) 
⇒ (x = y ∈ T))
⊢ fset-find(P;s) ∈ {x:T| x ∈ s ∧ (↑(P x))} 
BY
{ (QuotientElimForEquality 4 THEN Unfold `fset-find` 0) }
1
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))
⊢ 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  :  fset(T)
5.  \mexists{}x:T.  (x  \mmember{}  s  \mwedge{}  (\muparrow{}(P  x)))
6.  \mforall{}x,y:T.    (x  \mmember{}  s  {}\mRightarrow{}  y  \mmember{}  s  {}\mRightarrow{}  (\muparrow{}(P  x))  {}\mRightarrow{}  (\muparrow{}(P  y))  {}\mRightarrow{}  (x  =  y))
\mvdash{}  fset-find(P;s)  \mmember{}  \{x:T|  x  \mmember{}  s  \mwedge{}  (\muparrow{}(P  x))\} 
By
Latex:
(QuotientElimForEquality  4  THEN  Unfold  `fset-find`  0)
Home
Index