Step
*
2
1
1
of Lemma
split_rel_last
1. [A] : Type
2. r : A ⟶ A ⟶ 𝔹
3. u : A
4. v : A List
5. ∀a:A. (↑r[a;a])
6. ∃L1,L2:A List
    (((v = (L1 @ L2) ∈ (A List)) ∧ (¬↑null(L2)) ∧ (∀b∈L2.↑r[b;last(v)])) ∧ ¬↑r[last(L1);last(v)] supposing ¬↑null(L1)) 
   supposing ¬↑null(v)
7. ↑null(v)
8. ¬↑null([u / v])
⊢ ∃L1,L2:A List
   ((([u / v] = (L1 @ L2) ∈ (A List)) ∧ (¬↑null(L2)) ∧ (∀b∈L2.↑r[b;last([u / v])]))
   ∧ ¬↑r[last(L1);last([u / v])] supposing ¬↑null(L1))
BY
{ TACTIC:(DVar `v' THEN All Reduce THEN Auto) }
1
1. [A] : Type
2. r : A ⟶ A ⟶ 𝔹
3. u : A
4. ∀a:A. (↑r[a;a])
5. ∃L1,L2:A List
    ((([] = (L1 @ L2) ∈ (A List)) ∧ (¬↑null(L2)) ∧ (∀b∈L2.↑r[b;last([])]))
    ∧ ¬↑r[last(L1);last([])] supposing ¬↑null(L1)) 
   supposing ¬True
6. True
7. ¬False
⊢ ∃L1,L2:A List
   ((([u] = (L1 @ L2) ∈ (A List)) ∧ (¬↑null(L2)) ∧ (∀b∈L2.↑r[b;last([u])]))
   ∧ ¬↑r[last(L1);last([u])] supposing ¬↑null(L1))
Latex:
Latex:
1.  [A]  :  Type
2.  r  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbB{}
3.  u  :  A
4.  v  :  A  List
5.  \mforall{}a:A.  (\muparrow{}r[a;a])
6.  \mexists{}L1,L2:A  List
        (((v  =  (L1  @  L2))  \mwedge{}  (\mneg{}\muparrow{}null(L2))  \mwedge{}  (\mforall{}b\mmember{}L2.\muparrow{}r[b;last(v)]))
        \mwedge{}  \mneg{}\muparrow{}r[last(L1);last(v)]  supposing  \mneg{}\muparrow{}null(L1)) 
      supposing  \mneg{}\muparrow{}null(v)
7.  \muparrow{}null(v)
8.  \mneg{}\muparrow{}null([u  /  v])
\mvdash{}  \mexists{}L1,L2:A  List
      ((([u  /  v]  =  (L1  @  L2))  \mwedge{}  (\mneg{}\muparrow{}null(L2))  \mwedge{}  (\mforall{}b\mmember{}L2.\muparrow{}r[b;last([u  /  v])]))
      \mwedge{}  \mneg{}\muparrow{}r[last(L1);last([u  /  v])]  supposing  \mneg{}\muparrow{}null(L1))
By
Latex:
TACTIC:(DVar  `v'  THEN  All  Reduce  THEN  Auto)
Home
Index