Step * of Lemma fpf-join-assoc

[A:Type]. ∀[B:A ─→ Type]. ∀[eq:EqDecider(A)]. ∀[f,g,h:a:A fp-> B[a]].  (f ⊕ g ⊕ f ⊕ g ⊕ h ∈ a:A fp-> B[a])
BY
(Repeat (Unfolds ``fpf fpf-join fpf-cap fpf-ap fpf-dom`` 0)
   THEN Auto
   THEN DVar `f'
   THEN DVar `g'
   THEN DVar `h'
   THEN All Reduce
   THEN EqCD
   THEN Auto) }

1
.....subterm..... T:t
1:n
1. Type
2. A ─→ Type
3. eq EqDecider(A)
4. List
5. f1 a:{a:A| (a ∈ d)}  ─→ B[a]
6. d1 List
7. g1 a:{a:A| (a ∈ d1)}  ─→ B[a]
8. d2 List
9. h1 a:{a:A| (a ∈ d2)}  ─→ B[a]
⊢ (d filter(λa.(¬ba ∈b d));d1 filter(λa.(¬ba ∈b d1));d2)))
((d filter(λa.(¬ba ∈b d));d1)) filter(λa.(¬ba ∈b filter(λa.(¬ba ∈b d));d1)));d2))
∈ (A List)

2
.....subterm..... T:t
2:n
1. Type
2. A ─→ Type
3. eq EqDecider(A)
4. List
5. f1 a:{a:A| (a ∈ d)}  ─→ B[a]
6. d1 List
7. g1 a:{a:A| (a ∈ d1)}  ─→ B[a]
8. d2 List
9. h1 a:{a:A| (a ∈ d2)}  ─→ B[a]
⊢ a.if a ∈b d) then f1 a
      if a ∈b d1) then g1 a
      else h1 a
      fi )
a.if a ∈b filter(λa.(¬ba ∈b d));d1)) then if a ∈b d) then f1 else g1 fi  else h1 fi )
∈ (a:{a:A| (a ∈ filter(λa.(¬ba ∈b d));d1 filter(λa.(¬ba ∈b d1));d2)))}  ─→ B[a])


Latex:


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


By

(Repeat  (Unfolds  ``fpf  fpf-join  fpf-cap  fpf-ap  fpf-dom``  0)
  THEN  Auto
  THEN  DVar  `f'
  THEN  DVar  `g'
  THEN  DVar  `h'
  THEN  All  Reduce
  THEN  EqCD
  THEN  Auto)




Home Index