Step
*
of Lemma
sorted-by-exists2
∀[T:Type]. ∀[R:T ⟶ T ⟶ ℙ].
  ((∀a,b:T.  Dec(a = b ∈ T))
  
⇒ (∀a,b:T.  Dec(R a b))
  
⇒ Linorder(T;a,b.R a b)
  
⇒ (∀L:T List. ∃L':T List. (sorted-by(R;L') ∧ no_repeats(T;L') ∧ L ⊆ L' ∧ L' ⊆ L)))
BY
{ (Auto THEN Assert ⌜∃eq,r:T ⟶ T ⟶ 𝔹. ((∀a,b:T.  (↑(eq a b) 
⇐⇒ a = b ∈ T)) ∧ (∀a,b:T.  (↑(r a b) 
⇐⇒ R a b)))⌝⋅) }
1
.....assertion..... 
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. ∀a,b:T.  Dec(a = b ∈ T)
4. ∀a,b:T.  Dec(R a b)
5. Linorder(T;a,b.R a b)
6. L : T List
⊢ ∃eq,r:T ⟶ T ⟶ 𝔹. ((∀a,b:T.  (↑(eq a b) 
⇐⇒ a = b ∈ T)) ∧ (∀a,b:T.  (↑(r a b) 
⇐⇒ R a b)))
2
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. ∀a,b:T.  Dec(a = b ∈ T)
4. ∀a,b:T.  Dec(R a b)
5. Linorder(T;a,b.R a b)
6. L : T List
7. ∃eq,r:T ⟶ T ⟶ 𝔹. ((∀a,b:T.  (↑(eq a b) 
⇐⇒ a = b ∈ T)) ∧ (∀a,b:T.  (↑(r a b) 
⇐⇒ R a b)))
⊢ ∃L':T List. (sorted-by(R;L') ∧ no_repeats(T;L') ∧ L ⊆ L' ∧ L' ⊆ L)
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}a,b:T.    Dec(a  =  b))
    {}\mRightarrow{}  (\mforall{}a,b:T.    Dec(R  a  b))
    {}\mRightarrow{}  Linorder(T;a,b.R  a  b)
    {}\mRightarrow{}  (\mforall{}L:T  List.  \mexists{}L':T  List.  (sorted-by(R;L')  \mwedge{}  no\_repeats(T;L')  \mwedge{}  L  \msubseteq{}  L'  \mwedge{}  L'  \msubseteq{}  L)))
By
Latex:
(Auto
  THEN  Assert  \mkleeneopen{}\mexists{}eq,r:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbB{}
                              ((\mforall{}a,b:T.    (\muparrow{}(eq  a  b)  \mLeftarrow{}{}\mRightarrow{}  a  =  b))  \mwedge{}  (\mforall{}a,b:T.    (\muparrow{}(r  a  b)  \mLeftarrow{}{}\mRightarrow{}  R  a  b)))\mkleeneclose{}\mcdot{}
  )
Home
Index