Step * 2 of Lemma decidable-filter


1. ∀[T:Type]
     ∀L:T List. ∀[P:T ⟶ ℙ]. ((∀x∈L.Dec(P[x]))  (∃L':T List. (L' ⊆ L ∧ (∀x:T. ((x ∈ L') ⇐⇒ (x ∈ L) ∧ P[x])))))
⊢ ∀[T:Type]
    ∀L:T List
      ∀[P:{x:T| (x ∈ L)}  ⟶ ℙ]. ((∀x∈L.Dec(P[x]))  (∃L':T List. (L' ⊆ L ∧ (∀x:T. ((x ∈ L') ⇐⇒ (x ∈ L) ∧ P[x])))))
BY
(Auto THEN (InstHyp [⌜{x:T| (x ∈ L)} ⌝;⌜L⌝;⌜P⌝1⋅ THENA Auto) THEN RepeatFor (ParallelLast)) }

1
1. ∀[T:Type]
     ∀L:T List. ∀[P:T ⟶ ℙ]. ((∀x∈L.Dec(P[x]))  (∃L':T List. (L' ⊆ L ∧ (∀x:T. ((x ∈ L') ⇐⇒ (x ∈ L) ∧ P[x])))))
2. [T] Type
3. List
4. [P] {x:T| (x ∈ L)}  ⟶ ℙ
5. (∀x∈L.Dec(P[x]))
6. L' {x:T| (x ∈ L)}  List
7. ∀x:{x:T| (x ∈ L)} ((x ∈ L') ⇐⇒ (x ∈ L) ∧ P[x])
8. L' ⊆ L
⊢ L' ⊆ L

2
1. ∀[T:Type]
     ∀L:T List. ∀[P:T ⟶ ℙ]. ((∀x∈L.Dec(P[x]))  (∃L':T List. (L' ⊆ L ∧ (∀x:T. ((x ∈ L') ⇐⇒ (x ∈ L) ∧ P[x])))))
2. [T] Type
3. List
4. [P] {x:T| (x ∈ L)}  ⟶ ℙ
5. (∀x∈L.Dec(P[x]))
6. L' {x:T| (x ∈ L)}  List
7. L' ⊆ L
8. ∀x:{x:T| (x ∈ L)} ((x ∈ L') ⇐⇒ (x ∈ L) ∧ P[x])
⊢ ∀x:T. ((x ∈ L') ⇐⇒ (x ∈ L) ∧ P[x])


Latex:


Latex:

1.  \mforall{}[T:Type]
          \mforall{}L:T  List
              \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}]
                  ((\mforall{}x\mmember{}L.Dec(P[x]))  {}\mRightarrow{}  (\mexists{}L':T  List.  (L'  \msubseteq{}  L  \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L')  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L)  \mwedge{}  P[x])))))
\mvdash{}  \mforall{}[T:Type]
        \mforall{}L:T  List
            \mforall{}[P:\{x:T|  (x  \mmember{}  L)\}    {}\mrightarrow{}  \mBbbP{}]
                ((\mforall{}x\mmember{}L.Dec(P[x]))  {}\mRightarrow{}  (\mexists{}L':T  List.  (L'  \msubseteq{}  L  \mwedge{}  (\mforall{}x:T.  ((x  \mmember{}  L')  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L)  \mwedge{}  P[x])))))


By


Latex:
(Auto  THEN  (InstHyp  [\mkleeneopen{}\{x:T|  (x  \mmember{}  L)\}  \mkleeneclose{};\mkleeneopen{}L\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{}]  1\mcdot{}  THENA  Auto)  THEN  RepeatFor  2  (ParallelLast))




Home Index