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


1. Type
2. Type
3. (A ⟶ (B Top)) List
4. A
5. (∀f,g∈L.  p-disjoint(A;f;g))
6. A ⟶ (B Top)
7. (f ∈ L)
8. ↑can-apply(f;x)
⊢ do-apply(hd(filter(λf.can-apply(f;x);L));x) do-apply(f;x) ∈ B
BY
xxxAssert ⌜hd(filter(λf.can-apply(f;x);L)) f ∈ (A ⟶ (B Top))⌝⋅xxx }

1
.....assertion..... 
1. Type
2. Type
3. (A ⟶ (B Top)) List
4. A
5. (∀f,g∈L.  p-disjoint(A;f;g))
6. A ⟶ (B Top)
7. (f ∈ L)
8. ↑can-apply(f;x)
⊢ hd(filter(λf.can-apply(f;x);L)) f ∈ (A ⟶ (B Top))

2
1. Type
2. Type
3. (A ⟶ (B Top)) List
4. A
5. (∀f,g∈L.  p-disjoint(A;f;g))
6. A ⟶ (B Top)
7. (f ∈ L)
8. ↑can-apply(f;x)
9. hd(filter(λf.can-apply(f;x);L)) f ∈ (A ⟶ (B Top))
⊢ do-apply(hd(filter(λf.can-apply(f;x);L));x) do-apply(f;x) ∈ B


Latex:


Latex:

1.  A  :  Type
2.  B  :  Type
3.  L  :  (A  {}\mrightarrow{}  (B  +  Top))  List
4.  x  :  A
5.  (\mforall{}f,g\mmember{}L.    p-disjoint(A;f;g))
6.  f  :  A  {}\mrightarrow{}  (B  +  Top)
7.  (f  \mmember{}  L)
8.  \muparrow{}can-apply(f;x)
\mvdash{}  do-apply(hd(filter(\mlambda{}f.can-apply(f;x);L));x)  =  do-apply(f;x)


By


Latex:
xxxAssert  \mkleeneopen{}hd(filter(\mlambda{}f.can-apply(f;x);L))  =  f\mkleeneclose{}\mcdot{}xxx




Home Index