Nuprl Lemma : fpf-join-compatible-left

[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]].
  ({(f ⊕ || h) supposing (g || and || h)}) 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 fpf-join_wf top_wf subtype-fpf2 subtype_top 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]].
    (\{(f  \moplus{}  g  ||  h)  supposing  (g  ||  h  and  f  ||  h)\})  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_11_57
Last ObjectModification: 2015_01_28-AM-07_46_08

Home Index