Step
*
1
2
of Lemma
fpf-join_wf
.....falsecase..... 
1. A : Type
2. B : A ─→ Type
3. f : d:A List × (a:{a:A| (a ∈ d)}  ─→ B[a])
4. g : d:A List × (a:{a:A| (a ∈ d)}  ─→ B[a])
5. eq : EqDecider(A)
6. ∀a:A. ((a ∈ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g))) ∈ Type)
7. a : A@i
8. (a ∈ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g)))@i
9. f ∈ a:A fp-> B[a]
10. g ∈ a:A fp-> B[a]
11. ¬↑a ∈ dom(f)
⊢ g(a) ∈ B[a]
BY
{ Assert ⌈↑a ∈ dom(g)⌉⋅ }
1
.....assertion..... 
1. A : Type
2. B : A ─→ Type
3. f : d:A List × (a:{a:A| (a ∈ d)}  ─→ B[a])
4. g : d:A List × (a:{a:A| (a ∈ d)}  ─→ B[a])
5. eq : EqDecider(A)
6. ∀a:A. ((a ∈ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g))) ∈ Type)
7. a : A@i
8. (a ∈ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g)))@i
9. f ∈ a:A fp-> B[a]
10. g ∈ a:A fp-> B[a]
11. ¬↑a ∈ dom(f)
⊢ ↑a ∈ dom(g)
2
1. A : Type
2. B : A ─→ Type
3. f : d:A List × (a:{a:A| (a ∈ d)}  ─→ B[a])
4. g : d:A List × (a:{a:A| (a ∈ d)}  ─→ B[a])
5. eq : EqDecider(A)
6. ∀a:A. ((a ∈ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g))) ∈ Type)
7. a : A@i
8. (a ∈ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g)))@i
9. f ∈ a:A fp-> B[a]
10. g ∈ a:A fp-> B[a]
11. ¬↑a ∈ dom(f)
12. ↑a ∈ dom(g)
⊢ g(a) ∈ B[a]
Latex:
.....falsecase..... 
1.  A  :  Type
2.  B  :  A  {}\mrightarrow{}  Type
3.  f  :  d:A  List  \mtimes{}  (a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B[a])
4.  g  :  d:A  List  \mtimes{}  (a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B[a])
5.  eq  :  EqDecider(A)
6.  \mforall{}a:A.  ((a  \mmember{}  (fst(f))  @  filter(\mlambda{}a.(\mneg{}\msubb{}a  \mmember{}  dom(f));fst(g)))  \mmember{}  Type)
7.  a  :  A@i
8.  (a  \mmember{}  (fst(f))  @  filter(\mlambda{}a.(\mneg{}\msubb{}a  \mmember{}  dom(f));fst(g)))@i
9.  f  \mmember{}  a:A  fp->  B[a]
10.  g  \mmember{}  a:A  fp->  B[a]
11.  \mneg{}\muparrow{}a  \mmember{}  dom(f)
\mvdash{}  g(a)  \mmember{}  B[a]
By
Assert  \mkleeneopen{}\muparrow{}a  \mmember{}  dom(g)\mkleeneclose{}\mcdot{}
Home
Index