Step * 2 2 2 1 2 2 2 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(v);x)
8. ¬↑can-apply(p-first([u]);x)
9. ¬↑can-apply(u;x)
10. do-apply(p-first(v);x) do-apply(hd(filter(λf.can-apply(f;x);v));x) ∈ B
11. B
⊢ ↑can-apply(p-first([u] v);x)
BY
((RWO "p-first-append" THENA Auto)
   THEN (RWO "p-conditional-to-p-first<THENA Auto)
   THEN (RWO "p-conditional-domain" THENA Auto)
   THEN OrRight
   THEN Auto)⋅ }


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(v);x)
8.  \mneg{}\muparrow{}can-apply(p-first([u]);x)
9.  \mneg{}\muparrow{}can-apply(u;x)
10.  do-apply(p-first(v);x)  =  do-apply(hd(filter(\mlambda{}f.can-apply(f;x);v));x)
11.  z  :  B
\mvdash{}  \muparrow{}can-apply(p-first([u]  @  v);x)


By


Latex:
((RWO  "p-first-append"  0  THENA  Auto)
  THEN  (RWO  "p-conditional-to-p-first<"  0  THENA  Auto)
  THEN  (RWO  "p-conditional-domain"  0  THENA  Auto)
  THEN  OrRight
  THEN  Auto)\mcdot{}




Home Index