Step * of Lemma do-apply-p-first

[A,B:Type]. ∀[L:(A ⟶ (B Top)) List]. ∀[x:A].
  do-apply(p-first(L);x) do-apply(hd(filter(λf.can-apply(f;x);L));x) ∈ supposing ↑can-apply(p-first(L);x)
BY
xxxInductionOnListxxx }

1
1. Type
2. Type
⊢ ∀[x:A]. do-apply(p-first([]);x) do-apply(hd(filter(λf.can-apply(f;x);[]));x) ∈ supposing ↑can-apply(p-first([]);x)

2
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)
⊢ ∀[x:A]
    do-apply(p-first([u v]);x) do-apply(hd(filter(λf.can-apply(f;x);[u v]));x) ∈ 
    supposing ↑can-apply(p-first([u v]);x)


Latex:


Latex:
\mforall{}[A,B:Type].  \mforall{}[L:(A  {}\mrightarrow{}  (B  +  Top))  List].  \mforall{}[x:A].
    do-apply(p-first(L);x)  =  do-apply(hd(filter(\mlambda{}f.can-apply(f;x);L));x) 
    supposing  \muparrow{}can-apply(p-first(L);x)


By


Latex:
xxxInductionOnListxxx




Home Index