Step
*
1
1
of Lemma
iseg-remainder-as-filter
1. T : Type
2. R : T ⟶ T ⟶ ℙ
3. sa : T List
4. s : T List
5. sb : T List
6. Irrefl(T;x,y.R x y)
7. AntiSym(T;x,y.R x y)
8. s = (sa @ sb) ∈ (T List)
9. sorted-by(R;s)
10. Trans(T;a,b.R a b)
11. dR : T ⟶ T ⟶ 𝔹
12. ∀x,y:T.  (↑(dR x y) 
⇐⇒ R x y)
13. ¬↑null(sa)
14. ∀x:T. ((x ∈ sa) 
⇐⇒ (¬↑null(sa)) ∧ (x ∈ s) ∧ ((x = last(sa) ∈ T) ∨ (R x last(sa))))
15. ∀[sa,sb:T List].  (sa = sb ∈ (T List)) supposing (sorted-by(R;sa) and sorted-by(R;sb) and set-equal(T;sa;sb))
⊢ set-equal(T;sb;filter(dR last(sa);s))
BY
{ xxx(UnfoldTopAb 0 THEN ParallelOp 14 THEN ((RWO "member_filter" 0 THENM Reduce 0 THENM RWO  "12" 0) THENA Auto))xxx }
1
1. T : Type
2. R : T ⟶ T ⟶ ℙ
3. sa : T List
4. s : T List
5. sb : T List
6. Irrefl(T;x,y.R x y)
7. AntiSym(T;x,y.R x y)
8. s = (sa @ sb) ∈ (T List)
9. sorted-by(R;s)
10. Trans(T;a,b.R a b)
11. dR : T ⟶ T ⟶ 𝔹
12. ∀x,y:T.  (↑(dR x y) 
⇐⇒ R x y)
13. ¬↑null(sa)
14. ∀x:T. ((x ∈ sa) 
⇐⇒ (¬↑null(sa)) ∧ (x ∈ s) ∧ ((x = last(sa) ∈ T) ∨ (R x last(sa))))
15. ∀[sa,sb:T List].  (sa = sb ∈ (T List)) supposing (sorted-by(R;sa) and sorted-by(R;sb) and set-equal(T;sa;sb))
16. t : T
17. (t ∈ sa) 
⇐⇒ (¬↑null(sa)) ∧ (t ∈ s) ∧ ((t = last(sa) ∈ T) ∨ (R t last(sa)))
⊢ (t ∈ sb) 
⇐⇒ (t ∈ s) ∧ (R last(sa) t)
Latex:
Latex:
1.  T  :  Type
2.  R  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
3.  sa  :  T  List
4.  s  :  T  List
5.  sb  :  T  List
6.  Irrefl(T;x,y.R  x  y)
7.  AntiSym(T;x,y.R  x  y)
8.  s  =  (sa  @  sb)
9.  sorted-by(R;s)
10.  Trans(T;a,b.R  a  b)
11.  dR  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbB{}
12.  \mforall{}x,y:T.    (\muparrow{}(dR  x  y)  \mLeftarrow{}{}\mRightarrow{}  R  x  y)
13.  \mneg{}\muparrow{}null(sa)
14.  \mforall{}x:T.  ((x  \mmember{}  sa)  \mLeftarrow{}{}\mRightarrow{}  (\mneg{}\muparrow{}null(sa))  \mwedge{}  (x  \mmember{}  s)  \mwedge{}  ((x  =  last(sa))  \mvee{}  (R  x  last(sa))))
15.  \mforall{}[sa,sb:T  List].
            (sa  =  sb)  supposing  (sorted-by(R;sa)  and  sorted-by(R;sb)  and  set-equal(T;sa;sb))
\mvdash{}  set-equal(T;sb;filter(dR  last(sa);s))
By
Latex:
xxx(UnfoldTopAb  0
        THEN  ParallelOp  14
        THEN  ((RWO  "member\_filter"  0  THENM  Reduce  0  THENM  RWO    "12"  0)  THENA  Auto))xxx
Home
Index