Step * of Lemma fpf-join_wf

[A:Type]. ∀[B:A ⟶ Type]. ∀[f,g:a:A fp-> B[a]]. ∀[eq:EqDecider(A)].  (f ⊕ g ∈ a:A fp-> B[a])
BY
(Unfolds ``fpf fpf-join`` 0
   THEN Auto
   THEN Try ((Unfold `fpf-dom` THEN Auto))
   THEN (All (\i. (Fold `fpf` THEN Complete (Auto))))⋅
   THEN (AssertBY ⌜f ∈ a:A fp-> B[a]⌝ (All (\i. (Fold `fpf` THEN Complete (Auto)))))⋅
   THEN (AssertBY ⌜g ∈ a:A fp-> B[a]⌝ (All (\i. (Fold `fpf` THEN Complete (Auto)))))⋅}

1
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]


Latex:


Latex:
\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[f,g:a:A  fp->  B[a]].  \mforall{}[eq:EqDecider(A)].    (f  \moplus{}  g  \mmember{}  a:A  fp->  B[a])


By


Latex:
(Unfolds  ``fpf  fpf-join``  0
  THEN  Auto
  THEN  Try  ((Unfold  `fpf-dom`  0  THEN  Auto))
  THEN  (All  (\mbackslash{}i.  (Fold  `fpf`  i  THEN  Complete  (Auto))))\mcdot{}
  THEN  (AssertBY  \mkleeneopen{}f  \mmember{}  a:A  fp->  B[a]\mkleeneclose{}  (All  (\mbackslash{}i.  (Fold  `fpf`  i  THEN  Complete  (Auto)))))\mcdot{}
  THEN  (AssertBY  \mkleeneopen{}g  \mmember{}  a:A  fp->  B[a]\mkleeneclose{}  (All  (\mbackslash{}i.  (Fold  `fpf`  i  THEN  Complete  (Auto)))))\mcdot{})




Home Index