Nuprl Lemma : fpf-join-compatible-right

[A:Type]. ∀[eq:EqDecider(A)]. ∀[B,C,D,E,F,G:A ─→ Type]. ∀[f:a:A fp-> B[a]]. ∀[g:a:A fp-> C[a]]. ∀[h:a:A fp-> D[a]].
  ({(h || f ⊕ g) supposing (h || and || f)}) supposing 
     ((∀a:A. (E[a] ⊆G[a])) and 
     (∀a:A. (F[a] ⊆G[a])) and 
     (∀a:A. (D[a] ⊆F[a])) and 
     (∀a:A. (D[a] ⊆E[a])) and 
     (∀a:A. (C[a] ⊆F[a])) and 
     (∀a:A. (B[a] ⊆E[a])))


Proof




Definitions occuring in Statement :  fpf-join: f ⊕ g fpf-compatible: || g fpf: a:A fp-> B[a] deq: EqDecider(T) uimplies: supposing a subtype_rel: A ⊆B uall: [x:A]. B[x] guard: {T} so_apply: x[s] all: x:A. B[x] function: x:A ─→ B[x] universe: Type
Lemmas :  fpf-join-dom2 assert_wf fpf-dom_wf subtype-fpf2 top_wf subtype_top fpf-join_wf fpf-compatible_wf all_wf subtype_rel_wf fpf_wf deq_wf bool_wf equal_functionality_wrt_subtype_rel2 equal-wf-T-base bnot_wf not_wf eqtt_to_assert uiff_transitivity eqff_to_assert assert_of_bnot
\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[B,C,D,E,F,G:A  {}\mrightarrow{}  Type].  \mforall{}[f:a:A  fp->  B[a]].  \mforall{}[g:a:A  fp->  C[a]].
\mforall{}[h:a:A  fp->  D[a]].
    (\{(h  ||  f  \moplus{}  g)  supposing  (h  ||  g  and  h  ||  f)\})  supposing 
          ((\mforall{}a:A.  (E[a]  \msubseteq{}r  G[a]))  and 
          (\mforall{}a:A.  (F[a]  \msubseteq{}r  G[a]))  and 
          (\mforall{}a:A.  (D[a]  \msubseteq{}r  F[a]))  and 
          (\mforall{}a:A.  (D[a]  \msubseteq{}r  E[a]))  and 
          (\mforall{}a:A.  (C[a]  \msubseteq{}r  F[a]))  and 
          (\mforall{}a:A.  (B[a]  \msubseteq{}r  E[a])))



Date html generated: 2015_07_17-AM-11_12_00
Last ObjectModification: 2015_01_28-AM-07_45_36

Home Index