Step * 1 of Lemma fpf-join_wf


1. Type
2. A ⟶ Type
3. d:A List × (a:{a:A| (a ∈ d)}  ⟶ B[a])
4. 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@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]
⊢ f(a)?g(a) ∈ B[a]
BY
((Unfold `fpf-cap` THEN SplitOnConclITE) THENA Auto) }

1
.....truecase..... 
1. Type
2. A ⟶ Type
3. d:A List × (a:{a:A| (a ∈ d)}  ⟶ B[a])
4. 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@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)
⊢ f(a) ∈ B[a]

2
.....falsecase..... 
1. Type
2. A ⟶ Type
3. d:A List × (a:{a:A| (a ∈ d)}  ⟶ B[a])
4. 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@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]


Latex:


Latex:

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]
\mvdash{}  f(a)?g(a)  \mmember{}  B[a]


By


Latex:
((Unfold  `fpf-cap`  0  THEN  SplitOnConclITE)  THENA  Auto)




Home Index