Step
*
2
of Lemma
sorted-by-exists2
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)
BY
{ (ExRepD THEN ((InstLemma `sorted-by-exists` [⌜T⌝; ⌜eq⌝; ⌜r⌝; ⌜L⌝])⋅ THENA Auto)) }
1
.....antecedent..... 
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 : T ⟶ T ⟶ 𝔹
8. r : T ⟶ T ⟶ 𝔹
9. ∀a,b:T.  (↑(eq a b) 
⇐⇒ a = b ∈ T)
10. ∀a,b:T.  (↑(r a b) 
⇐⇒ R a b)
⊢ Linorder(T;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 : T ⟶ T ⟶ 𝔹
8. r : T ⟶ T ⟶ 𝔹
9. ∀a,b:T.  (↑(eq a b) 
⇐⇒ a = b ∈ T)
10. ∀a,b:T.  (↑(r a b) 
⇐⇒ R a b)
11. ∃L':T List. (sorted-by(λx,y. (↑(r x y));L') ∧ no_repeats(T;L') ∧ L ⊆ L' ∧ L' ⊆ L)
⊢ ∃L':T List. (sorted-by(R;L') ∧ no_repeats(T;L') ∧ L ⊆ L' ∧ L' ⊆ L)
Latex:
Latex:
1.  [T]  :  Type
2.  [R]  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
3.  \mforall{}a,b:T.    Dec(a  =  b)
4.  \mforall{}a,b:T.    Dec(R  a  b)
5.  Linorder(T;a,b.R  a  b)
6.  L  :  T  List
7.  \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)))
\mvdash{}  \mexists{}L':T  List.  (sorted-by(R;L')  \mwedge{}  no\_repeats(T;L')  \mwedge{}  L  \msubseteq{}  L'  \mwedge{}  L'  \msubseteq{}  L)
By
Latex:
(ExRepD  THEN  ((InstLemma  `sorted-by-exists`  [\mkleeneopen{}T\mkleeneclose{};  \mkleeneopen{}eq\mkleeneclose{};  \mkleeneopen{}r\mkleeneclose{};  \mkleeneopen{}L\mkleeneclose{}])\mcdot{}  THENA  Auto))
Home
Index