Step
*
of Lemma
fpf-join-list-ap
∀[A:Type]
  ∀eq:EqDecider(A)
    ∀[B:A ─→ Type]
      ∀L:a:A fp-> B[a] List. ∀x:A.  (∃f∈L. (↑x ∈ dom(f)) ∧ (⊕(L)(x) = f(x) ∈ B[x])) supposing ↑x ∈ dom(⊕(L))
BY
{ (InductionOnList⋅
   THEN RepUR ``fpf-join-list`` 0⋅
   THEN Try (Fold `fpf-join-list` 0)
   THEN Auto
   THEN (RWO "l_exists_cons" 0 THENA Auto)
   THEN (RWO "fpf-join-dom" (-1) THENA Auto)
   THEN (Decide ↑x ∈ dom(u) THENA Auto)) }
1
1. [A] : Type
2. eq : EqDecider(A)@i
3. [B] : A ─→ Type
4. u : a:A fp-> B[a]@i
5. v : a:A fp-> B[a] List@i
6. ∀x:A. (∃f∈v. (↑x ∈ dom(f)) ∧ (⊕(v)(x) = f(x) ∈ B[x])) supposing ↑x ∈ dom(⊕(v))@i
7. x : A@i
8. (↑x ∈ dom(u)) ∨ (↑x ∈ dom(⊕(v)))
9. ↑x ∈ dom(u)
⊢ ((↑x ∈ dom(u)) ∧ (u ⊕ ⊕(v)(x) = u(x) ∈ B[x])) ∨ (∃f∈v. (↑x ∈ dom(f)) ∧ (u ⊕ ⊕(v)(x) = f(x) ∈ B[x]))
2
1. [A] : Type
2. eq : EqDecider(A)@i
3. [B] : A ─→ Type
4. u : a:A fp-> B[a]@i
5. v : a:A fp-> B[a] List@i
6. ∀x:A. (∃f∈v. (↑x ∈ dom(f)) ∧ (⊕(v)(x) = f(x) ∈ B[x])) supposing ↑x ∈ dom(⊕(v))@i
7. x : A@i
8. (↑x ∈ dom(u)) ∨ (↑x ∈ dom(⊕(v)))
9. ¬↑x ∈ dom(u)
⊢ ((↑x ∈ dom(u)) ∧ (u ⊕ ⊕(v)(x) = u(x) ∈ B[x])) ∨ (∃f∈v. (↑x ∈ dom(f)) ∧ (u ⊕ ⊕(v)(x) = f(x) ∈ B[x]))
Latex:
\mforall{}[A:Type]
    \mforall{}eq:EqDecider(A)
        \mforall{}[B:A  {}\mrightarrow{}  Type]
            \mforall{}L:a:A  fp->  B[a]  List.  \mforall{}x:A.
                (\mexists{}f\mmember{}L.  (\muparrow{}x  \mmember{}  dom(f))  \mwedge{}  (\moplus{}(L)(x)  =  f(x)))  supposing  \muparrow{}x  \mmember{}  dom(\moplus{}(L))
By
(InductionOnList\mcdot{}
  THEN  RepUR  ``fpf-join-list``  0\mcdot{}
  THEN  Try  (Fold  `fpf-join-list`  0)
  THEN  Auto
  THEN  (RWO  "l\_exists\_cons"  0  THENA  Auto)
  THEN  (RWO  "fpf-join-dom"  (-1)  THENA  Auto)
  THEN  (Decide  \muparrow{}x  \mmember{}  dom(u)  THENA  Auto))
Home
Index