Step * 2 of Lemma assert-exists_sublist


1. [T] Type
2. T
3. 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 THENA Auto)
   THEN (RWO "-1" THENA Auto)
   THEN Reduce 0
   THEN Auto
   THEN SplitOrHyps
   THEN ExRepD) }

1
1. [T] Type
2. T
3. List
4. ∀P:(T List) ⟶ 𝔹(↑exists_sublist(v;P) ⇐⇒ ∃LL:T List. (LL ⊆ v ∧ (↑(P LL))))
5. (T List) ⟶ 𝔹
6. LL List
7. LL ⊆ v
8. ↑(P LL)
⊢ ∃LL:T List. (LL ⊆ [u v] ∧ (↑(P LL)))

2
1. [T] Type
2. T
3. List
4. ∀P:(T List) ⟶ 𝔹(↑exists_sublist(v;P) ⇐⇒ ∃LL:T List. (LL ⊆ v ∧ (↑(P LL))))
5. (T List) ⟶ 𝔹
6. LL List
7. LL ⊆ v
8. ↑(P [u LL])
⊢ ∃LL:T List. (LL ⊆ [u v] ∧ (↑(P LL)))

3
1. [T] Type
2. T
3. List
4. ∀P:(T List) ⟶ 𝔹(↑exists_sublist(v;P) ⇐⇒ ∃LL:T List. (LL ⊆ v ∧ (↑(P LL))))
5. (T List) ⟶ 𝔹
6. LL 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