Step
*
2
of Lemma
assert-exists_sublist
1. [T] : Type
2. u : T
3. v : T List
4. ∀P:(T List) ⟶ 𝔹. (↑exists_sublist(v;P) 
⇐⇒ ∃LL:T List. (LL ⊆ v ∧ (↑(P LL))))
⊢ ∀P:(T List) ⟶ 𝔹
    (↑(exists_sublist(v;P) ∨bexists_sublist(v;λl.(P [u / l]))) 
⇐⇒ ∃LL:T List. (LL ⊆ [u / v] ∧ (↑(P LL))))
BY
{ ((RW  assert_pushdownC 0 THENA Auto)
   THEN (RWO "-1" 0 THENA Auto)
   THEN Reduce 0
   THEN Auto
   THEN SplitOrHyps
   THEN ExRepD) }
1
1. [T] : Type
2. u : T
3. v : T List
4. ∀P:(T List) ⟶ 𝔹. (↑exists_sublist(v;P) 
⇐⇒ ∃LL:T List. (LL ⊆ v ∧ (↑(P LL))))
5. P : (T List) ⟶ 𝔹
6. LL : T List
7. LL ⊆ v
8. ↑(P LL)
⊢ ∃LL:T List. (LL ⊆ [u / v] ∧ (↑(P LL)))
2
1. [T] : Type
2. u : T
3. v : T List
4. ∀P:(T List) ⟶ 𝔹. (↑exists_sublist(v;P) 
⇐⇒ ∃LL:T List. (LL ⊆ v ∧ (↑(P LL))))
5. P : (T List) ⟶ 𝔹
6. LL : T List
7. LL ⊆ v
8. ↑(P [u / LL])
⊢ ∃LL:T List. (LL ⊆ [u / v] ∧ (↑(P LL)))
3
1. [T] : Type
2. u : T
3. v : T List
4. ∀P:(T List) ⟶ 𝔹. (↑exists_sublist(v;P) 
⇐⇒ ∃LL:T List. (LL ⊆ v ∧ (↑(P LL))))
5. P : (T List) ⟶ 𝔹
6. LL : T List
7. LL ⊆ [u / v]
8. ↑(P LL)
⊢ (∃LL:T List. (LL ⊆ v ∧ (↑(P LL)))) ∨ (∃LL:T List. (LL ⊆ v ∧ (↑(P [u / LL]))))
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}P:(T  List)  {}\mrightarrow{}  \mBbbB{}.  (\muparrow{}exists\_sublist(v;P)  \mLeftarrow{}{}\mRightarrow{}  \mexists{}LL:T  List.  (LL  \msubseteq{}  v  \mwedge{}  (\muparrow{}(P  LL))))
\mvdash{}  \mforall{}P:(T  List)  {}\mrightarrow{}  \mBbbB{}
        (\muparrow{}(exists\_sublist(v;P)  \mvee{}\msubb{}exists\_sublist(v;\mlambda{}l.(P  [u  /  l])))
        \mLeftarrow{}{}\mRightarrow{}  \mexists{}LL:T  List.  (LL  \msubseteq{}  [u  /  v]  \mwedge{}  (\muparrow{}(P  LL))))
By
Latex:
((RW    assert\_pushdownC  0  THENA  Auto)
  THEN  (RWO  "-1"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  Auto
  THEN  SplitOrHyps
  THEN  ExRepD)
Home
Index