Step * of Lemma fset-to-list

[T:Type]
  ∀eq:EqDecider(T)
    ∀[R:T ⟶ T ⟶ ℙ]
      ((∀a,b:T.  Dec(R b))  Linorder(T;a,b.R b)  (∀s:fset(T). ∃L:T List. ∀x:T. (x ∈ ⇐⇒ (x ∈ L))))
BY
(Auto
   THEN (InstLemma `sorted-by-exists2` [⌜T⌝;⌜R⌝]⋅
         THENA (Auto THEN (InstLemma `deq_property` [⌜T⌝;⌜eq⌝]⋅ THENA Auto) THEN RWO  "-1" THEN Auto)
         )
   THEN Skolemize (-1) `sort'
   THEN Auto) }

1
1. [T] Type
2. eq EqDecider(T)
3. [R] T ⟶ T ⟶ ℙ
4. ∀a,b:T.  Dec(R b)
5. Linorder(T;a,b.R b)
6. fset(T)
7. ∀L:T List. ∃L':T List. (sorted-by(R;L') ∧ no_repeats(T;L') ∧ L ⊆ L' ∧ L' ⊆ L)
8. sort L:(T List) ⟶ (T List)
9. ∀L:T List. (sorted-by(R;sort L) ∧ no_repeats(T;sort L) ∧ L ⊆ sort L ∧ sort L ⊆ L)
⊢ ∃L:T List. ∀x:T. (x ∈ ⇐⇒ (x ∈ L))


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}eq:EqDecider(T)
        \mforall{}[R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}]
            ((\mforall{}a,b:T.    Dec(R  a  b))
            {}\mRightarrow{}  Linorder(T;a,b.R  a  b)
            {}\mRightarrow{}  (\mforall{}s:fset(T).  \mexists{}L:T  List.  \mforall{}x:T.  (x  \mmember{}  s  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L))))


By


Latex:
(Auto
  THEN  (InstLemma  `sorted-by-exists2`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}R\mkleeneclose{}]\mcdot{}
              THENA  (Auto
                            THEN  (InstLemma  `deq\_property`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{}]\mcdot{}  THENA  Auto)
                            THEN  RWO    "-1"  0
                            THEN  Auto)
              )
  THEN  Skolemize  (-1)  `sort'
  THEN  Auto)




Home Index