Step
*
1
of Lemma
fpf-join-range
1. A : Type
2. eq : EqDecider(A)
3. df : x:A fp-> Type
4. f : x:A fp-> df(x)?Top
5. dg : x:A fp-> Type
6. g : x:A fp-> dg(x)?Top
7. df || dg
8. ∀x:A. ((↑x ∈ dom(f)) 
⇒ (↑x ∈ dom(df)))
9. ∀x:A. ((↑x ∈ dom(g)) 
⇒ (↑x ∈ dom(dg)))
⊢ f ⊕ g ∈ x:A fp-> df ⊕ dg(x)?Top
BY
{ ((RW (AddrC [2] (UnfoldC `fpf-join`)) 0) THEN Unfold `fpf` 0 THEN MemCD) }
1
.....subterm..... T:t
1:n
1. A : Type
2. eq : EqDecider(A)
3. df : x:A fp-> Type
4. f : x:A fp-> df(x)?Top
5. dg : x:A fp-> Type
6. g : x:A fp-> dg(x)?Top
7. df || dg
8. ∀x:A. ((↑x ∈ dom(f)) 
⇒ (↑x ∈ dom(df)))
9. ∀x:A. ((↑x ∈ dom(g)) 
⇒ (↑x ∈ dom(dg)))
⊢ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g)) ∈ A List
2
.....subterm..... T:t
2:n
1. A : Type
2. eq : EqDecider(A)
3. df : x:A fp-> Type
4. f : x:A fp-> df(x)?Top
5. dg : x:A fp-> Type
6. g : x:A fp-> dg(x)?Top
7. df || dg
8. ∀x:A. ((↑x ∈ dom(f)) 
⇒ (↑x ∈ dom(df)))
9. ∀x:A. ((↑x ∈ dom(g)) 
⇒ (↑x ∈ dom(dg)))
⊢ λa.f(a)?g(a) ∈ x:{x:A| (x ∈ (fst(f)) @ filter(λa.(¬ba ∈ dom(f));fst(g)))}  ─→ df ⊕ dg(x)?Top
3
.....eq aux..... 
1. A : Type
2. eq : EqDecider(A)
3. df : x:A fp-> Type
4. f : x:A fp-> df(x)?Top
5. dg : x:A fp-> Type
6. g : x:A fp-> dg(x)?Top
7. df || dg
8. ∀x:A. ((↑x ∈ dom(f)) 
⇒ (↑x ∈ dom(df)))
9. ∀x:A. ((↑x ∈ dom(g)) 
⇒ (↑x ∈ dom(dg)))
10. d : A List
⊢ x:{x:A| (x ∈ d)}  ─→ df ⊕ dg(x)?Top ∈ Type
Latex:
1.  A  :  Type
2.  eq  :  EqDecider(A)
3.  df  :  x:A  fp->  Type
4.  f  :  x:A  fp->  df(x)?Top
5.  dg  :  x:A  fp->  Type
6.  g  :  x:A  fp->  dg(x)?Top
7.  df  ||  dg
8.  \mforall{}x:A.  ((\muparrow{}x  \mmember{}  dom(f))  {}\mRightarrow{}  (\muparrow{}x  \mmember{}  dom(df)))
9.  \mforall{}x:A.  ((\muparrow{}x  \mmember{}  dom(g))  {}\mRightarrow{}  (\muparrow{}x  \mmember{}  dom(dg)))
\mvdash{}  f  \moplus{}  g  \mmember{}  x:A  fp->  df  \moplus{}  dg(x)?Top
By
((RW  (AddrC  [2]  (UnfoldC  `fpf-join`))  0)  THEN  Unfold  `fpf`  0  THEN  MemCD)
Home
Index