Step * 2 2 1 1 1 1 of Lemma do-apply-p-first


1. Type
2. Type
3. A ⟶ (B Top)
4. (A ⟶ (B Top)) List
5. ∀[x:A]. do-apply(p-first(v);x) do-apply(hd(filter(λf.can-apply(f;x);v));x) ∈ supposing ↑can-apply(p-first(v);x)
6. A
7. (↑can-apply(p-first([u]);x)) ∨ (↑can-apply(p-first(v);x))
8. ↑can-apply(p-first([u]);x)
⊢ (↑isl(u x))
 (outl(accumulate (with value and list item f):
          case of inl(z) => inr(z) => x
         over list:
           v
         with starting value:
          x))
   outl(u x)
   ∈ B)
BY
((GenConclAtAddr [1;1;1] THEN -2 THEN Reduce 0) THEN Auto) }

1
1. Type
2. Type
3. A ⟶ (B Top)
4. (A ⟶ (B Top)) List
5. ∀[x:A]. do-apply(p-first(v);x) do-apply(hd(filter(λf.can-apply(f;x);v));x) ∈ supposing ↑can-apply(p-first(v);x)
6. A
7. (↑can-apply(p-first([u]);x)) ∨ (↑can-apply(p-first(v);x))
8. ↑can-apply(p-first([u]);x)
9. x1 B
10. (u x) (inl x1) ∈ (B Top)
11. True
⊢ outl(accumulate (with value and list item f):
        case of inl(z) => inr(z) => x
       over list:
         v
       with starting value:
        inl x1))
x1
∈ B


Latex:


Latex:

1.  A  :  Type
2.  B  :  Type
3.  u  :  A  {}\mrightarrow{}  (B  +  Top)
4.  v  :  (A  {}\mrightarrow{}  (B  +  Top))  List
5.  \mforall{}[x:A]
          do-apply(p-first(v);x)  =  do-apply(hd(filter(\mlambda{}f.can-apply(f;x);v));x) 
          supposing  \muparrow{}can-apply(p-first(v);x)
6.  x  :  A
7.  (\muparrow{}can-apply(p-first([u]);x))  \mvee{}  (\muparrow{}can-apply(p-first(v);x))
8.  \muparrow{}can-apply(p-first([u]);x)
\mvdash{}  (\muparrow{}isl(u  x))
{}\mRightarrow{}  (outl(accumulate  (with  value  v  and  list  item  f):
                    case  v  of  inl(z)  =>  v  |  inr(z)  =>  f  x
                  over  list:
                      v
                  with  starting  value:
                    u  x))
      =  outl(u  x))


By


Latex:
((GenConclAtAddr  [1;1;1]  THEN  D  -2  THEN  Reduce  0)  THEN  Auto)




Home Index